Please describe the problem.

On Windows only the git annex repair command reports an error.

What steps will reproduce the problem?

Following are the minimum steps to reproduce the problem. The problem occurs with any number of files in the repository. The --force option does not correct the problem. The problem does not occur on Linux or macOS.

mkdir repair-ambiguous-argument-bug
pushd repair-ambiguous-argument-bug
git init
git annex init
git annex repair
popd

What version of git-annex are you using? On what operating system?

git-annex version: 10.20230330-g98a3ba0ea5

git version 2.40.0.windows.1

Microsoft Windows [Version 10.0.19045.2846]

Please provide any additional information below.

# If you can, paste a complete transcript of the problem occurring here.
# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log

repair Running git fsck ...
Fsck found no problems. Checking for broken branches.
fatal: ambiguous argument 'refs\heads\master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\heads\git-annex': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\heads\adjusted\master(unlocked)': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\basis\adjusted\master(unlocked)': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Found problems, attempting repair.
fatal: ambiguous argument 'refs\heads\master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\heads\git-annex': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\heads\adjusted\master(unlocked)': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
fatal: ambiguous argument 'refs\basis\adjusted\master(unlocked)': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Some git branches refer to missing objects:
        refs\heads\master
        refs\heads\git-annex
        refs\heads\adjusted\master(unlocked)
        refs\basis\adjusted\master(unlocked)
To force a recovery to a usable state, retry with the --force parameter.
failed
repair: 1 failed

# End of transcript or log.

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

Yes. I am developing the easy-git-annex API for git-annex.

Should be fixed now... It was reading the contents of the refs/ directory recursively, and treating those names as refs, which is wrong on Windows due to path separator being different. --Joey