summaryrefslogtreecommitdiff
path: root/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_s...
diff options
context:
space:
mode:
authorGravatar https://www.google.com/accounts/o8/id?id=AItOawkxl76M-3zKZXFbFf6NY6c6y-78CSKGyJw <T@web>2013-07-06 19:58:44 +0000
committerGravatar admin <admin@branchable.com>2013-07-06 19:58:44 +0000
commita1f29e97236558268a009e32f08e821593721c40 (patch)
treee8b7816ae8244b3d3513de9910df55f4d68ef672 /doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn
parentb85bf94e556197981f2e3f82742eccbb128f7f4c (diff)
Diffstat (limited to 'doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn')
-rw-r--r--doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn163
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 -