diff options
author | Joey Hess <joey@kitenet.net> | 2013-07-07 13:23:14 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-07-07 13:23:14 -0400 |
commit | cd5e8755042eca6254111375e9040f45cb848279 (patch) | |
tree | 193c9ef081f171b3a145da78c10838a10ed0e2f6 | |
parent | c800fbbff5deb23ecf68908981c69a51e79dece9 (diff) | |
parent | 1669149c8897c12942ab022732ba46233771c34d (diff) |
Merge branch 'master' of ssh://git-annex.branchable.com
22 files changed, 684 insertions, 0 deletions
diff --git a/doc/bugs/Internal_Server_Error:_Unknown_UUID/comment_1_f42f703a5d267557abf5e932f0890d4a._comment b/doc/bugs/Internal_Server_Error:_Unknown_UUID/comment_1_f42f703a5d267557abf5e932f0890d4a._comment new file mode 100644 index 000000000..e8494ab17 --- /dev/null +++ b/doc/bugs/Internal_Server_Error:_Unknown_UUID/comment_1_f42f703a5d267557abf5e932f0890d4a._comment @@ -0,0 +1,37 @@ +[[!comment format=mdwn + username="carlo" + ip="118.208.1.126" + subject="comment 1" + date="2013-07-06T22:52:18Z" + content=""" +I got the same error. Local repo has no name but in the logs I can see that it's trying to make a local connection: + + [2013-07-07 08:29:51 EST] main: starting assistant version 4.20130627 + [2013-07-07 08:29:51 EST] TransferScanner: Syncing with arkham.local_annex + +(snip) + + 07/Jul/2013:08:41:56 +1000 [Error#yesod-core] Unknown UUID @(yesod-core-1.2.3:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:471:5) + ssh: Could not resolve hostname arkham.local: Name or service not known + ssh: Could not resolve hostname arkham.local: Name or service not known + fatal: The remote end hung up unexpectedly + git-annex: Unknown UUID + ssh: Could not resolve hostname arkham.local: Name or service not known + ssh: Could not resolve hostname arkham.local: Name or service not known + fatal: The remote end hung up unexpectedly + git-annex: Unknown UUID + ssh: Could not resolve hostname arkham.local: Name or service not known + ssh: Could not resolve hostname arkham.local: Name or service not known + fatal: The remote end hung up unexpectedly + git-annex: Unknown UUID + ssh: Could not resolve hostname arkham.local: Name or service not known + 07/Jul/2013:08:42:32 +1000 [Error#yesod-core] Unknown UUID @(yesod-core-1.2.3:Yesod.Core.Class.Yesod ./Yesod/Core/Class/Yesod.hs:471:5) + ssh: Could not resolve hostname arkham.local: Name or service not known + fatal: The remote end hung up unexpectedly + git-annex: Unknown UUID + ssh: Could not resolve hostname arkham.local: Name or service not known + +When I turn on arkham (the other laptop) I see transfers start up: + + +"""]] 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 new file mode 100644 index 000000000..9604042e2 --- /dev/null +++ b/doc/bugs/On_Windows__44___annex_get_fails_with_HTTP_Remote__44___but_believes_it_has_succeeded..mdwn @@ -0,0 +1,173 @@ +### Please describe the problem. +On Windows, with a remote annex configured for HTTP access, attempting to annex get a file will not result in the content being downloaded, but will download a 404 error page as the file. + +### What steps will reproduce the problem? +1. Create an annex (A1) on a Linux system. +2. "git update-server-info" +3. run an HTTP server with, a directory up. python -m SimpleHTTPServer +4. on a Windows system, clone the annex with 'git clone http://remote_host/annex_dir/.git' +5. "git annex get <file>" + +the resulting file will not have the correct content, but rather a 404 error page. In addition, subsequent attempts to "git annex get <file>" will fail, unless you "git annex drop <file>" first. (it appears to believe it correctly retrieved the file). + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +Debian Linux: 3.20120629 (from the package manager) + +### Please provide any additional information below. +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 """ +#copy Git\bin\libcurl.dll to Git\bin\libcurl-4.dll + +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..36508d74a05fd93daee965f2f73c977852e4b626","--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","103a0273cf24deec587295845f761b172a63ea19","-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","538f6b44a762be415ec6fef2b6644c10bc1f3780"] +[<datetime>] call: curl ["-s","-L","-C","-","-#","-o","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex8156.tmp","http://192.168.0.8:8000/test_annex/.git/config"] +[<datetime>] read: git ["config","--null","--list","--file","C:\\Users\\test-git-annex\\AppData\\Local\\Temp\\git-annex8156.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: curl ["-L","-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"] +######################################################################## 100.0% +ok +[<datetime>] chat: git ["--git-dir=C:\\Users\\test-git-annex\\test_annex\\.git","--work-tree=C:\\Users\\test-git-annex\\test_annex","hash-object","-w","--stdin-paths","--no-filters"] +[<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","show-ref","--hash","refs/heads/git-annex"] +(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","b81dc8e53f4c02d433288d7f073be501d27c3648","-p","refs/heads/git-annex"] +[<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","949181f4978c2654e156f1e4250f67135ddc2774"] + +C:\Users\test-git-annex\test_annex>git annex find . +file1.txt + +C:\Users\test-git-annex\test_annex>type file1.txt +<head> +<title>Error response</title> +</head> +<body> +<h1>Error response</h1> +<p>Error code 404. +<p>Message: File not found. +<p>Error code explanation: 404 = Nothing matches the given URI. +</body> +"""]] + +#### http server output from above + +[[!format sh """ +192.168.0.2 - - [<datetime>] "GET /test_annex/.git/annex\objects\c96\53e\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729\SHA256-s21--6ed275e9e01c84a57fdd99d6af793c5d587d02e699cd2c28b32b7dc90f73e729 HTTP/1.1" 404 - +192.168.0.2 - - [<datetime>] code 404, message File not found +"""]] diff --git a/doc/bugs/On_Windows__44___annex_get_over_HTTP_sends_URLs_with_incorrect_separator.mdwn b/doc/bugs/On_Windows__44___annex_get_over_HTTP_sends_URLs_with_incorrect_separator.mdwn new file mode 100644 index 000000000..5b97cfa1e --- /dev/null +++ b/doc/bugs/On_Windows__44___annex_get_over_HTTP_sends_URLs_with_incorrect_separator.mdwn @@ -0,0 +1,184 @@ +### Please describe the problem. +On Windows, attempting to annex get from a remote over HTTP fails. URLs which are nearly correct, but have incorrect slashes, are sent. + +### What steps will reproduce the problem? +1. Create an annex on Linux. +2. Configure repository for HTTP access +3. Clone annex on Windows. +4. "git annex get ." +5. git annex makes requests for urls like the following: http://host/repo/.git/annex/objects\<3-char-hash>\<3-char-hash>\SHA<file hash> + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +Debian Linux: 3.20120629 (from the package manager) + +### Please provide any additional information below. +placing a wrapper script in front of wget which replaces '\' with '/' works around the issue, and allows git annex get to complete. + + +###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 + +[[!format sh """ +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 - +"""]] diff --git a/doc/bugs/On_Windows__44___can__39__t_use_a_USB_disk_annex_created_on_Linux.mdwn b/doc/bugs/On_Windows__44___can__39__t_use_a_USB_disk_annex_created_on_Linux.mdwn new file mode 100644 index 000000000..ea36ac561 --- /dev/null +++ b/doc/bugs/On_Windows__44___can__39__t_use_a_USB_disk_annex_created_on_Linux.mdwn @@ -0,0 +1,16 @@ +### Please describe the problem. +On Windows, git-annex is unable to 'annex get' from a repository hosted on an external USB disk. + +### What steps will reproduce the problem? +1. Create an annex (A1) on a Linux system +2. Clone A1 to a new annex (A2) to an external USB drive. add A1 as a remote, "annex get ." +3. Mount the USB drive to a windows system. Clone A2 to a new annex (A3). +4. add A2 as a remote to A3 +5. "git annex get ." +6. annex get will fail with file not found errors. This appears to be due to case sensitivity on Windows. + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +Debian Linux: 3.20120629 (from the package manager) diff --git a/doc/bugs/On_Windows__44___can__39__t_use_repository_that_has_a_unix-style_local_remote_configured.mdwn b/doc/bugs/On_Windows__44___can__39__t_use_repository_that_has_a_unix-style_local_remote_configured.mdwn new file mode 100644 index 000000000..07f8fa84c --- /dev/null +++ b/doc/bugs/On_Windows__44___can__39__t_use_repository_that_has_a_unix-style_local_remote_configured.mdwn @@ -0,0 +1,20 @@ +### Please describe the problem. +On Windows, I try to "annex get" from a Linux based repository, but it fails with no useful error message. + +### What steps will reproduce the problem? +1. Create annex (A1) on a Linux system. +2. clone A1 to another annex (A2) on the same file tree (on a mounted USB drive, for example) +3. add A2 as a remote to A1. +4. clone A1 to an annex (A3) on a Windows 7 system. +5. attempt to "git annex get ." +6. annex reports that it can find no repositories, and asks to make one available. + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) +Debian Linux: 3.20120629 (from the package manager) + +### Please provide any additional information below. +I experienced this bug several times with a plain git-annex install, and the only workaround was removing the unix-style remotes from remote repos. + +After other hackery to get git-annex working on Windows, I can't currently reproduce the issue. diff --git a/doc/bugs/On_Windows__44___wget_is_not_used__44___even_if_available.mdwn b/doc/bugs/On_Windows__44___wget_is_not_used__44___even_if_available.mdwn new file mode 100644 index 000000000..6a2d98685 --- /dev/null +++ b/doc/bugs/On_Windows__44___wget_is_not_used__44___even_if_available.mdwn @@ -0,0 +1,65 @@ +### Please describe the problem. +On Windows, with a remote repository configured for HTTP access, wget is never used, even if it's available in the system. curl is always used. + +### What steps will reproduce the problem? +1. Set up an annex on a remote system, configure it for HTTP access, run an HTTP server. +2. over HTTP, clone it to Windows +3. "annex get -vd <file>" +4. note that curl is used. + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +### Additional Info +After some debugging, it appears the issue is that git-annex looks to see if the file 'wget' is available in any directory on the PATH. on windows, wget is installed as 'wget.exe', and the file 'wget' does not exist anywhere. creating a file named 'wget' works around the issue. (wget.exe appears to still be the file used) + +###Full Transcript +1. remote annex is created on host 192.168.0.8, with file "file1.txt" +[[!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...) + +C:\Users\test-git-annex\test_annex> git annex get file.txt +#fails, with error dialog box, indicating libcurl-4.dll is missing, indicating git-annex is trying to use curl. + +"""]] diff --git a/doc/bugs/Windows_installer_includes_curl_and_wget__44___but_not_required_DLLs.mdwn b/doc/bugs/Windows_installer_includes_curl_and_wget__44___but_not_required_DLLs.mdwn new file mode 100644 index 000000000..60a894b4e --- /dev/null +++ b/doc/bugs/Windows_installer_includes_curl_and_wget__44___but_not_required_DLLs.mdwn @@ -0,0 +1,15 @@ +### Please describe the problem. +On a default, clean install on Windows, annex get over HTTP fails, as neither wget nor curl have all necessary DLLs. + +### What steps will reproduce the problem? +1. Install git from git-scm.org, and git-annex from git-annex.branchable.com. +2. Don't install, or remove if installed, Cygwin. +3. clone an annex over HTTP +4. attempt to 'annex get' a file +5. get dialog box, explaining missing DLLs. + +### What version of git-annex are you using? On what operating system? +Windows 7. + +### Please provide any additional information below. +Installing Cygwin and adding to path seems to fix issue. diff --git a/doc/bugs/annex_get_over_SSH_is_very_slow.mdwn b/doc/bugs/annex_get_over_SSH_is_very_slow.mdwn new file mode 100644 index 000000000..c3ebd10aa --- /dev/null +++ b/doc/bugs/annex_get_over_SSH_is_very_slow.mdwn @@ -0,0 +1,16 @@ +### Please describe the problem. +Attempting to populate one annex from another over an SSH connection is very slow. + +### What steps will reproduce the problem? +1. Create an annex on Linux +2. Clone annex to Windows system +3. Set up sshd on Linux system, access keys, etc. +4. "git annex get ." +5. Checking if an individual file exists takes a few seconds, and downloading it takes a few seconds. on a 100Mbps LAN, transfers at an average of 7Mbps. +6. By comparison operating over a working HTTP connection transfers between 20~40 Mbps. + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +Debian Linux: 3.20120629 (from the package manager) diff --git a/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode.mdwn b/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode.mdwn new file mode 100644 index 000000000..fac2554ec --- /dev/null +++ b/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode.mdwn @@ -0,0 +1,19 @@ +### Please describe the problem. +When trying to annex get *from* an annex on a Windows machine, over HTTP, annex get fails with 404 errors. + +### What steps will reproduce the problem? +1. Create an annex on a Windows and Linux machine. +2. annex add some content on Windows repository. +3. Configure Windows repository for HTTP access +4. on Linux machine, fetch updates. this succeeds. +5. attempt to "annex get <new files>" +6. requests for files of the format ".git/annex/objects/<3-char-hash>/<3-char-hash>/SHA<filehash>.<extension>" fail with 404 errors. the annex get fails. + + +### What version of git-annex are you using? On what operating system? +Windows 7: 4.20140627-g8a36ec5 (from the git-annex download page) + +Debian Linux: 3.20120629 (from the package manager) + +### Please provide any additional information below. +there is no <filehash>.<extension> file in the relevant directories, there are only .map and .cache files. The Windows annex is in direct mode, and the Linux annex fails to annex get from this correctly. diff --git a/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode/comment_1_20c31a844d8351a99cf69e05d2836e0e._comment b/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode/comment_1_20c31a844d8351a99cf69e05d2836e0e._comment new file mode 100644 index 000000000..17665bd70 --- /dev/null +++ b/doc/bugs/can__39__t_annex_get_from_annex_in_direct_mode/comment_1_20c31a844d8351a99cf69e05d2836e0e._comment @@ -0,0 +1,19 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkxl76M-3zKZXFbFf6NY6c6y-78CSKGyJw" + nickname="T" + subject="comment 1" + date="2013-07-06T20:11:54Z" + content=""" +When I tried to duplicate these results today, it failed in a different fashion. + +adding a new file (file2.txt) to a test repo on windows, setting up an HTTP access, and fetching and merging onto linux leaves the following state: +[[!format sh \"\"\" +test-git-annex@linux_host:~/test_annex$ ls -l +total 4 +lrwxrwxrwx 1 test-git-annex test-git-annex <datetime> file1.txt -> this is some content? +lrwxrwxrwx 1 test-git-annex test-git-annex <datetime> file2.txt -> some new content, on a new annex +\"\"\"]] + +it is treating the contents of the files as the name of a symlink. get annex get . is unable to retrieve them as contents. + +"""]] diff --git a/doc/bugs/hGetContents:_user_error/comment_7_3f66b03f773341fad94ec16b4f55edaa._comment b/doc/bugs/hGetContents:_user_error/comment_7_3f66b03f773341fad94ec16b4f55edaa._comment new file mode 100644 index 000000000..2a64e57b1 --- /dev/null +++ b/doc/bugs/hGetContents:_user_error/comment_7_3f66b03f773341fad94ec16b4f55edaa._comment @@ -0,0 +1,32 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="comment 7" + date="2013-07-07T02:48:05Z" + content=""" +Thanks for providing me an account. + +I was able to reproduce the problem: + +<pre> +$ git-annex-shell recvkey `pwd` +git-annex-shell: fd:6: hGetContents: user error (Pattern match failure in do expression at libraries/base/GHC/Event/Thread.hs:90:3-10) +</pre> + +Here's another one: + +<pre> +$ git annex init + +git-annex: eventfd: unsupported operation (Function not implemented) +failed +init +git-annex: fd:10: hGetContents: user error (Pattern match failure in do expression at libraries/base/GHC/Event/Thread.hs:90:3-10) +failed +</pre> + +Aha! I found a more relevant bug in GHC's bug tracker. This has the same error message including the eventfd problem. <http://ghc.haskell.org/trac/ghc/ticket/7926> + +After some more digging around, it's definitely a kernel/glibc incompatability. I have filed a bug on glibc: <http://bugs.debian.org/715212> + +"""]] diff --git a/doc/bugs/hGetContents:_user_error/comment_8_a697e2d36abfc999e65c9f587c0de56e._comment b/doc/bugs/hGetContents:_user_error/comment_8_a697e2d36abfc999e65c9f587c0de56e._comment new file mode 100644 index 000000000..d635ba6a7 --- /dev/null +++ b/doc/bugs/hGetContents:_user_error/comment_8_a697e2d36abfc999e65c9f587c0de56e._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="workaround" + date="2013-07-07T16:38:09Z" + content=""" +This bug only affects programs built with the threaded haskell runtime. + +git-annex can be built without the threaded runtime, by simply disabling the webapp. So a workaround is to pass the flag -f-WebApp to cabal when building git-annex with cabal. +"""]] diff --git a/doc/bugs/hGetContents:_user_error/comment_9_da7c5905a64bb6779970f9394155e629._comment b/doc/bugs/hGetContents:_user_error/comment_9_da7c5905a64bb6779970f9394155e629._comment new file mode 100644 index 000000000..1a4e97744 --- /dev/null +++ b/doc/bugs/hGetContents:_user_error/comment_9_da7c5905a64bb6779970f9394155e629._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="https://openid.stackexchange.com/user/7891307e-4b76-4697-8e71-083669c26e9f" + nickname="MichaelK" + subject="comment 9" + date="2013-07-07T16:54:34Z" + content=""" +Thanks a lot for investigating this! + +(myopenid.com seems to be down, so I had to use another account.) +"""]] diff --git a/doc/design/assistant/blog/day_291__--all/comment_2_90bbc26bf92048de7cbaf5fb719c9593._comment b/doc/design/assistant/blog/day_291__--all/comment_2_90bbc26bf92048de7cbaf5fb719c9593._comment new file mode 100644 index 000000000..6838ac070 --- /dev/null +++ b/doc/design/assistant/blog/day_291__--all/comment_2_90bbc26bf92048de7cbaf5fb719c9593._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="sfs" + ip="65.204.1.102" + subject="See history of a file" + date="2013-07-07T00:49:35Z" + content=""" +It's great that you are addressing the management of older versions. I am new to git-annex but couldn't find much information about this topic. Is it also possible to make git-annex show you the history of files (with date, size, ...) and where (which repositories) they are stored? Or to retrieve a specific version from a remote repository? + +Thanks for this amazing peace of software! +Stephan +"""]] diff --git a/doc/design/assistant/blog/day_291__--all/comment_3_75006e9909425dcbf86415a9f7c90372._comment b/doc/design/assistant/blog/day_291__--all/comment_3_75006e9909425dcbf86415a9f7c90372._comment new file mode 100644 index 000000000..748db49f3 --- /dev/null +++ b/doc/design/assistant/blog/day_291__--all/comment_3_75006e9909425dcbf86415a9f7c90372._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="comment 3" + date="2013-07-07T17:20:05Z" + content=""" +@john I have considered making copy trust the location log for the remote (which is what your --not --in titan does), but this does change its behavior in a subtly way, and IIRC there were scenarios where this is not desirable. + +@sfs the best way to look at older versions of files is to use `git checkout` to check out an older version of the repository. You can then use `git annex get`, `git annex whereis`, etc like you usually would, on the old version of files. +"""]] diff --git a/doc/forum/Git_annex_assistant_in_command_line.mdwn b/doc/forum/Git_annex_assistant_in_command_line.mdwn new file mode 100644 index 000000000..9323d2137 --- /dev/null +++ b/doc/forum/Git_annex_assistant_in_command_line.mdwn @@ -0,0 +1,2 @@ +How can I clone a git annex remote (bare repository) created with the webapp in command line ? My goal is to be able to access the files using an ssh connection. + diff --git a/doc/forum/Git_annex_assistant_in_command_line/comment_1_ce05226307ade8db90ada2dbf290bd58._comment b/doc/forum/Git_annex_assistant_in_command_line/comment_1_ce05226307ade8db90ada2dbf290bd58._comment new file mode 100644 index 000000000..e02a4298c --- /dev/null +++ b/doc/forum/Git_annex_assistant_in_command_line/comment_1_ce05226307ade8db90ada2dbf290bd58._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="comment 1" + date="2013-07-07T17:16:27Z" + content=""" +There is no difference between a repository created using the assistant and one created by hand. So you can just `git clone ssh://server/path` or `git remote add foo ssh://server/path` and use it at the command line like any other repository. + +The assistant interoperates perfectly with the command line; you can switch between them at will at any time. +"""]] diff --git a/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__.mdwn b/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__.mdwn new file mode 100644 index 000000000..576d598dd --- /dev/null +++ b/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__.mdwn @@ -0,0 +1,3 @@ +I use git annex in direct mode and I have renamed a file. What should I do to make git annex understand that the file has just been renamed and not deleted/added? + +The file I renamed is quite big and I would like to avoid having to copy it again to the remotes and I would also like to avoid having to redownload it again in all the repositories. diff --git a/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__/comment_1_fe38fedbbc9e4a9e13bf19950e63c7ac._comment b/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__/comment_1_fe38fedbbc9e4a9e13bf19950e63c7ac._comment new file mode 100644 index 000000000..6f452acb8 --- /dev/null +++ b/doc/forum/How_to_deal_with_renamed_files_in_direct_mode__63__/comment_1_fe38fedbbc9e4a9e13bf19950e63c7ac._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="comment 1" + date="2013-07-07T17:14:18Z" + content=""" +You don't have to do anything special, git-annex automatically detects when a file has been renamed. + +Just `git annex` add the new file, and commit and sync like usual. +"""]] diff --git a/doc/install/Debian/comment_13_167a091764e5e99ec0f35a65e95a22de._comment b/doc/install/Debian/comment_13_167a091764e5e99ec0f35a65e95a22de._comment new file mode 100644 index 000000000..9f05fea93 --- /dev/null +++ b/doc/install/Debian/comment_13_167a091764e5e99ec0f35a65e95a22de._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="http://joeyh.name/" + ip="4.153.254.222" + subject="comment 13" + date="2013-07-07T17:21:10Z" + content=""" +I remain stuck where I was stuck previously on the backport. In the meantime, use [[Linux_standalone]] :( +"""]] diff --git a/doc/todo/wishlist:___96__git_annex_fsck_--checksums__96___--_verify_checksums_but_disregard_annex.numcopies.mdwn b/doc/todo/wishlist:___96__git_annex_fsck_--checksums__96___--_verify_checksums_but_disregard_annex.numcopies.mdwn new file mode 100644 index 000000000..882eece1a --- /dev/null +++ b/doc/todo/wishlist:___96__git_annex_fsck_--checksums__96___--_verify_checksums_but_disregard_annex.numcopies.mdwn @@ -0,0 +1,3 @@ +As the title says, I would like to see an option where git-annex verifies that all checksums are OK but not that the required number of copies or other possible metrics are fulfilled. + +-- RichiH diff --git a/doc/todo/wishlist:___96__git_annex_import__96___--_An_easy_way_to_get_data_into_an_annex.mdwn b/doc/todo/wishlist:___96__git_annex_import__96___--_An_easy_way_to_get_data_into_an_annex.mdwn new file mode 100644 index 000000000..e1a4d049c --- /dev/null +++ b/doc/todo/wishlist:___96__git_annex_import__96___--_An_easy_way_to_get_data_into_an_annex.mdwn @@ -0,0 +1,11 @@ +`git annex import` would copy data over from external places into the annex. It would be run from within the annex and in the target location where the files need to end up. + +Two basic modes of operation: + +* If run on a normal directory, e.g. an SD card, it would simply copy over and `git annex add $newstuff` + +* If run on another indirect annex, it would copy over the symlinks, copy over the object data, verify that the checksums are OK and add to the annex + +An optional `git annex import --copy-only` would copy over and verify the data, but not yet add it. That would allow the user to import into a decent data structure. If run on non-annexed data, `git annex import --copy-only` would ideally calculate checksums and create symlinks already; thus ensuring data integrity as early as possible. + +-- RichiH |