diff options
author | https://www.google.com/accounts/o8/id?id=AItOawkxl76M-3zKZXFbFf6NY6c6y-78CSKGyJw <T@web> | 2013-07-06 19:58:44 +0000 |
---|---|---|
committer | admin <admin@branchable.com> | 2013-07-06 19:58:44 +0000 |
commit | a1f29e97236558268a009e32f08e821593721c40 (patch) | |
tree | e8b7816ae8244b3d3513de9910df55f4d68ef672 | |
parent | b85bf94e556197981f2e3f82742eccbb128f7f4c (diff) |
-rw-r--r-- | doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn b/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn index 39e71fed9..05edf72cb 100644 --- a/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn +++ b/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn @@ -20,3 +20,166 @@ Debian Linux: 3.20120629 (from the package manager) After some debugging, I believe the issue is related to the way git-annex uses curl. it appears that git-annex uses the return code of curl or wget to determine if a download was successful, but curl by default will return status code 0 on a 404, unless the -f option is used (which it is not). getting git-annex on windows to use wget works around the issue. + + +###Full Transcript + +#### 1. setup of linux repo +[[!format sh """ +test-git-annex@linux_host:~/test_annex$ git version +git version 1.7.10.4 +test-git-annex@linux_host:~/test_annex$ git annex version +git-annex version: 3.20120629 +local repository version: 3 +default repository version: 3 +supported repository versions: 3 +upgrade supported from repository versions: 0 1 2 +test-git-annex@linux_host: ~test-git-annex@linux_host:~$ mkdir test_annex +test-git-annex@linux_host: ~test-git-annex@linux_host:~$ cd test_annex/ +test-git-annex@linux_host:~/test_annex$ git init . +Initialized empty Git repository in /home/test-git-annex/test_annex/.git/ +test-git-annex@linux_host:~/test_annex$ annex init laptop +init laptop ok +(Recording state in git...) +~/test_annextest-git-annex@linux_host:~/test_annex$ echo "this is some content" > file1.txt +test-git-annex@linux_host:~/test_annex$ git annex add file1.txt +add file1.txt (checksum...) ok +(Recording state in git...) +test-git-annex@linux_host:~/test_annex$ git commit -a -m "initial commit" +[master (root-commit) 821c6c1] initial commit + 1 file changed, 1 insertion(+) + create mode 120000 file1.txt +test-git-annex@linux_host:~/test_annex$ ls -l +total 4 +lrwxrwxrwx 1 test-git-annex test-git-annex 178 Jul 6 11:33 file1.txt -> .git/annex/objects/J9/m6/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 +test-git-annex@linux_host:~/test_annex$ cat file1.txt +this is some content +"""]] + +#### 2. set up and run http server +[[!format sh """ +test-git-annex@MrLinuxTablet:~/test_annex$ git update-server-info +cd .. +test-git-annex@MrLinuxTablet:~$ python -m SimpleHTTPServer +Serving HTTP on 0.0.0.0 port 8000 ... +"""] + +#### 3. Set up Windows, clone repo, init annex +[[!format sh """ + +#Windows 7 +#download and install git from git-scm.com/download/win +#Git-1.8.3-preview20130601.exe +#on install, selecting "Run Git from the Windows Command Prompt" +#on install, selecting "checkout as-is, commit as-is" +#installs to C:\Program Files (x86)\Git +#download and install git-annex from http://git-annex.branchable.com/install/ +#git-annex-installer.exe +#need to right-click 'run as administrator', per reported bug (link here) +#installs to C:\Program Files (x86)\Git\cmd +#also installs some utilities, including wget.exe + +C:\Users\test-git-annex>git clone http://192.168.0.8:8000/test_annex/.git +Cloning into 'test_annex'... + +C:\Users\test-git-annex>cd test_annex + +C:\Users\test-git-annex\test_annex>dir + Volume in drive C has no label. + + Directory of C:\Users\test-git-annex\test_annex + +<DIR> . +<DIR> .. + 178 file1.txt + 1 File(s) 178 bytes + +C:\Users\test-git-annex\test_annex>type file1.txt +.git/annex/objects/J9/m6/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 + +C:\Users\test-git-annex\test_annex>git annex init windows +init windows + Detected a crippled filesystem. + + Enabling direct mode. + + Detected a filesystem without fifo support. + + Disabling ssh connection caching. +ok +(Recording state in git...) + +"""]] + +####4. annex get + +[[!format sh """ +#create empty file named 'wget' in Git\cmd, and install cygwin, add to path, to provide necessary DLLs +C:\Users\test-git-annex\test_annex> git annex get file.txt + +C:\Users\test-git-annex\test_annex>git annex -vd get file1.txt +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","ls-files","--cached","-z","--","file1.txt"] +get file1.txt [<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","show-ref","git-annex"] +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","show-ref","--hash","refs/heads/git-annex"] +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","refs/heads/git-annex..98d1182bcee688b06307963dfea81aa70a3c8336","--oneline","-n1"] +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","refs/heads/git-annex..304263841906c0b4dda39d0fdbe54e4af4307cb8","--oneline","-n1"] +(merging origin/git-annex into git-annex...) +[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","cat-file","--batch"] +[<datetime>] feed: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","update-index","-z","--index-info"] +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","diff-index","--raw","-z","-r","--no-renames","-l0","--cached","304263841906c0b4dda39d0fdbe54e4af4307cb8"] +[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","hash-object","-t","blob","-w","--stdin","--no-filters"] +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","log","304263841906c0b4dda39d0fdbe54e4af4307cb8..refs/heads/git-annex","--oneline","-n1"] +(Recording state in git...) +[<datetime>] read: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","write-tree"] +[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","commit-tree","838284a4dbc1c57bea2595ac7636c32a7a86b745","-p","refs/heads/git-annex","-p","304263841906c0b4dda39d0fdbe54e4af4307cb8"] +[<datetime>] call: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","update-ref","refs/heads/git-annex","c594efcf08bd4de8963cc3fb6890275f623aee12"] +[<datetime>] call: wget ["-q","-c","-O","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex4860.tmp","http://192.168.0.8:8000/test_annex/.git/config"] +cygwin warning: + MS-DOS style path detected: C:\Users\test-git-annex\AppData\Local\Temp\git-annex4860.tmp + Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/AppData/Local/Temp/git-annex4860.tmp + CYGWIN environment variable option "nodosfilewarning" turns off this warning. + Consult the user's guide for more details about POSIX paths: + http://cygwin.com/cygwin-ug-net/using.html#using-pathnames +[<datetime>] read: git ["config","--null","--list","--file","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex4860.tmp"] +[<datetime>] call: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","config","remote.origin.annex-uuid","64000156-e66a-11e2-aa76-131bb0a453f3"] +[<datetime>] read: git ["config","--null","--list"] +(from origin...) [<datetime>] call: wget ["-c","-O","C:\\Users\\test-git-annex\\test_annex\\.git\\annex\\tmp\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729","http://192.168.0.8:8000/test_annex/.git/annex\\objects\\c96\\53e\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729"] +cygwin warning: + MS-DOS style path detected: C:\Users\test-git-annex\test_annex\.git\annex\tmp\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 + Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/test_annex/.git/annex/tmp/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 + CYGWIN environment variable option "nodosfilewarning" turns off this warning. + Consult the user's guide for more details about POSIX paths: + http://cygwin.com/cygwin-ug-net/using.html#using-pathnames +--<datetime>--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 +Connecting to 192.168.0.8:8000... connected. +HTTP request sent, awaiting response... 404 File not found +<datetime> ERROR 404: File not found. + +[<datetime>] call: wget ["-c","-O","C:\\Users\\test-git-annex\\test_annex\\.git\\annex\\tmp\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729","http://192.168.0.8:8000/test_annex/.git/annex\\objects\\J9\\m6\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729\\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729"] +cygwin warning: + MS-DOS style path detected: C:\Users\test-git-annex\test_annex\.git\annex\tmp\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 + Preferred POSIX equivalent is: /cygdrive/c/Users/test-git-annex/test_annex/.git/annex/tmp/SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 + CYGWIN environment variable option "nodosfilewarning" turns off this warning. + Consult the user's guide for more details about POSIX paths: + http://cygwin.com/cygwin-ug-net/using.html#using-pathnames +--<datetime>--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 +Connecting to 192.168.0.8:8000... connected. +HTTP request sent, awaiting response... 404 File not found +<datetime> ERROR 404: File not found. + + + Unable to access these remotes: origin + + Try making some of these repositories available: + 64000156-e66a-11e2-aa76-131bb0a453f3 -- origin (laptop) +failed +git-annex: get: 1 failed + +"""]] + +#### http server output from above + +192.168.0.2 - - [<datetime>] code 404, message File not found +192.168.0.2 - - [<datetime>] "GET /test_annex/.git/annex%5Cobjects%5Cc96%5C53e%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 HTTP/1.1" 404 - +192.168.0.2 - - [<datetime>] code 404, message File not found +192.168.0.2 - - [<datetime>] "GET /test_annex/.git/annex%5Cobjects%5CJ9%5Cm6%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729%5CSHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 HTTP/1.1" 404 - |