Please describe the problem.
Initially reported in heudiconv. I am not yet sure what is going on, but git-annex (tried "bleeding edge" from a few days back too) seems to believe being unable to get .git/config file, while I do not see any request being logged on the server side, and curl
gets it just ok.
To reproduce you can use docker run -it --rm --entrypoint bash nipy/heudiconv:latest -c "cd /tmp/ && rm -rf /tmp/MEEPI3; git clone http://datasets-tests.datalad.org/dicoms/velasco/MEEPI/.git MEEPI3 && cd MEEPI3 && git annex info --debug; echo -e '\n\nCURL:'; curl http://datasets-tests.datalad.org/dicoms/velasco/MEEPI/.git/config"
A sample docker run
docker run -it --rm --entrypoint bash nipy/heudiconv:latest -c "cd /tmp/ && rm -rf /tmp/MEEPI3; git clone http://datasets-tests.datalad.org/dicoms/velasco/MEEPI/.git MEEPI3 && cd MEEPI3 && git annex info --debug; echo -e '\n\nCURL:'; curl http://datasets-tests.datalad.org/dicoms/velasco/MEEPI/.git/config"
...
[2018-11-12 17:58:02.246908731] Request {
host = "datasets-tests.datalad.org"
port = 80
secure = False
requestHeaders = [("Range","bytes=0-"),("Accept-Encoding","identity"),("User-Agent","git-annex/6.20181011+git124-g94aa0e2f6-1~ndall+1")]
path = "/dicoms/velasco/MEEPI/.git/config"
queryString = ""
method = "GET"
proxy = Nothing
rawBody = False
redirectCount = 10
responseTimeout = ResponseTimeoutDefault
requestVersion = HTTP/1.1
}
Remote origin not usable by git-annex; setting annex-ignore
[2018-11-12 17:58:02.247631556] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","config","remote.origin.annex-ignore","true"]
[2018-11-12 17:58:02.249993683] process done ExitSuccess
[2018-11-12 17:58:02.250056119] read: git ["config","--null","--list"]
[2018-11-12 17:58:02.252212701] process done ExitSuccess
repository mode: indirect
trusted repositories: 0
semitrusted repositories: 6
00000000-0000-0000-0000-000000000001 -- web
00000000-0000-0000-0000-000000000002 -- bittorrent
41bc6812-269a-47af-a7c9-ba2d30e55642 -- yoh@smaug:/mnt/btrfs/datasets/datalad/crawl/dicoms/velasco/MEEPI
757a81e7-f905-4796-9941-a2772ec190b6 -- yoh@falkor:/srv/datasets.datalad.org/www/dicoms/velasco/MEEPI
c04eb54b-4b4e-5755-8436-866b043170fa -- datalad-archives
ffa6417c-5511-4b43-a67a-036dd57ab974 -- root@d9efe0626d93:/tmp/MEEPI3 [here]
untrusted repositories: 0
transfers in progress: none
available local disk space: 12.08 gigabytes (+1 megabyte reserved)
local annex keys: 0
local annex size: 0 bytes
annexed files in working tree: [2018-11-12 17:58:02.253291443] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--cached","--others","-z","--","."]
[2018-11-12 17:58:02.255650007] process done ExitSuccess
3
size of annexed files in working tree: 5.87 megabytes
bloom filter size: 32 mebibytes (0% full)
backend usage:
MD5E: 3
[2018-11-12 17:58:02.256351183] process done ExitSuccess
[2018-11-12 17:58:02.256558475] process done ExitSuccess
[2018-11-12 17:58:02.256945107] process done ExitSuccess
CURL:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
sharedrepository = 2
[receive]
denyNonFastforwards = true
denyCurrentBranch = updateInstead
[annex]
uuid = 757a81e7-f905-4796-9941-a2772ec190b6
version = 5
$> docker run -it --rm --entrypoint bash nipy/heudiconv:latest -c "git annex version | head -n1"
git-annex version: 6.20181011+git124-g94aa0e2f6-1~ndall+1
done; git-annex displays a good error message and the dependency is there. --Joey
It does seem to work just fine with current git-annex outside docker.
Given the insecurity-to-weight ratio of docker and the number of hoops I would have to jump through to run that docker command, it may be several days until I have time, bandwidth, and power to try it myself.. If you want to show the debug output, that generally doesn't hurt.
(Please include the git-annex version information in all bug reports.)
Just want to check first -- you didn't miss my fancy foldable "A sample docker run" in the original submission? (has annex version at the bottom), did you?
and yes -- works fine outside of docker on the same box (well - my laptop).
FWIW, you are welcome to try it on smaug, you are a part of
docker
group there. For some reason docker is slowish there.Interestingly, the version of that image being different on smaug, output might be more informative (?):
And here is (folded) full output of that run:
Docker run with older git annex 6.20180626+gitg12cd64369-1~ndall+1
Having pulled the
nipy/heudiconv:latest
, original reported behavior reproducesDocker run with newer git annex
Reflecting on the discovery of that "no such protocol name", googled github hit, added
apt-get install -y libnss3 libnss-lwres libnss-mdns
to the new version of the docker image - that didn't help.--no-install-recommends
while installing git-annex-standalone... may be at least core needed libs needed for annex operation could be added to Depends for the git-annex debian pkg?spotted that netbase is among recommends thus is not installed while
apt-get install --no-install-recommends git-annex-standalone
. Installed and issue is gone.I feel like we had that issue/discussion before, but don't you think it would be valuable to make
netbase
a Depends not just Recommends?Also it would be nice if there was a more logical error, info or at least debug message whenever annex fails to perform network operations, instead of just marking remote as "non-annex".
netbase was already added to depends in version 6.20180926.
Yes, I missed the folded data, the UI provides almost no clue that it's an interactive element.
eh, and when you added it, I incorrectly adjusted the standalone patch in 042e20d895e022f283d7fb210e61bc19a77b0c39 by not including netbase into Depends. I have emailed you the patch, and I think this issue could be closed with it