Skip to content

ls-file-collection annexworktree: iterable did not yield matching item for route-in item #670

@mih

Description

@mih

Reproduce by running:

❯ datalad ls-file-collection annexworktree .
[ERROR  ] iterable did not yield matching item for route-in item, cardinality mismatch? 

on any non-annex repo. Arguable this makes not much sense, but it is nice to not have to perform repo-type checking upfront. Also, the error message does not say "not supported", but something complicated/unrelated instead.

From @mih on Matrix:

[This is ] an issue in the iterator implementations. We did not foresee that a command fails entirely. in this case, we are running git annex find via iter_git_subproc, which fails with git-annex: First run: git-annex init. This in turn leads to a strange routing error, because the underlying error is not caught. [...]

I think the easiest from the perspective of the implementation of a fix would be to run something like git annex info --fast -q upfront, and if that fails, just yield the underlying generator.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions