Our test started to fail on 20220610 daily tests, with smth like
2022-06-10T05:51:16.5860150Z > **results,
2022-06-10T05:51:16.5860330Z )
2022-06-10T05:51:16.5861310Z E datalad.runner.exception.CommandError: CommandError: 'git -c diff.ignoreSubmodules=none annex initremote fresh-sr type=git location=http://127.0.0.1:50821/ autoenable=true -c annex.dotfiles=true' failed with exitcode 1 under /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/datalad_temp_test_as_common_datasourceerpclil1 [out: 'initremote fresh-sr
2022-06-10T05:51:16.5861910Z E
2022-06-10T05:51:16.5862300Z E failed'] [err: 'http://127.0.0.1:50821//config download failed: File not found
2022-06-10T05:51:16.5862730Z E git-annex: git repository does not have an annex uuid
2022-06-10T05:51:16.5863040Z E initremote: 1 failed']
2022-06-10T05:51:16.5863180Z
2022-06-10T05:51:16.5863540Z ../../../../hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/datalad/runner/runner.py:205: CommandError
most likely due to 10.20220525-64-g14584e7a3 "initremote type=git probe uuid" .
yet to unravel details/change in behavior, but since changelog entry says only about "Improve handling of type=git special remotes" I would not expect negative change in the behavior. Joey -- anything immediate comes to mind?
/.git
suffix. That used to work just fine and our test testinggit annex get
on the clone accomplished the mission.The change that broke your test uses the exact same url uuid detection code that git-annex usually uses. So if you were using an url without .git before, it seems like it would have failed to detect a uuid after enabling the special remote.
If that reasoning does not hold, I'm going to need a test case to understand why. Unfortunately, your test case is hard for me to understand what it's doing.
I can't even get git to clone a non-bare git repo served over plain http without using .git in the url, so don't understand how your test case is doing that.
When I manually make a git remote with a http url without .git (which git cannot pull from), I see the git-annex uuid detection code failing, as I would expect:
And the initremote behavior is consistent with that:
(It's worth noting that the change was made to handle another datalad use case, ?strong>git is not working for unkn reason. I'd consider that use case unusual, and marginally worth supporting. I could of course revert the change, but then I'd have to close that bug as wontfix.)
datalad clone
we do try URL as is, and then also with/.git
to make users' life easier and so they could just e.g.datalad clone https://datasets.datalad.org
.Ok, resolved mystery for myself:
yes -- if
initremote
failed to detect uuid itand our test was working before because apparently we had that type=git remote already added with the correct (with
.git
) url (as you can see above) so as long as initremote didn't crash, we were "happy" a little more info could be found in our datalad issueAha! That funky remote.log was caused by a historical bad type in git-annex: UUID has a NoUUID value, and when it probed for the UUID, it did not check if it got NoUUID, which serializes to "". Really fixing that is hard, I've tried a couple of times.
Anyway, the new behavior is not buggy, so closing.