Notice that the problem is due to the fact that the remote name has spaces. I have only tested it with adb special remote, but since it is a git
error It will likely happen with any remote.
Sorry I you don't consider this a bug or if it is documented somewhere and I haven't read it.
Please describe the problem.
following Android sync tip, It fails with
update refs/remotes/Redmi Note 8/master fatal: update_ref failed for ref'refs/remotes/Redmi Note 8/master': refuse to update ref with bad name 'refs/remotes/Redmi Note 8/master'
git-annex: git [Param "update-ref",Param "refs/remotes/Redmi Note 8/master",Param "389056e22b21972da562d1f1c5ce7af2447523b7"] failed
CallStack (from HasCallStack):
error, called at ./Git/Command.hs:42:17 in main:Git.Command
failed
The error happens after executing git annex sync --content "Redmi Note 8"
and pulling all files.
What steps will reproduce the problem?
Once you have conected to an adb special remote (probably any remote can trigger the error) run the following
# |- Notice the space
git-annex initremote "Bad Remote" type=adb androiddirectory=/sdcard encryption=none exporttree=yes importtree=yes
git config "remote.Bad Remote.annex-tracking-branch" master:android
git annex sync --content "Bad Remote"
It will download the content and fail afterwards
What version of git-annex are you using? On what operating system?
- git-annex version 8.20200226
- OS: Ubuntu 20.04.3 LTS
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)
I am not an experienced user but after using non-space-remotes-names I've been able to sync my phone with no major problems following the documentation in this page. So great work!
This is similar to configuring git with a remote that has spaces in its name:
Or configuring a remote.foo.fetch with spaces in the name of the rev:
Importing from a special remote with importtree=yes is equivilant from pulling from a git remote, and needs to update a branch with a similar name as origin/master. And with a remote name with spaces, there is no legal branch name that will work.
So, this has to fail. It could fail earlier, or with a better error message.