diff options
42 files changed, 1385 insertions, 0 deletions
diff --git a/doc/bugs/OSX__58___addurl_--batch_--json_spits_out_shortened_output_string__dies_off_with_4.mdwn b/doc/bugs/OSX__58___addurl_--batch_--json_spits_out_shortened_output_string__dies_off_with_4.mdwn new file mode 100644 index 000000000..5c72b0095 --- /dev/null +++ b/doc/bugs/OSX__58___addurl_--batch_--json_spits_out_shortened_output_string__dies_off_with_4.mdwn @@ -0,0 +1,41 @@ +### Please describe the problem. + +See transcript. Didn't bisect fully but 6.20160128-g599a3ba seems to work ok, 6.20160211-g479a094 already dies off + +[[!format sh """ + +datalads-imac:~ yoh$ git annex version +git-annex version: 6.20160221-g3d1895e +... +datalads-imac:~ yoh$ mkdir -p /tmp/123; cd /tmp/123; git init; git annex init; +Initialized empty Git repository in /private/tmp/123/.git/ +init ok +(recording state in git...) + +datalads-imac:123 yoh$ rm -f /tmp/pipe; mkfifo /tmp/pipe; cat /tmp/pipe | git -c receive.autogc=false annex addurl -c annex.largefiles=exclude=*.txt --with-files --json --batch +{"command":"addurl","file":"1.png","note":"downloading http://www.onerussian.com/tmp/banner.png ..."error: git-annex died of signal 4 + +# now with --debug +datalads-imac:123 yoh$ rm -f /tmp/pipe; mkfifo /tmp/pipe; cat /tmp/pipe | git -c receive.autogc=false annex addurl -c annex.largefiles=exclude=*.txt --with-files --json --batch --debug +[2016-02-23 08:32:49.160686] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","show-ref","git-annex"] +[2016-02-23 08:32:49.167372] process done ExitSuccess +[2016-02-23 08:32:49.167479] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","show-ref","--hash","refs/heads/git-annex"] +[2016-02-23 08:32:49.172795] process done ExitSuccess +[2016-02-23 08:32:49.173039] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","log","refs/heads/git-annex..b2892e67682c5240dadb5d439da810edbdb882df","-n1","--pretty=%H"] +[2016-02-23 08:32:49.178586] process done ExitSuccess +[2016-02-23 08:32:49.179085] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","cat-file","--batch"] +[2016-02-23 08:32:49.183985] read: quvi ["--version"] +{"command":"addurl","file":"1.png","note":"downloading http://www.onerussian.com/tmp/banner.png ..."[2016-02-23 08:32:49.255949] call: curl ["-s","-f","-L","-C","-","-#","-o","/private/tmp/123/.git/annex/tmp/URL-s25319--http&c%%www.onerussian.com%tmp%banner.png","http://www.onerussian.com/tmp/banner.png","--user-agent","git-annex/6.20160221-g3d1895e"] +[2016-02-23 08:32:49.302577] process done ExitSuccess +[2016-02-23 08:32:49.303332] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","check-attr","-z","--stdin","annex.backend","annex.numcopies","annex.largefiles","--"] +[2016-02-23 08:32:49.305653] read: git ["--version"] +[2016-02-23 08:32:49.310314] process done ExitSuccess +error: git-annex died of signal 4 + +"""]] + +[[!meta author=yoh]] + +> [[done]]; this was indeed due to libmagic, and I've fixed it using brew +> --build-bottle to make a portable one. Then had to disable the build +> flag. --[[Joey]] diff --git a/doc/bugs/adds_file_destined_for_annex_into_git_in___39__addurl__39__.mdwn b/doc/bugs/adds_file_destined_for_annex_into_git_in___39__addurl__39__.mdwn new file mode 100644 index 000000000..a5cdfd6d6 --- /dev/null +++ b/doc/bugs/adds_file_destined_for_annex_into_git_in___39__addurl__39__.mdwn @@ -0,0 +1,41 @@ +### Please describe the problem. + +When addurl'ing a big file with .gitattributes configured to add only some files directly into git (and 'git annex add' operating correctly), addurl adds large files straight into git. + +### What version of git-annex are you using? On what operating system? + +git-annex version: 6.20161018+gitgf3c366a-1~ndall+1 + + +### Please provide any additional information below. + +[[!format sh """ +$> cat .gitattributes +* annex.backend=MD5E +* annex.largefiles=(largerthan=100kb) +*.json annex.largefiles=nothing +*.txt annex.largefiles=nothing +*.tsv annex.largefiles=nothing +*.nii.gz annex.largefiles=(largerthan=0kb) +*.tgz annex.largefiles=(largerthan=0kb) +*.tar.gz annex.largefiles=(largerthan=0kb) +*.gz annex.largefiles=(largerthan=0kb) + +$> git annex addurl http://fcp-indi.s3.amazonaws.com/data/Projects/HBNSSI/RawDataTars/sub-0031121_baseline.tar.gz\?versionId\=7FvexHgyazWF.dUo238FA7XRiK0FWQDw. +addurl fcp_indi.s3.amazonaws.com_data_Projects_HBNSSI_RawDataTars_sub_0031121_baseline.tar.gz_versionId_7FvexHgyazWF.dUo238FA7XRiK0FWQDw. (downloading http://fcp-indi.s3.amazonaws.com/data/Projects/HBNSSI/RawDataTars/sub-0031121_baseline.tar.gz?versionId=7FvexHgyazWF.dUo238FA7XRiK0FWQDw. ...) +/mnt/btrfs/datasets/datalad/crawl-misc/indi/ 100%[==============================================================================================>] 195.44M 21.2MB/s in 12s +(non-large file; adding content to git repository) ok +(recording state in git...) +cached/staged changes: + \u2026r.gz_versionId_7FvexHgyazWF.dUo238FA7XRiK0FWQDw. | Bin 0 -> 204937338 bytes + +$> ls -l fcp_indi.s3.amazonaws.com_data_Projects_HBNSSI_RawDataTars_sub_0031121_baseline.tar.gz_versionId_7FvexHgyazWF.dUo238FA7XRiK0FWQDw. +-rw------- 1 yoh datalad 204937338 Oct 25 17:30 fcp_indi.s3.amazonaws.com_data_Projects_HBNSSI_RawDataTars_sub_0031121_baseline.tar.gz_versionId_7FvexHgyazWF.dUo238FA7XRiK0FWQDw. +cached/staged changes: + \u2026r.gz_versionId_7FvexHgyazWF.dUo238FA7XRiK0FWQDw. | Bin 0 -> 204937338 bytes + +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/addurl_--batch__--with-files_doesn__39__t_add_file_into_git_until_pipe_is_closed.mdwn b/doc/bugs/addurl_--batch__--with-files_doesn__39__t_add_file_into_git_until_pipe_is_closed.mdwn new file mode 100644 index 000000000..59dda810f --- /dev/null +++ b/doc/bugs/addurl_--batch__--with-files_doesn__39__t_add_file_into_git_until_pipe_is_closed.mdwn @@ -0,0 +1,98 @@ +### Please describe the problem. + +only happens if file doesn't exist yet and gets downloaded (interestingly, as I reported in another report, if file exists it gets re-downloaded but this bug doesn't repeat) + +[[!format sh """ + +$> chmod a+w -R /tmp/123; rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; git annex init; +Initialized empty Git repository in /tmp/123/.git/ +init ok +(recording state in git...) + +$> mkfifo /tmp/pipe + +$> cat /tmp/pipe | git annex --debug addurl --batch --with-files +^Z +[2] + 1084 suspended cat /tmp/pipe | + 1085 suspended git annex --debug addurl --batch --with-files + +$> bg +[2] - 1084 continued cat /tmp/pipe | + 1085 continued git annex --debug addurl --batch --with-files + +$> exec 3>/tmp/pipe + +$> echo "http://www.onerussian.com/tmp/banner.png banner.png" >&3 +[2016-01-11 22:25:34.423037] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"] +[2016-01-11 22:25:34.427649] process done ExitSuccess +[2016-01-11 22:25:34.428067] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"] +[2016-01-11 22:25:34.432199] process done ExitSuccess + +$> [2016-01-11 22:25:34.432834] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..87efc349dceb06df635c8485ef536ae11f48736c","-n1","--pretty=%H"] +[2016-01-11 22:25:34.438533] process done ExitSuccess +[2016-01-11 22:25:34.439666] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch"] +[2016-01-11 22:25:34.444875] read: quvi ["--version"] +[2016-01-11 22:25:34.452158] process done ExitSuccess +[2016-01-11 22:25:34.452563] call: quvi ["--verbosity","mute","--support","http://www.onerussian.com/tmp/banner.png"] +[2016-01-11 22:25:34.468071] process done ExitFailure 65 +addurl banner.png (downloading http://www.onerussian.com/tmp/banner.png ...) +[2016-01-11 22:25:34.500939] call: wget ["-q","--show-progress","--clobber","-c","-O","/tmp/123/.git/annex/tmp/URL-s25319--http&c%%www.onerussian.com%tmp%banner.png","http://www.onerussian.com/tmp/banner.png","--user-agent","git-annex/6.20160104+gitg0cf96be-1~ndall+1"] +/tmp/123/.git/annex/tmp/URL-s25319--http&c%%www.on 100%[==============================================================================================================>] 24.73K --.-KB/s in 0s +[2016-01-11 22:25:34.518335] process done ExitSuccess +[2016-01-11 22:25:34.519195] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","check-attr","-z","--stdin","annex.backend","annex.numcopies","--"] +[2016-01-11 22:25:34.5241] read: git ["--version"] +[2016-01-11 22:25:34.527001] process done ExitSuccess +ok + +$> git status # note that file is untracked, although it is a symlink into .git/annex/objects +On branch master + +Initial commit + +Untracked files: + (use "git add <file>..." to include in what will be committed) + + banner.png + +nothing added to commit but untracked files present (use "git add" to track) + +$> # closing the pipe now +$> exec 3>&- +(recording state in git...) +[2016-01-11 22:26:02.947133] feed: xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","add","--"] +$> [2016-01-11 22:26:02.95701] process done ExitSuccess +[2016-01-11 22:26:02.961588] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","hash-object","-w","--stdin-paths","--no-filters"] +[2016-01-11 22:26:02.964507] feed: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","update-index","-z","--index-info"] +[2016-01-11 22:26:02.971853] process done ExitSuccess +[2016-01-11 22:26:02.972524] process done ExitSuccess +[2016-01-11 22:26:02.973043] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"] +[2016-01-11 22:26:02.975871] process done ExitSuccess +[2016-01-11 22:26:02.977613] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","write-tree"] +[2016-01-11 22:26:02.982308] process done ExitSuccess +[2016-01-11 22:26:02.982744] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","commit-tree","0b4d294f555bc86c17de89bca35193433408bbef","--no-gpg-sign","-p","refs/heads/git-annex"] +[2016-01-11 22:26:02.990485] process done ExitSuccess +[2016-01-11 22:26:02.990941] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","update-ref","refs/heads/git-annex","1359dc4d9296bc4f5941e7299376319899ea222c"] +[2016-01-11 22:26:02.995434] process done ExitSuccess + +[2] - 1084 done cat /tmp/pipe | + 1085 done git annex --debug addurl --batch --with-files + +$> git status +On branch master + +Initial commit + +Changes to be committed: + (use "git rm --cached <file>..." to unstage) + + new file: banner.png + +$> git annex version +git-annex version: 6.20160104+gitg0cf96be-1~ndall+1 +... + +"""]] + +[[!meta author=yoh]] + +> closing as not a bug [[done]] --[[Joey]] diff --git a/doc/bugs/addurl_--batch___40__--json_or_not__41___doesn__39__t_report_failure_correctly_if_non-annexed_file_exists.mdwn b/doc/bugs/addurl_--batch___40__--json_or_not__41___doesn__39__t_report_failure_correctly_if_non-annexed_file_exists.mdwn new file mode 100644 index 000000000..c135f7f32 --- /dev/null +++ b/doc/bugs/addurl_--batch___40__--json_or_not__41___doesn__39__t_report_failure_correctly_if_non-annexed_file_exists.mdwn @@ -0,0 +1,21 @@ +### Please describe the problem. + +Complained elsewhere (http://git-annex.branchable.com/bugs/inconsistent_output_upon_addurl_--batch_complicates_if_not_forbids_reliable_parsing_of_output/) haven't mentioned it was marked fixed, so reiterating as independent bugreport + +With today's version +[[!format sh """ + +$> echo "http://www.onerussian.com/tmp/banner.png 123" | git annex addurl --batch --with-files +addurl 123 git-annex: 123 already exists and is not annexed; not overwriting + +$> echo "http://www.onerussian.com/tmp/banner.png 123" | git annex addurl --batch --with-files 2>/dev/null +addurl 123 % + +$> echo "http://www.onerussian.com/tmp/banner.png 123" | git annex addurl --batch --with-files --json 2>/dev/null +{"command":"addurl","file":"123"% + +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/addurl_--batch_decides_to_talk_to_ssh_remotes_for_some_reason.mdwn b/doc/bugs/addurl_--batch_decides_to_talk_to_ssh_remotes_for_some_reason.mdwn new file mode 100644 index 000000000..cd2e2b5fb --- /dev/null +++ b/doc/bugs/addurl_--batch_decides_to_talk_to_ssh_remotes_for_some_reason.mdwn @@ -0,0 +1,21 @@ +### What version of git-annex are you using? On what operating system? + +6.20160425+gitgffe2ea2-1~ndall+1 +(reconfirmed with 6.20160523+gitg33c00ab-1~ndall+1) + +### Please provide any additional information below. +Here is a debug output from datalad which shows the interaction + +[[!format sh """ +2016-05-23 16:41:59,955 [DEBUG ] Initiating a new process for BatchedAnnex(annex_cmd='addurl', annex_options=<<['-c', 'annex.largefil...>>, git_options=[], output_proc=<function>, path=<<'/mnt/btrfs/datasets/d...>>) (annexrepo.py:1177) +2016-05-23 16:41:59,956 [Level 5] Command: ['git', '-c', 'receive.autogc=0', '-c', 'gc.auto=0', 'annex', 'addurl', '-c', 'annex.largefiles=exclude=Makefile and exclude=LICENSE* and exclude=ISSUES* and exclude=CHANGES* and exclude=README* and exclude=*.[mc] and exclude=dataset*.json and (exclude=*.txt or include=*/*.txt) and (exclude=*.json or include=*/*.json) and (exclude=*.tsv or include=*/*.tsv)', '--with-files', '--json', '--batch'] (annexrepo.py:1180) +2016-05-23 16:41:59,967 [Level 5] Sending u'http://openfmri.s3.amazonaws.com/tarballs/ds052_R2.0.0_metadata_derivatives.tgz?versionId=nrIMjS3lH6TMoSkA.27U.Md_k2BSva3i ds052_R2.0.0_metadata_derivatives.tgz\n' to batched annex BatchedAnnex(annex_cmd='addurl', annex_options=<<['-c', 'annex.largefil...>>, git_options=[], output_proc=<function>, path=<<'/mnt/btrfs/datasets/d...>>) (annexrepo.py:1234) +2016-05-23 16:41:59,968 [Level 5] Done sending. (annexrepo.py:1242) +yoh@datasets.datalad.org's password: +"""]] + +That repository indeed has a remote (ssh) setup pointing to datasets.datalad.org (which carries no load for annex, besides git-annex repository, ATM), but that remote should not be consulted IMHO for addurl operation (not to mention in the --batch mode shouldn't request any user interaction) + +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/bugs/addurl_--file__causes_file_redownload_even_if_it_already_present.mdwn b/doc/bugs/addurl_--file__causes_file_redownload_even_if_it_already_present.mdwn new file mode 100644 index 000000000..c3645b6fa --- /dev/null +++ b/doc/bugs/addurl_--file__causes_file_redownload_even_if_it_already_present.mdwn @@ -0,0 +1,32 @@ +### Please describe the problem. + +IMHO annex shouldn't redownload the file (not yet under annex/git control) entirely if pointed by --file=FILE FILE exists. + +[[!format sh """ + +$> chmod a+w -R /tmp/123; rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; git annex init; +Initialized empty Git repository in /tmp/123/.git/ +init ok + +$> wget -q http://www.onerussian.com/tmp/banner.png + +$> ls -l +total 28 +-rw------- 1 yoh yoh 25319 Sep 17 13:49 banner.png + +$> git annex addurl --file=banner.png http://www.onerussian.com/tmp/banner.png +addurl banner.png (downloading http://www.onerussian.com/tmp/banner.png ...) +/tmp/123/.git/annex/tmp/URL-s25319--http&c%%w 100%[=================================================================================================>] 24.73K --.-KB/s in 0.003s +ok + +$> git annex version +git-annex version: 6.20160104+gitg0cf96be-1~ndall+1 + +"""] + +[[!meta author=yoh]] + +> I don't think that the re-download is the bug. The actual problem +> is that the file is present and not an annexed file, so git-annex addurl +> should avoid overwriting it, whatever its content. [[fixed|done]] +> --[[Joey]] diff --git a/doc/bugs/annex_add_ignores_.-prefixed_directories.mdwn b/doc/bugs/annex_add_ignores_.-prefixed_directories.mdwn new file mode 100644 index 000000000..5db40f4dd --- /dev/null +++ b/doc/bugs/annex_add_ignores_.-prefixed_directories.mdwn @@ -0,0 +1,78 @@ +### Please describe the problem. + +annex add seems to ignore content under directories having . prefix. + +We thought to unify (across direct/indirect/v6) adding files to annex repository by using 'git annex add' with corresponding setting for largefiles for any addition, but it seems to ignore content under .-prefixed directories, unlike git + +### What version of git-annex are you using? On what operating system? + +6.20161122+gitg9f179ae-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ +hopa:/tmp/datalad_temp_test_annex_add_no_dotfilesqMXck8 +$> git status +On branch master + +Initial commit + +nothing to commit (create/copy files and use "git add" to track) + +$> mkdir .dir dir; echo 123 > .dir/123; echo 124 > dir/124 + +$> git status +On branch master + +Initial commit + +Untracked files: + (use "git add <file>..." to include in what will be committed) + + .dir/ + dir/ + +nothing added to commit but untracked files present (use "git add" to track) + +$> git annex add -c 'annex.largefiles=nothing' . +add dir/124 (non-large file; adding content to git repository) ok +(recording state in git...) + +$> git status +On branch master + +Initial commit + +Changes to be committed: + (use "git rm --cached <file>..." to unstage) + + new file: dir/124 + +Untracked files: + (use "git add <file>..." to include in what will be committed) + + .dir/ + + +# and with regular git +$> git -c 'annex.largefiles=nothing' add . + +$> git status +On branch master + +Initial commit + +Changes to be committed: + (use "git rm --cached <file>..." to unstage) + + new file: .dir/123 + new file: dir/124 + + +"""]] + +Ref: https://github.com/datalad/datalad/issues/1027 + +[[!meta author=yoh]] + +[[done]]; oh -- it is RTFM: --include-dotfiles --[[yoh]] diff --git a/doc/bugs/annex_drop_fails_to_determine_availability_on_a_http_url_redirecting_to_ftp.mdwn b/doc/bugs/annex_drop_fails_to_determine_availability_on_a_http_url_redirecting_to_ftp.mdwn new file mode 100644 index 000000000..9ecab381f --- /dev/null +++ b/doc/bugs/annex_drop_fails_to_determine_availability_on_a_http_url_redirecting_to_ftp.mdwn @@ -0,0 +1,131 @@ +### Please describe the problem. + +Need to annex some files from a http link which forwards to ftp. addurl works out fine (besides not carrying about redirected filename), but drop fails to verify presence of the file + + +### What version of git-annex are you using? On what operating system? + +6.20160706+gitgc4229be-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ +smaug:/tmp +$> mkdir /tmp/123; cd /tmp/123; git init; git annex init; +Initialized empty Git repository in /tmp/123/.git/ +init ok +(recording state in git...) +1 10080.....................................:Tue 12 Jul 2016 02:18:46 PM EDT:. +(git)smaug:/tmp/123[master] +$> git annex addurl --debug --pathdepth=-1 http://www.nitrc.org/frs/downloadlink.php/1637 +[2016-07-12 14:18:54.8195] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","git-annex"] +[2016-07-12 14:18:54.83021] process done ExitSuccess +[2016-07-12 14:18:54.830357] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"] +[2016-07-12 14:18:54.841375] process done ExitSuccess +[2016-07-12 14:18:54.841694] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","log","refs/heads/git-annex..787586641a9027e772b91989eb649cb9303cd975","--pretty=%H","-n1"] +[2016-07-12 14:18:54.851263] process done ExitSuccess +[2016-07-12 14:18:54.852043] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","cat-file","--batch"] +[2016-07-12 14:18:54.862122] read: quvi ["--version"] +[2016-07-12 14:18:54.869939] process done ExitSuccess +[2016-07-12 14:18:54.870062] call: quvi ["--verbosity","mute","--support","http://www.nitrc.org/frs/downloadlink.php/1637"] +[2016-07-12 14:18:54.891339] process done ExitFailure 65 +addurl 1637 (downloading http://www.nitrc.org/frs/downloadlink.php/1637 ...) +[2016-07-12 14:18:55.830611] call: wget ["-q","--show-progress","--clobber","-c","-O","/tmp/123/.git/annex/tmp/URL--http&c%%www.nitrc.org%frs%downloadlink.php%1637","http://www.nitrc.org/frs/downloadlink.php/1637","--user-agent","git-annex/6.20160706+gitgc4229be-1~ndall+1"] +1637 100%[===========================================================================================>] 268.32M 12.9MB/s in 27s +[2016-07-12 14:19:31.32811] process done ExitSuccess +[2016-07-12 14:19:31.328909] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","check-attr","-z","--stdin","annex.backend","annex.numcopies","annex.largefiles","--"] +[2016-07-12 14:19:31.329444] read: git ["--version"] +[2016-07-12 14:19:31.338195] process done ExitSuccess +[2016-07-12 14:19:31.338947] read: sha256sum [".git/annex/tmp/URL--http&c%%www.nitrc.org%frs%downloadlink.php%1637"] +[2016-07-12 14:19:32.860187] process done ExitSuccess +ok +(recording state in git...) +[2016-07-12 14:19:32.872749] feed: xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","add","--"] +[2016-07-12 14:19:32.890096] process done ExitSuccess +[2016-07-12 14:19:32.890573] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","hash-object","-w","--stdin-paths","--no-filters"] +[2016-07-12 14:19:32.891376] feed: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","update-index","-z","--index-info"] +[2016-07-12 14:19:32.901206] process done ExitSuccess +[2016-07-12 14:19:32.901288] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","show-ref","--hash","refs/heads/git-annex"] +[2016-07-12 14:19:32.909396] process done ExitSuccess +[2016-07-12 14:19:32.909691] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","write-tree"] +[2016-07-12 14:19:32.91827] process done ExitSuccess +[2016-07-12 14:19:32.918324] chat: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","commit-tree","6c1ce1871151c12f6930733e7693eac2fd862677","--no-gpg-sign","-p","refs/heads/git-annex"] +[2016-07-12 14:19:32.927217] process done ExitSuccess +[2016-07-12 14:19:32.927281] call: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","update-ref","refs/heads/git-annex","2453a1c23977e4f17ac5fd9668cdc7bdb93e34e8"] +[2016-07-12 14:19:32.936074] process done ExitSuccess +cached/staged changes: + 1637 | 1 + +1 10081.....................................:Tue 12 Jul 2016 02:19:32 PM EDT:. +(git)smaug:/tmp/123[master] +$> git commit -m 'added' +[master (root-commit) b212851] added + 1 file changed, 1 insertion(+) + create mode 120000 1637 +1 10082.....................................:Tue 12 Jul 2016 02:19:38 PM EDT:. +(git)smaug:/tmp/123[master]git +$> git annex drop 1637 +drop 1637 (checking http://www.nitrc.org/frs/downloadlink.php/1637...) (unsafe) + Could only verify the existence of 0 out of 1 necessary copies + + Rather than dropping this file, try using: git annex move + + (Use --force to override this check, or adjust numcopies.) +failed +git-annex: drop: 1 failed +1 10083 ->1.....................................:Tue 12 Jul 2016 02:19:48 PM EDT:. +(git)smaug:/tmp/123[master]git +$> wget -S http://www.nitrc.org/frs/downloadlink.php/1637 +--2016-07-12 14:19:54-- http://www.nitrc.org/frs/downloadlink.php/1637 +Resolving www.nitrc.org (www.nitrc.org)... 132.239.16.23 +Connecting to www.nitrc.org (www.nitrc.org)|132.239.16.23|:80... connected. +HTTP request sent, awaiting response... + HTTP/1.1 302 Found + Date: Tue, 12 Jul 2016 18:19:54 GMT + Server: Apache/2.2.15 (CentOS) + X-Powered-By: PHP/5.3.3 + Set-Cookie: PHPSESSID=vhcpo1fmi205cfv0h4jgbnn9a0; path=/ + Expires: Thu, 19 Nov 1981 08:52:00 GMT + Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 + Pragma: no-cache + Location: ftp://www.nitrc.org/fcon_1000/htdocs/Ontario.tar + Content-Length: 0 + Keep-Alive: timeout=2, max=100 + Connection: Keep-Alive + Content-Type: text/html; charset=UTF-8 +Location: ftp://www.nitrc.org/fcon_1000/htdocs/Ontario.tar [following] +--2016-07-12 14:19:55-- ftp://www.nitrc.org/fcon_1000/htdocs/Ontario.tar + => ‘Ontario.tar’ +Connecting to www.nitrc.org (www.nitrc.org)|132.239.16.23|:21... connected. +Logging in as anonymous ... +220 (vsFTPd 2.2.2) +--> USER anonymous + +331 Please specify the password. +--> PASS Turtle Power! + +230 Login successful. +--> SYST + +215 UNIX Type: L8 +--> PWD + +257 "/" +--> TYPE I + +200 Switching to Binary mode. +--> CWD /fcon_1000/htdocs + +250 Directory successfully changed. +--> SIZE Ontario.tar + +213 281354240 +--> PASV + +227 Entering Passive Mode (132,239,16,23,106,251). +--> RETR Ontario.tar + +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/annex_drop_is_not___34__in_effect__34___for_load_which_was___34__addurl_--batch__34__ed_but_not_yet_committed.mdwn b/doc/bugs/annex_drop_is_not___34__in_effect__34___for_load_which_was___34__addurl_--batch__34__ed_but_not_yet_committed.mdwn new file mode 100644 index 000000000..2ce7c1899 --- /dev/null +++ b/doc/bugs/annex_drop_is_not___34__in_effect__34___for_load_which_was___34__addurl_--batch__34__ed_but_not_yet_committed.mdwn @@ -0,0 +1,66 @@ +### Please describe the problem. + +Usecase (you might suggest a better way) is to 'annex' the content of files (via addurl) without actually committing symlinks to git (git-annex branch obviously should progress forward). So the sequence is akin 'annex addurl', 'annex drop' both ran with annex.alwayscommit=false . The issue is that it seems that if addurl is --batched, then symlink is not 'git add'ed until batched process finishes, and thus subsequent to 'addurl' 'drop' does nothing, leaving key behind not dropped. + +Related recent TODO wishlist is [[http://git-annex.branchable.com/todo/drop_--batch/]] + +### What steps will reproduce the problem? + +FWIW below is a somewhat noisy output from datalad's unittest (which addurl into the archive's content, so custom special remote is involved). At the end of the run content is not dropped, symlink is not dangling. + +### What version of git-annex are you using? On what operating system? + +originally was a version from March but tried also with fresh 6.20160425+gitgffe2ea2-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ + +2016-04-26 14:13:05,545 [DEBUG ] Initiating a new process for BatchedAnnex(annex_cmd='addurl', annex_options=['--with-files', '--json'], git_options=[], output_proc=<function>, path=<<'/home/yoh/.tmp/datala...>>) (annexrepo.py:1145) +2016-04-26 14:13:05,545 [Level 5] Command: ['git', '-c', 'receive.autogc=0', '-c', 'gc.auto=0', 'annex', 'addurl', '--with-files', '--json', '--batch'] (annexrepo.py:1148) +2016-04-26 14:13:05,548 [Level 5] Sending 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4 .dataladMCsP4y/file.txt\n' to batched annex BatchedAnnex(annex_cmd='addurl', annex_options=['--with-files', '--json'], git_options=[], output_proc=<function>, path=<<'/home/yoh/.tmp/datala...>>) (annexrepo.py:1202) +2016-04-26 14:13:05,548 [Level 5] Done sending. (annexrepo.py:1210) +2016-04-26 14:13:05,869 [DEBUG] Importing the rest of datalad.__init__ (__init__.py:15) +2016-04-26 14:13:05,870 [DEBUG] Reading files: ['/etc/datalad/datalad.cfg', '/etc/xdg/datalad/config', '/home/yoh/.config/datalad/datalad.cfg', '.datalad/config'] (configparserinc.py:144) +2016-04-26 14:13:05,959 [DEBUG] UI set to ConsoleLog(out=<file>) (__init__.py:48) +2016-04-26 14:13:05,960 [DEBUG] UI set to UnderAnnexUI(out=<file>) (__init__.py:48) +2016-04-26 14:13:05,962 [DEBUG] Not initiating existing cache for the archives under /tmp/datalad_temp_tree_setupmRy8cc/.git/datalad/tmp/archives (archives.py:262) +2016-04-26 14:13:05,962 [Level 4] Sending 'VERSION 1' (base.py:312) +2016-04-26 14:13:05,962 [Level 4] Received ['PREPARE'] (base.py:312) +2016-04-26 14:13:05,962 [Level 4] Sending 'PREPARE-SUCCESS' (base.py:312) +2016-04-26 14:13:05,962 [Level 4] Received ['CLAIMURL', 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4'] (base.py:312) +2016-04-26 14:13:05,963 [DEBUG] Claiming url 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4' (base.py:316) +2016-04-26 14:13:05,963 [Level 4] Sending "DEBUG Claiming url 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4'" (base.py:312) +2016-04-26 14:13:05,963 [Level 4] Sending 'CLAIMURL-SUCCESS' (base.py:312) +2016-04-26 14:13:05,963 [Level 4] Received ['CHECKURL', 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4'] (base.py:312) +2016-04-26 14:13:05,964 [DEBUG] Current directory: /tmp/datalad_temp_tree_setupmRy8cc, url: dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4 (archives.py:163) +2016-04-26 14:13:05,964 [DEBUG] Initiating a new process for BatchedAnnex(annex_cmd='contentlocation', annex_options=[], git_options=[], output_proc=<function>, path=<<'/tmp/datalad_temp_tre...>>) (annexrepo.py:1145) +2016-04-26 14:13:05,964 [Level 5] Command: ['git', '-c', 'receive.autogc=0', '-c', 'gc.auto=0', 'annex', 'contentlocation', '--batch'] (annexrepo.py:1148) +2016-04-26 14:13:05,967 [Level 5] Sending 'SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar\n' to batched annex BatchedAnnex(annex_cmd='contentlocation', annex_options=[], git_options=[], output_proc=<function>, path=<<'/tmp/datalad_temp_tre...>>) (annexrepo.py:1202) +2016-04-26 14:13:05,967 [Level 5] Done sending. (annexrepo.py:1210) +2016-04-26 14:13:06,007 [Level 5] Received output: '.git/annex/objects/7p/mj/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar' (annexrepo.py:1220) +2016-04-26 14:13:06,008 [Level 4] Sending 'CHECKURL-CONTENTS 4' (base.py:312) +2016-04-26 14:13:06,009 [Level 4] Received ['TRANSFER', 'RETRIEVE', 'URL-s4--dl,43archive:SHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61', '.git/annex/tmp/URL-s4--dl,43archive&cSHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61'] (base.py:312) +2016-04-26 14:13:06,009 [INFO] RETRIEVE key URL-s4--dl,43archive:SHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61 into/from .git/annex/tmp/URL-s4--dl,43archive&cSHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61 (base.py:429) +2016-04-26 14:13:06,009 [Level 4] Sending 'GETURLS URL-s4--dl,43archive:SHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61 dl+archive:' (base.py:312) +2016-04-26 14:13:06,011 [Level 4] Received ['VALUE', 'dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4'] (base.py:312) +2016-04-26 14:13:06,011 [Level 4] Received ['VALUE'] (base.py:312) +2016-04-26 14:13:06,011 [Level 4] Received URLS: ['dl+archive:SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/1/file.txt#size=4'] (base.py:312) +2016-04-26 14:13:06,011 [DEBUG] Getting file 1/file.txt from /tmp/datalad_temp_tree_setupmRy8cc/.git/annex/objects/7p/mj/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar while PWD=/tmp/datalad_temp_tree_setupmRy8cc (archives.py:299) +2016-04-26 14:13:06,011 [DEBUG] Requested file 1/file.txt from archive /tmp/datalad_temp_tree_setupmRy8cc/.git/annex/objects/7p/mj/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar/SHA256E-s10240--0d52ce580b5ea9324dfc2ac7c714130f02499439e6b990282adb6580a97fe1d0.tar (archives.py:454) +2016-04-26 14:13:06,012 [Level 2] Verifying that /tmp/datalad_temp_tree_setupmRy8cc/.git/datalad/tmp/archives/60e44d2ccc/1/file.txt exists (archives.py:462) +2016-04-26 14:13:06,012 [DEBUG] Hardlinking /tmp/datalad_temp_tree_setupmRy8cc/.git/datalad/tmp/archives/60e44d2ccc/1/file.txt under .git/annex/tmp/URL-s4--dl,43archive&cSHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61 (cmd.py:372) +2016-04-26 14:13:06,012 [Level 2] Hardlinking finished (cmd.py:382) +2016-04-26 14:13:06,012 [Level 4] Sending 'TRANSFER-SUCCESS RETRIEVE URL-s4--dl,43archive:SHA256E-s10240--0d-d5401228f11172416c78bab2f3f31f61' (base.py:312) +2016-04-26 14:13:06,022 [Level 5] Received output: {u'note': u'from datalad-archives', u'success': True, u'command': u'addurl', u'key': u'SHA256E-s4--0cf67fc72b3c86c7a454f6d86b43ed245a8e491d0e5288d4da8c7ff43a7bcdb0.txt', u'file': u'.dataladMCsP4y/file.txt'} (annexrepo.py:1220) +2016-04-26 14:13:06,023 [DEBUG ] Running: ['git', '-c', 'receive.autogc=0', '-c', 'gc.auto=0', '-c', 'annex.alwayscommit=false', 'annex', 'drop', '--debug', '.dataladMCsP4y/file.txt'] (cmd.py:351) +2016-04-26 14:13:06,075 [ERROR ] stderr| [2016-04-26 14:13:06.069266] read: git ["--git-dir=.git","--work-tree=.","--literal-pathspecs","ls-files","--cached","-z","--",".dataladMCsP4y/file.txt"] (cmd.py:351) +2016-04-26 14:13:06,075 [Level 8] Finished running ['git', '-c', 'receive.autogc=0', '-c', 'gc.auto=0', '-c', 'annex.alwayscommit=false', 'annex', 'drop', '--debug', '.dataladMCsP4y/file.txt'] with status 0 (cmd.py:351) +t sh + +"""]] + + +[[!meta author=yoh]] + +> [[done]] per comments --[[Joey]] diff --git a/doc/bugs/cannot___34__install__34___standalone_git_annex_within_afs_mount.mdwn b/doc/bugs/cannot___34__install__34___standalone_git_annex_within_afs_mount.mdwn new file mode 100644 index 000000000..32643a612 --- /dev/null +++ b/doc/bugs/cannot___34__install__34___standalone_git_annex_within_afs_mount.mdwn @@ -0,0 +1,24 @@ +### Please describe the problem. + +Cannot even extract the standalone linux tarball for deployment on our processing server: + +[[!format sh """ +[mvdoc@rolando bin] > tar -xzf git-annex-standalone-amd64.tar.gz +tar: git-annex.linux/shimmed/git-fsck/git-fsck: Cannot hard link to `git-annex.linux/shimmed/git-help/git-help': Invalid cross-device link +tar: git-annex.linux/shimmed/git-cat-file/git-cat-file: Cannot hard link to `git-annex.linux/shimmed/git-help/git-help': Invalid cross-device link +tar: git-annex.linux/shimmed/git-init/git-init: Cannot hard link to `git-annex.linux/shimmed/git-help/git-help': Invalid cross-device link +... +tar: Exiting with failure status due to previous errors + +[mvdoc@rolando bin] > ls -l git-annex.linux/shimmed/git-pack-redundant/git-pack-redundant git-annex.linux/shimmed/git-help/git-help +ls: cannot access git-annex.linux/shimmed/git-pack-redundant/git-pack-redundant: No such file or directory +-rwxr-xr-x 1 mvdoc users 2023056 Oct 29 22:44 git-annex.linux/shimmed/git-help/git-help +[mvdoc@rolando bin] > + + +# End of transcript or log. +"""]] + +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/bugs/does_not_complain__47__fail_if_by_mistake_option_value_passed_within_arg_for__-c.mdwn b/doc/bugs/does_not_complain__47__fail_if_by_mistake_option_value_passed_within_arg_for__-c.mdwn new file mode 100644 index 000000000..dbaceb9ea --- /dev/null +++ b/doc/bugs/does_not_complain__47__fail_if_by_mistake_option_value_passed_within_arg_for__-c.mdwn @@ -0,0 +1,26 @@ +### Please describe the problem. + +spotted that in my script I have "incorrectly" passed both -c and its value within the same single argument ('-c annex....'). But surprisingly annex neither treated it correctly, nor complained that something was incorrectly passed in. Shouldn't it fail if option is not '-c' but '-c smthelse' or correctly treat the value in such as case? + +### What version of git-annex are you using? On what operating system? + +5.20151104+gitge9cdce6-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ +$> ls -ld svgtune-0.2.0/README.rst +-rw------- 1 yoh yoh 9 Nov 12 12:03 svgtune-0.2.0/README.rst + +$> git-annex add --debug '-c annex.largefiles=exclude=*.rst' svgtune-0.2.0/README.rst +add svgtune-0.2.0/README.rst ok +(recording state in git...) + +$> ls -ld svgtune-0.2.0/README.rst +lrwxrwxrwx 1 yoh yoh 189 Nov 12 12:03 svgtune-0.2.0/README.rst -> ../.git/annex/objects/32/vx/SHA256E-s9--246c960678ee9a80aa6d2eff2f1df1debd590cb73aa5fed6cb4b13b8018599f5.rst/SHA256E-s9--246c960678ee9a80aa6d2eff2f1df1debd590cb73aa5fed6cb4b13b8018599f5.rst +"""]] + +[[!meta author=yoh]] + +> I guess it could be considered [[done]] --[[yoh]] + diff --git a/doc/bugs/dropkey_--batch_--json_--force_is_always_succesfull.mdwn b/doc/bugs/dropkey_--batch_--json_--force_is_always_succesfull.mdwn new file mode 100644 index 000000000..8dcf3b6fc --- /dev/null +++ b/doc/bugs/dropkey_--batch_--json_--force_is_always_succesfull.mdwn @@ -0,0 +1,35 @@ +### Please describe the problem. + +just want to check if that is "by design"... --force was demanded seem operation is dangerous, but I expected that it would still report success false if key was not actually dropped, at least if a key is a completely wrong key + +so is that "by design" and I shouldn't care to check success field...? + +### What version of git-annex are you using? On what operating system? +6.20160425+gitgffe2ea2-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ + +$> echo MD5E-s11--74d80f7d99b835e5189948c8d4297efd | git annex dropkey --batch --json --force +{"command":"dropkey","key":"MD5E-s11--74d80f7d99b835e5189948c8d4297efd","success":true} + +$> ls -l +total 0 +0 lrwxrwxrwx 1 yoh yoh 110 Apr 29 09:21 124 -> .git/annex/objects/MV/Jw/MD5E-s11--74d80f7d99b835e5189948c8d4297efd/MD5E-s11--74d80f7d99b835e5189948c8d4297efd + +$> echo MD5E-s11--74d80f7d99b835e5189948c8d4297efd | git annex dropkey --batch --json --force +{"command":"dropkey","key":"MD5E-s11--74d80f7d99b835e5189948c8d4297efd","success":true} + +$> echo MD5E-s11--74d80f7dsd99b835e5189948c8d4297efd | git annex dropkey --batch --json --force +{"command":"dropkey","key":"MD5E-s11--74d80f7dsd99b835e5189948c8d4297efd","success":true} + +$> echo MD5E-s11--74d80f7dsd99b835e5189948c8d4297efdsdfsdf | git annex dropkey --batch --json --force +{"command":"dropkey","key":"MD5E-s11--74d80f7dsd99b835e5189948c8d4297efdsdfsdf","success":true} + + +"""]] + +[[!meta author=yoh]] + +> [[notabug|done]] --[[Joey]] diff --git a/doc/bugs/duplicate_progress_reports_in_parallel___39__get__39__.mdwn b/doc/bugs/duplicate_progress_reports_in_parallel___39__get__39__.mdwn new file mode 100644 index 000000000..21e1d4446 --- /dev/null +++ b/doc/bugs/duplicate_progress_reports_in_parallel___39__get__39__.mdwn @@ -0,0 +1,24 @@ +[[!format sh """ +$> git annex version +git-annex version: 6.20160213+gitg9597a21-1~ndall+1 +... +$> git annex get -J 5 . +get docs/freesurfer.groupanalysis.ppt (from origin...) (checksum...) ok +get docs/freesurfer.future_directions.2007.ppt (from origin...) (checksum...) ok +get docs/freesurfer.groupanalysis.short.ppt (from origin...) (checksum...) ok +get distribution/trctrain/trctraindata.tar.gz (from origin...) +47% 80.2MB/s 3s +47% 80.2MB/s 3s +get docs/freesurfer.inferring_architectonics.ppt (from origin...) +33% 8.1MB/s 4s +33% 8.1MB/s 4s +get docs/freesurfer.intro.2011.ppt (from origin...) +64% 7.3MB/s 1s +64% 7.3MB/s 1s +get docs/freesurfer.intro.mmclass.ppt (from origin...) +# End of transcript or log. +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/git_annex_adjust_--unlock_seems_to_cause_migration_of_a_file_to_another_backend.mdwn b/doc/bugs/git_annex_adjust_--unlock_seems_to_cause_migration_of_a_file_to_another_backend.mdwn new file mode 100644 index 000000000..8cb93952a --- /dev/null +++ b/doc/bugs/git_annex_adjust_--unlock_seems_to_cause_migration_of_a_file_to_another_backend.mdwn @@ -0,0 +1,60 @@ +### Please describe the problem. + +Interestingly, on my first attempt I had two files which migrated from MD5 to MD5E backend, but may be I have done some steps differently which provoked also also utils/test/test_data.tar.gz to get to the same destiny (actually later replicated on a fresh clone). +I am also a bit confused why git diff reports change in the symlink if file is already a real file (I guess all the smudging magic) + +### Please provide any additional information below. + +[[!format sh """ +# If you can, paste a complete transcript of the problem occurring here. +# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log +(git)smaug:~exppsy/freesurfer-upstream2[master]git +$> git status +On branch master +Your branch is up-to-date with 'origin/master'. +nothing to commit, working directory clean + +$> git annex adjust --unlock +adjust +Checking out files: 100% (468/468), done. +Switched to branch 'adjusted/master(unlocked)' +ok +git annex adjust --unlock 23.70s user 35.25s system 32% cpu 2:59.41 total +changes on filesystem: + vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh | 2 +- + +$> git status +On branch adjusted/master(unlocked) +Changes not staged for commit: + (use "git add <file>..." to update what will be committed) + (use "git checkout -- <file>..." to discard changes in working directory) + + modified: vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh + +no changes added to commit (use "git add" and/or "git commit -a") +changes on filesystem: + vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh | 2 +- + +$> git diff +diff --git a/vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh b/vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh +index 9ea90d3..7bc0177 100644 +--- a/vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh ++++ b/vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh +@@ -1 +1 @@ +-/annex/objects/SHA256-s655672--85f9b50e8fb8a72a8783152c7ad098c0600222256a7244ccd595cbe67b9ea949 ++/annex/objects/SHA256E-s655672--85f9b50e8fb8a72a8783152c7ad098c0600222256a7244ccd595cbe67b9ea949.mgh +changes on filesystem: + vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh | 2 +- + +$> ls -ld vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh +-rw------- 1 yoh yoh 655672 Jun 1 23:28 vtkutils/vtkKWRGBATransferFunctionEditorTester-scalars.mgh + +$> git annex version +git-annex version: 6.20160523+gitg33c00ab-1~ndall+1 + +"""]] + + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/inconsistent_output_upon_addurl_--batch_complicates_if_not_forbids_reliable_parsing_of_output.mdwn b/doc/bugs/inconsistent_output_upon_addurl_--batch_complicates_if_not_forbids_reliable_parsing_of_output.mdwn new file mode 100644 index 000000000..6601e9ba5 --- /dev/null +++ b/doc/bugs/inconsistent_output_upon_addurl_--batch_complicates_if_not_forbids_reliable_parsing_of_output.mdwn @@ -0,0 +1,24 @@ +### Please describe the problem. + +if using addurl in --batch mode, there is no --json formatting and text output is somewhat inconsistent. It might include "downloading ..." with 'ok' on a separate line, possibly with a msg on recording state in git, or within the same line report 'ok', or 'failed' in upcoming lines. This complicates parsing of such output to verify correct operation for a given addurl pair + +[[!format sh """ + +$> echo 'http://127.0.0.1:33369/about.txt about.txt' | git -c receive.autogc=false annex addurl --with-files --batch --debug 2>/dev/null +addurl about.txt (downloading http://127.0.0.1:33369/about.txt ...) +ok +(recording state in git...) + +$> echo 'http://127.0.0.1:33369/about.txt about.txt' | git -c receive.autogc=false annex addurl --with-files --batch --debug 2>/dev/null +addurl about.txt ok + +$> echo 'http://127.0.0.1:33369/about.stxt about.txt' | git -c receive.autogc=false annex addurl --with-files --batch --debug 2>/dev/null +addurl about.txt +failed + +"""]] + +[[!meta author=yoh]] + +> I've made --json work for addurl; I feel that's the way to go for parsing +> its output. [[done]] --[[Joey]] diff --git a/doc/bugs/info_--json_lists_backend_usage_stats_as_a_list_of_lists.mdwn b/doc/bugs/info_--json_lists_backend_usage_stats_as_a_list_of_lists.mdwn new file mode 100644 index 000000000..b84ab32e6 --- /dev/null +++ b/doc/bugs/info_--json_lists_backend_usage_stats_as_a_list_of_lists.mdwn @@ -0,0 +1,34 @@ +### What version of git-annex are you using? On what operating system? + +5.20151116+gitg5416a1a-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ + "backend usage": [ + [ + "MD5E", + 2 + ], + [ + "SHA256E", + 2 + ] + ], +"""]] + +instead of more logical + +[[!format sh """ + + "backend usage": { + "MD5E": 2, + "SHA256E": 2 + } +"""]] + +also it seems it just doubles them since I have only 2 files, 1 for each backend (as reported also by info "local annex keys": 2). + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/lookupkey_started_to_spit_out___34__debug__34___messages_to_stdout.mdwn b/doc/bugs/lookupkey_started_to_spit_out___34__debug__34___messages_to_stdout.mdwn new file mode 100644 index 000000000..265005c9e --- /dev/null +++ b/doc/bugs/lookupkey_started_to_spit_out___34__debug__34___messages_to_stdout.mdwn @@ -0,0 +1,41 @@ +### Please describe the problem. + +with previous snapshot (6.20160119+gitgb2a2f5d-1~ndall+1) you just get a clean output + +[[!format sh """ +hopa:~/.tmp +$> git clone /home/yoh/.tmp/datalad_temp_clone_url_RmXPyt 123 +Cloning into '123'... +done. + +$> cd 123 +INFO.txt test-annex.dat@ test.dat + +$> git annex lookupkey test-annex.dat +SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat + +"""]] + +with new one (6.20160126+gitg65f4442-1~ndall+1) you get it polluted in such a freshly cloned repo with + +[[!format sh """ +$> git annex lookupkey test-annex.dat +(merging origin/git-annex into git-annex...) +(recording state in git...) +SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat +"""]] + +and since I am a "dude" who likes "devnulling" things for some reason (I hope reason is clear here ;)): + +[[!format sh """ +$> git annex lookupkey test-annex.dat 2>/dev/null +(merging origin/git-annex into git-annex...) +(recording state in git...) +SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat +"""]] + +I guess I will just skip all lines starting with ( for now but thought to let you know about such changed behavior which might complicate pipelining etc + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/man_page_for_command_misses_actual_command_in_the_synopsis_for_git-annex-checkpresentkey.mdwn b/doc/bugs/man_page_for_command_misses_actual_command_in_the_synopsis_for_git-annex-checkpresentkey.mdwn new file mode 100644 index 000000000..b5077f910 --- /dev/null +++ b/doc/bugs/man_page_for_command_misses_actual_command_in_the_synopsis_for_git-annex-checkpresentkey.mdwn @@ -0,0 +1,18 @@ +[[!format sh """ +$> git annex version +git-annex version: 6.20160126+gitg65f4442-1~ndall+1 +... +$> man git-annex-checkpresentkey | head +git-annex-checkpresentkey(1) General Commands Manual git-annex-checkpresentkey(1) + +NAME + git-annex-checkpresentkey - check if key is present in remote + +SYNOPSIS + git annex key remote + +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/new_whereis_--json_lost_information_about_web_urls_if_other_special_remotes_provide_them.mdwn b/doc/bugs/new_whereis_--json_lost_information_about_web_urls_if_other_special_remotes_provide_them.mdwn new file mode 100644 index 000000000..bd860e9e4 --- /dev/null +++ b/doc/bugs/new_whereis_--json_lost_information_about_web_urls_if_other_special_remotes_provide_them.mdwn @@ -0,0 +1,93 @@ +### Please describe the problem. + +With upgrade to 6.20160114+gitg6be9ee0-1~ndall+1 our (datalad) tests started to fail since apparently format of whereis --json has changed. It changed probably for the best since now no need to parse out urls from the generic 'note' field. BUT it seems that it has lost 1. ability to associate urls with remotes 2. doesn't list web remote urls if another remote provides urls as well + +### Please provide any additional information below. + +[[!format sh """ +$> git annex whereis sub001/BOLD/task001_run001/bold.nii.gz +whereis sub001/BOLD/task001_run001/bold.nii.gz (3 copies) + 00000000-0000-0000-0000-000000000001 -- web + 70d0c2f3-0d57-485c-8802-f6e829503516 -- [datalad-archives] + bb907499-dbea-4713-977f-0ccd209de415 -- yoh@hopa:~/datalad/crawl/openfmri/ds000005 [here] + + web: http://www.onerussian.com/tmp/banner.png + web: http://www.onerussian.com/tmp/bold.nii.gz + + datalad-archives: dl+archive:SHA256E-s110760--5c9a3b565944b84c7df381481b597d716061881cbfc85493317452e85ea9b391.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz + datalad-archives: dl+archive:SHA256E-s111649--63c9168b53e033c29d188b97d4950e267fa93a4d991fc92f42a3bb9488013863.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz + datalad-archives: dl+archive:SHA256E-s112069--f1afedb105994006cbf37c03e2a05b538397283701c5a9bee483287ca912d690.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz + datalad-archives: dl+archive:SHA256E-s154612--8adda02a8bc1a88f864f2cff31766f5ad4fcefbb42afd7230f95edfb5e0dfcb1.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz +ok + +$> git annex whereis --json sub001/BOLD/task001_run001/bold.nii.gz | python -m json.tool +{ + "command": "whereis", + "file": "sub001/BOLD/task001_run001/bold.nii.gz", + "note": "\t00000000-0000-0000-0000-000000000001 -- web\n \t70d0c2f3-0d57-485c-8802-f6e829503516 -- [datalad-archives]\n \tbb907499-dbea-4713-977f-0ccd209de415 -- yoh@hopa:~/datalad/crawl/openfmri/ds000005 [here]\n", + "success": true, + "untrusted": [], + "urls": [ + "dl+archive:SHA256E-s110760--5c9a3b565944b84c7df381481b597d716061881cbfc85493317452e85ea9b391.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s111649--63c9168b53e033c29d188b97d4950e267fa93a4d991fc92f42a3bb9488013863.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s112069--f1afedb105994006cbf37c03e2a05b538397283701c5a9bee483287ca912d690.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s154612--8adda02a8bc1a88f864f2cff31766f5ad4fcefbb42afd7230f95edfb5e0dfcb1.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz" + ], + "whereis": [ + { + "description": "web", + "here": false, + "uuid": "00000000-0000-0000-0000-000000000001" + }, + { + "description": "[datalad-archives]", + "here": false, + "uuid": "70d0c2f3-0d57-485c-8802-f6e829503516" + }, + { + "description": "yoh@hopa:~/datalad/crawl/openfmri/ds000005", + "here": true, + "uuid": "bb907499-dbea-4713-977f-0ccd209de415" + } + ] +} + +"""]] + +as you can see -- only --json format is missing on web remote URLs. I guess, ideally, "urls" should also be an associative array with keys corresponding to remote names and listing them under. OR why not to list them within the remote record under 'whereis'? Sounds like the most logical place for them to be at, e.g. + +[[!format sh """ + + "whereis": [ + { + "description": "web", + "here": false, + "uuid": "00000000-0000-0000-0000-000000000001", + "urls": [ "http://www.onerussian.com/tmp/bold.nii.gz"] + }, + { + "description": "[datalad-archives]", + "here": false, + "uuid": "70d0c2f3-0d57-485c-8802-f6e829503516" + "urls": [ + "dl+archive:SHA256E-s110760--5c9a3b565944b84c7df381481b597d716061881cbfc85493317452e85ea9b391.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s111649--63c9168b53e033c29d188b97d4950e267fa93a4d991fc92f42a3bb9488013863.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s112069--f1afedb105994006cbf37c03e2a05b538397283701c5a9bee483287ca912d690.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz", + "dl+archive:SHA256E-s154612--8adda02a8bc1a88f864f2cff31766f5ad4fcefbb42afd7230f95edfb5e0dfcb1.tgz/ds005/sub001/BOLD/task001_run001/bold.nii.gz" + ], + + + }, + { + "description": "yoh@hopa:~/datalad/crawl/openfmri/ds000005", + "here": true, + "uuid": "bb907499-dbea-4713-977f-0ccd209de415" + } + ] +"""]] + +what is the purpose of note in current output anyways since it just duplicates information in 'whereis' field? + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/prematurely___40__can__39__t_check_offline__41___marks_remote_as_annex-ignore.mdwn b/doc/bugs/prematurely___40__can__39__t_check_offline__41___marks_remote_as_annex-ignore.mdwn new file mode 100644 index 000000000..41e573dda --- /dev/null +++ b/doc/bugs/prematurely___40__can__39__t_check_offline__41___marks_remote_as_annex-ignore.mdwn @@ -0,0 +1,29 @@ +### Please describe the problem. + +I have cloned via http and then went offline... decided to get a file, annex immediately tried to fetch it from origin which it couldn't have access to atm and marked it as annex-ignore. IMHO it is a bit premature action, and annex should mark a remote as ignore only if it managed to reach the remote location and discovered that it has no annex there, not on a mere connectivity fluke + + +### What version of git-annex are you using? On what operating system? + +6.20160425+gitgffe2ea2-1~ndall+1 + +### Please provide any additional information below. + +[[!format sh """ +$> git annex get cond001.txt +(merging origin/git-annex into git-annex...) +(recording state in git...) +get cond001.txt + Remote origin not usable by git-annex; setting annex-ignore +(not available) + Try making some of these repositories available: + 899f0347-0888-48ef-91b6-bac213ca8cef -- datalad-archives + c8bd3d05-33d4-4b59-9d53-ca7efbdcdd13 -- yoh@smaug:/mnt/btrfs/datasets/datalad/crawl/openfmri/ds000001 +failed +(recording state in git...) +git-annex: get: 1 failed +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/remote_repository_must_be_version_6_as_well_to_have_copied_files_appear_correctly.mdwn b/doc/bugs/remote_repository_must_be_version_6_as_well_to_have_copied_files_appear_correctly.mdwn new file mode 100644 index 000000000..57a174455 --- /dev/null +++ b/doc/bugs/remote_repository_must_be_version_6_as_well_to_have_copied_files_appear_correctly.mdwn @@ -0,0 +1,47 @@ +### Please describe the problem. + +Originally spotted/reported: https://github.com/datalad/datalad/issues/1020 + +If that is mandatory, then I guess there should be some error message. + +### What steps will reproduce the problem? + +create a remote repo without specifying version, i.e. of version 5 and copy data into it + +### What version of git-annex are you using? On what operating system? + +6.20160923+gitgd1dabb3-1~ndall+1 + +### Please provide any additional information below. + +Output from running http://www.onerussian.com/tmp/v6-push.sh with argument which specifies annex version within remote + +[[!format sh """ + +$> ./v6-push.sh 5 2>&1 | grep '>>>' +>>> /annex/objects/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat +>>> /annex/objects/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat + +$> ./v6-push.sh 6 2>&1 | grep '>>>' +>>> /annex/objects/SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat +>>> 123 + +"""]] + + +[[!meta author=yoh]] + +> The data loss bugs are fixed in [[!commit ee309d694161d0f416420db6c4efb834c813351e]]. +> +> I am not sure yet why the keys database lacked an entry for the file; +> perhaps something to do with it being a v6 unlocked file in a v5 +> repository. +> +> Ok.. Seems that cloning to a v5 repository, and then copying/getting +> objects into it, and then upgrading to v6 reproduces the problem with the +> keys database. The inode cache does not get populated for unlocked files +> on upgrade. Also, unlocked files stay as pointer files even when their +> content is present in annex/objects. Fixed the upgrade process to handle +> this case. +> +> [[fixed|done]]] --[[Joey]] diff --git a/doc/bugs/reports_success_when_addurl_--batch__a_file_which_is_.gitignore__39__d.mdwn b/doc/bugs/reports_success_when_addurl_--batch__a_file_which_is_.gitignore__39__d.mdwn new file mode 100644 index 000000000..1fbd3bdaa --- /dev/null +++ b/doc/bugs/reports_success_when_addurl_--batch__a_file_which_is_.gitignore__39__d.mdwn @@ -0,0 +1,36 @@ +### Please describe the problem. + +Reports success although file is not added to git, since ignored due to .gitignore + +Although not sure yet if that is annex could actually take care about since probably annex stages those for 'add' command to git so wouldn't know right when addurl is called for a specific file? + +### What steps will reproduce the problem? + +see below + +### What version of git-annex are you using? On what operating system? + +6.20160728+gitg9a2fe62-1~ndall+1 + + +[[!format sh """ + +$> rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; echo "*exclude*" >| .git/info/exclude; git annex init; { echo "http://www.onerussian.com/tmp/1exclude.txt 1exclude.txt"; echo "2nd one" >&2; echo "http://www.onerussian.com/tmp/2.txt 2.txt"\; } | git annex addurl -c annex.largefiles=exclude=*.txt --batch --json --with-files +Initialized empty Git repository in /tmp/123/.git/ +init ok +(recording state in git...) +2nd one +{"command":"addurl","key":null,"file":"1exclude.txt","note":"downloading http://www.onerussian.com/tmp/1exclude.txt ...","note":"non-large file; adding content to git repository","success":true} +{"command":"addurl","key":null,"file":"2.txt;","note":"downloading http://www.onerussian.com/tmp/2.txt ...","key":"SHA256E-s2--53c234e5e8472b6ac51c1ae1cab3fe06fad053beb8ebfd8977b010655bfdd3c3.txt","success":true} +The following paths are ignored by one of your .gitignore files: +1exclude.txt +Use -f if you really want to add them. +git-annex: user error (xargs ["-0","git","--git-dir=.git","--work-tree=.","--literal-pathspecs","-c","annex.largefiles=exclude=*.txt","add","--"] exited 123) +"""]] + +[[!meta author=yoh]] + +> And it leaves the unstaged symlink behind too. +> +> [[fixed|done]] to check ignore status before creating the file. +> --[[Joey]] diff --git a/doc/bugs/standalone_builds_shouldn__39__t_pollute___126____47__.ssh_with_helpers_merely_upon_annex_init.mdwn b/doc/bugs/standalone_builds_shouldn__39__t_pollute___126____47__.ssh_with_helpers_merely_upon_annex_init.mdwn new file mode 100644 index 000000000..58c7d71fc --- /dev/null +++ b/doc/bugs/standalone_builds_shouldn__39__t_pollute___126____47__.ssh_with_helpers_merely_upon_annex_init.mdwn @@ -0,0 +1,18 @@ +### Please describe the problem. + +Currently if I using standalone annex builds mere 'annex init' immediately rushes to generate .ssh/git-annex-{shell,wrapper} helpers. I would really prefer to keep ~/.ssh untouched by any magic from the tools which presumably unrelated to ssh. Moreover it leads to failures such as + +/usr/lib/git-annex.linux/runshell: 67: /usr/lib/git-annex.linux/runshell: cannot create /.ssh/git-annex-wrapper: Directory nonexistent + +happen if HOME was overridden (e.g. for testing etc) and I have no intent to use annex as an assistant etc. + +Originally described in http://git-annex.branchable.com/devblog/day_155__missing_bits/ as a solution to overcome problems with assistant's server operation from standalone builds. Why those couldn't be installed alongside with git-annex wrapper? (actually there is also git-annex-shell at least in the Debian standalone packages) + + +### What version of git-annex are you using? On what operating system? + +5.20150916+gitg79661ef-1~ndall+1 + +[[!meta author=yoh]] + +Since packaged version suggestively (I think I did check) resolved the issue, marking it as [[done]] diff --git a/doc/bugs/strips___95___from_extensions_in_E_backends__63__.mdwn b/doc/bugs/strips___95___from_extensions_in_E_backends__63__.mdwn new file mode 100644 index 000000000..e0785b30b --- /dev/null +++ b/doc/bugs/strips___95___from_extensions_in_E_backends__63__.mdwn @@ -0,0 +1,17 @@ +in my obscure case filename is ds001_R1.1.0_raw.tgz and resultant extension annex takes for the E backend is .0raw.tgz which is formed from .0_raw.tgz with _ removed. IMHO if _ is not expected in the extensions, the target extension then should have been just .tgz. If it does expect/allow for _ in extension -- should have been .0_raw.tgz + +[[!format sh """ +# If you can, paste a complete transcript of the problem occurring here. +# If the problem is with the git-annex assistant, paste in .git/annex/daemon.log +$> f=ds001_R1.1.0_raw.tgz; rm -rf /tmp/repo1; mkdir /tmp/repo1; cd /tmp/repo1; git init; git annex init ; echo 123>$f; git annex add --backend MD5E $f; ls -ld $f +Initialized empty Git repository in /tmp/repo1/.git/ +init ok +(recording state in git...) +add ds001_R1.1.0_raw.tgz ok +(recording state in git...) +lrwxrwxrwx 1 yoh yoh 126 May 25 14:27 ds001_R1.1.0_raw.tgz -> .git/annex/objects/g5/jW/MD5E-s4--ba1f2511fc30423bdbb183fe33f3dd0f.0raw.tgz/MD5E-s4--ba1f2511fc30423bdbb183fe33f3dd0f.0raw.tgz +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/thread_blocked_indefinitely_in_an_STM_transaction__while_moving_within__a_local_clone.mdwn b/doc/bugs/thread_blocked_indefinitely_in_an_STM_transaction__while_moving_within__a_local_clone.mdwn new file mode 100644 index 000000000..eaf79a862 --- /dev/null +++ b/doc/bugs/thread_blocked_indefinitely_in_an_STM_transaction__while_moving_within__a_local_clone.mdwn @@ -0,0 +1,40 @@ +relates to having pidlock true + +[[!format sh """ +$> mkdir 123; cd 123; git init; git annex init; git config annex.pidlock true && echo "123" > 123.dat; git annex add 123.dat; git commit -m 'added'; +W: git-annex repositories not (yet) supported in the prompt +Initialized empty Git repository in /tmp/123/.git/ +init ok +(recording state in git...) +add 123.dat ok +(recording state in git...) +[master (root-commit) 9449f1b] added + 1 file changed, 1 insertion(+) + create mode 120000 123.dat + +$> git clone . ../123-clone && git remote add clone ../123-clone && git fetch clone && cd ../123-clone && git config annex.pidlock true && cd - && git annex move --to=clone . +Cloning into '../123-clone'... +done. +From ../123-clone + * [new branch] master -> clone/master +move 123.dat git-annex: thread blocked indefinitely in an STM transaction + +$> echo $? +1 + +$> git annex version +git-annex version: 6.20160226+gitg01f1de0-1~ndall+1 +build flags: Assistant Webapp Pairing Testsuite S3(multipartupload) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput TorrentParser MagicMime Feeds Quvi +key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL +remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external +local repository version: 5 +supported repository versions: 5 6 +upgrade supported from repository versions: 0 1 2 4 5 + +"""]] + +and it works ok without pidlock enabled + +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/treatment_of_largefiles_is_not_working_for_addurl_--fast___40__or_--relaxed__41__.mdwn b/doc/bugs/treatment_of_largefiles_is_not_working_for_addurl_--fast___40__or_--relaxed__41__.mdwn new file mode 100644 index 000000000..a77ee211d --- /dev/null +++ b/doc/bugs/treatment_of_largefiles_is_not_working_for_addurl_--fast___40__or_--relaxed__41__.mdwn @@ -0,0 +1,29 @@ +### Please describe the problem. + +As described [elsewhere](http://git-annex.branchable.com/todo/make_addurl_respect_annex.largefiles_option/#comment-817c4d5c215ddc0ec7bc5c4c05dff091) but since that one is closed -- making a dedicated one + +unfortunately addurl doesn't care about large files if --fast (or --relaxed, although that one I guess I can understand ): + +[[!format sh """ + +$ chmod a+w -R /tmp/123; rm -rf /tmp/123; mkdir /tmp/123; cd /tmp/123; git init; git annex init; +Initialized empty Git repository in /tmp/123/.git/ +init ok +(recording state in git...) + +$ git -c annex.largefiles=exclude=*.txt annex addurl --file=test.txt --fast \"http://www.onerussian.com/tmp/banner.png\" +addurl test.txt ok +(recording state in git...) + +$ ls -l test.txt +lrwxrwxrwx 1 yoh yoh 132 Jan 13 18:44 test.txt -> .git/annex/objects/KW/kj/URL-s25319--http&c%%www.onerussian.com%tmp%banner.png/URL-s25319--http&c%%www.onerussian.com%tmp%banner.png + +"""]] + +it does consider largefiles for if addurl without --fast, or --relaxed + +[[!meta author=yoh]] + +> [[done]]; this can't really be done, but I added `git annex +> matchexpression` to allow scripting that checks expressions such as +> annex.largefiles. --[[Joey]] diff --git a/doc/bugs/use_of_annex_in_submodule_replaces_.git_with_incorrect_symlink.mdwn b/doc/bugs/use_of_annex_in_submodule_replaces_.git_with_incorrect_symlink.mdwn new file mode 100644 index 000000000..43295e7a8 --- /dev/null +++ b/doc/bugs/use_of_annex_in_submodule_replaces_.git_with_incorrect_symlink.mdwn @@ -0,0 +1,49 @@ +### Please describe the problem. + +Created a temp repository with a submodule under 3rd/visloc referring to another annex via ssh + +[[!format sh """ + +# I have removed some output/wrong cmd calls, hopefully without side-effects + +hopa:/tmp/test +$> cat 3rd/visloc/.git +gitdir: ../../.git/modules/3rd/visloc + +$> git commit -m 'RF: ...' -a +[master (root-commit) fc37b4f] RF: ... + 2 files changed, 4 insertions(+) + create mode 100644 .gitmodules + create mode 160000 3rd/visloc + +$> ls -l 3rd/visloc/.git +-rw------- 1 yoh yoh 38 Feb 8 10:26 3rd/visloc/.git + +$> cat 3rd/visloc/.git +gitdir: ../../.git/modules/3rd/visloc + +$> cd 3rd/visloc/sub-01/rois + +$> git annex get * +fatal: Not a git repository: '../../.git' +git-annex: First run: git-annex init + +$> cd - +/tmp/test + +$> ls -l 3rd/visloc/.git +lrwxrwxrwx 1 yoh yoh 41 Feb 8 10:43 3rd/visloc/.git -> ../../../../../../.git/modules/3rd/visloc + +$> git annex version +git-annex version: 6.20160126+gitg65f4442-1~ndall+1 +build flags: Assistant Webapp Pairing Testsuite S3(multipartupload) WebDAV Inotify DBus DesktopNotify XMPP ConcurrentOutput DNS TDFA TorrentParser Feeds Quvi +key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 SHA1E SHA1 MD5E MD5 WORM URL +remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external +local repository version: 5 +supported repository versions: 5 6 +upgrade supported from repository versions: 0 1 2 4 5 +"""]] + +[[!meta author=yoh]] + +> [[fixed|done]] diff --git a/doc/bugs/using_regular_magic_file__warning_pollutes_stderr.mdwn b/doc/bugs/using_regular_magic_file__warning_pollutes_stderr.mdwn new file mode 100644 index 000000000..c94a56247 --- /dev/null +++ b/doc/bugs/using_regular_magic_file__warning_pollutes_stderr.mdwn @@ -0,0 +1,25 @@ +### Please describe the problem. + +Although probably not an annex issue but thought to let you know since you might see +a quick resolution on your end + +Here is the log from datalad: + +[[!format sh """ +2016-02-25 22:53:32,886 [DEBUG] Running: ['git', '-c', 'receive.autogc=false', '-c', 'annex.alwayscommit=false', 'annex', 'add', '--debug', '--json', '-c', 'annex.largefiles=exclude=CHANGES* and exclude=README* and exclude=*.[mc] and exclude=dataset*.json and (exclude=*.txt or include=*/*.txt) and (exclude=*.json or include=*/*.json) and (exclude=*.tsv or include=*/*.tsv)', 'README.txt'] (cmd.py:351) +2016-02-25 22:53:32,979 [ERROR] stderr| /etc/magic, 4: Warning: using regular magic file `/usr/share/misc/magic' (cmd.py:351) + + +or outside (file is already under annex) + +$> git annex --debug add -c 'annex.largefiles=exclude=CHANGES* and exclude=README*' README.txt +/etc/magic, 4: Warning: using regular magic file `/usr/share/misc/magic' + +"""]] + +annex is up to date: 6.20160225+gitg229db26-1~ndall+1 + +edit1: that is happening on jessie with file 1:5.22+15-2+deb8u1 if that is relevant +[[!meta author=yoh]] + +> [[fixed|done]] --[[Joey]] diff --git a/doc/todo/--batch_for_add.mdwn b/doc/todo/--batch_for_add.mdwn new file mode 100644 index 000000000..c0450c11f --- /dev/null +++ b/doc/todo/--batch_for_add.mdwn @@ -0,0 +1,7 @@ +should be extremely helpful when adding many files one at a time ;) + +[[!meta author=yoh]] + +> Implemented; made it not recurse into directories and output a blank line +> if it doesn't add the file, so there's aways 1 line of output for each +> input. [[done]] --[[Joey]] diff --git a/doc/todo/--batch_for_find.mdwn b/doc/todo/--batch_for_find.mdwn new file mode 100644 index 000000000..825ca560f --- /dev/null +++ b/doc/todo/--batch_for_find.mdwn @@ -0,0 +1,5 @@ +I am using `annex find filename` after running 'annex add` to figure out if file was added to annex or to git. + +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/todo/--batch_for_info.mdwn b/doc/todo/--batch_for_info.mdwn new file mode 100644 index 000000000..8f7fba456 --- /dev/null +++ b/doc/todo/--batch_for_info.mdwn @@ -0,0 +1,5 @@ +I guess as other commands which take separate files/keys as its argument(s), having --batch for info command would be of benefit + +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/todo/__39__info_filename__39___to_provide_information_either_content_is_locally_present.mdwn b/doc/todo/__39__info_filename__39___to_provide_information_either_content_is_locally_present.mdwn new file mode 100644 index 000000000..5e0598816 --- /dev/null +++ b/doc/todo/__39__info_filename__39___to_provide_information_either_content_is_locally_present.mdwn @@ -0,0 +1,6 @@ +ATM in DataLad we rely on 'git annex find' to determine either files have content locally. Even though it could be used in a batch mode, I wondered if we could may be just use 'annex info' to obtain information either a file (or a key) has content locally? Another benefit would be is that within single command output we could determine also if a file under annex or not (instead of first doing e.g. 'info' to figure out if under annex and then 'find' again to figure out if content is present locally) + + +[[!meta author=yoh]] + +> sure, [[done]] --[[Joey]] diff --git a/doc/todo/add_option_to_whereis_to_avoid_network_interactions.mdwn b/doc/todo/add_option_to_whereis_to_avoid_network_interactions.mdwn new file mode 100644 index 000000000..c322660df --- /dev/null +++ b/doc/todo/add_option_to_whereis_to_avoid_network_interactions.mdwn @@ -0,0 +1,21 @@ +I thought that whereis command would report only based on the knowledge annex has locally in git-annex branch, but apparently it is trying to query for information even in --fast mode: + +[[!format sh """ +$> git annex whereis --fast bold.nii.gz +yoh@dat.... +Permission denied (publickey,password). +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +whereis bold.nii.gz +(2 copies) + 899f0347-0888-48ef-91b6-bac213ca8cef -- [datalad-archives] + c8bd3d05-33d4-4b59-9d53-ca7efbdcdd13 -- yoh@smaug:/mnt/btrfs/datasets/datalad/crawl/openfmri/ds000001 [here] + + datalad-archives: dl+archive:MD5E-s2527262329--bd3ea399057c529b37b09dcecec1ca60.0raw.tgz/ds001_R1.1.0/sub001/BOLD/task001_run001/bold.nii.gz#size=47241449 + +"""]] + +[[!meta author=yoh]] +Was [[done]] by [[Joey]] as of 6.20160524+gitg2b7b2c4-1~ndall+1 diff --git a/doc/todo/checkpresentkey_without_explicit_remote.mdwn b/doc/todo/checkpresentkey_without_explicit_remote.mdwn new file mode 100644 index 000000000..7ad667f28 --- /dev/null +++ b/doc/todo/checkpresentkey_without_explicit_remote.mdwn @@ -0,0 +1,5 @@ +While being asked to check if file is available from "[datalad-archives]" remote I need to check if the archive's key available. Ideally I wish I could ask through the ongoing interaction protocol, but if not, I could use smth like 'git annex checkpresentkey' but that one demands specification also of a remote which to check. In my case I just want to know if that key is available from any remote, so I could confirm that the file is still present in our archives remote, i.e. that it could be retrieved later on + +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/todo/could_standalone___39__fixed__39___git-annex_binaries_be_prelinked__63__.mdwn b/doc/todo/could_standalone___39__fixed__39___git-annex_binaries_be_prelinked__63__.mdwn new file mode 100644 index 000000000..3b1b929ea --- /dev/null +++ b/doc/todo/could_standalone___39__fixed__39___git-annex_binaries_be_prelinked__63__.mdwn @@ -0,0 +1,7 @@ +Since in datalad we are invoking git and git-annex quite frequently, and on debian systems atm relying on git-annex-standalone pkg, I wondered, if there is a possibility to get all 'shimmed' binaries prelinked against shipped core libs to avoid a current bunch of unsucesfull searches for libraries.... I thought it might provide a notable benefit. + +just an idea + +[[!meta author=yoh]] + +> [[fixed|done]], but without prelinking. --[[Joey]] diff --git a/doc/todo/drop_--batch.mdwn b/doc/todo/drop_--batch.mdwn new file mode 100644 index 000000000..775798752 --- /dev/null +++ b/doc/todo/drop_--batch.mdwn @@ -0,0 +1,6 @@ +There is a dropkey --batch, so I guess I could workaround but probably would be nice for consistency to have --batch mode for drop itself as well + +[[!meta author=yoh]] + +> [[done]]; went ahead and added drop --batch to be symmetric with get +> --batch. --[[Joey]] diff --git a/doc/todo/get_--batch.mdwn b/doc/todo/get_--batch.mdwn new file mode 100644 index 000000000..a23b36de0 --- /dev/null +++ b/doc/todo/get_--batch.mdwn @@ -0,0 +1,7 @@ +It seems that it would be tremendously useful, see e.g. our [datalad install](https://github.com/datalad/datalad/issues/553) + +[[!meta author=yoh]] + +> [[done]] although the output while getting a file is not +> machine-parseable. So, I made --json also work for get, but enabling +> json output disables any progress display. --[[Joey]] diff --git a/doc/todo/interface_to_the___34__progress__34___of_annex_operations.mdwn b/doc/todo/interface_to_the___34__progress__34___of_annex_operations.mdwn new file mode 100644 index 000000000..68125c53b --- /dev/null +++ b/doc/todo/interface_to_the___34__progress__34___of_annex_operations.mdwn @@ -0,0 +1,19 @@ +It would be really nice if external tools working with annex could obtain updates on the progress of operations so they could report using their own UI back to the user. Especially relevant for --batch --json modes of operations (e.g. for get or addurl) whenever no progress is reported by annex itself at all. + +Related: +[datalad #478](https://github.com/datalad/datalad/issues/478) + + +[[!meta author=yoh]] + +> --status-fd is one way, or the progress could be included as +> part of the --batch protocol. In either case, it might make sense to +> reuse part of the external special remote protocol. (Which would let you +> relay the progress messages when datalad is doing a nested retrieval, I +> suppose.) --[[Joey]] + +>> [[done]]; --json-progress implemented. I limited the frequency of json +>> progress items to 10 per second max, and it's typically only 1 per +>> second or less, so didn't implement +>> --json-progress=N to tune it. Also added --json and --json-progress to +>> copy, move, mirror commands. --[[Joey]] diff --git a/doc/todo/make_addurl_respect_annex.largefiles_option.mdwn b/doc/todo/make_addurl_respect_annex.largefiles_option.mdwn new file mode 100644 index 000000000..b80349a76 --- /dev/null +++ b/doc/todo/make_addurl_respect_annex.largefiles_option.mdwn @@ -0,0 +1,6 @@ +ATM git annex addurl ignores annex.largefiles option so to automate annexification or direct add to git for a list of files I need manually to download each one of them into a FILE and then "git annex add -c annex.largefiles='exclude=*.txt' FILE". But it would have been convenient if I could "addurl" some files directly from urls directly into git, as per largefiles settings. + +N.B. I do understand that use-case might be somewhat vague, let me know if I should expand reasoning +[[!meta author=yoh]] + +> [[done]] --[[Joey]] diff --git a/doc/todo/metadata_--batch.mdwn b/doc/todo/metadata_--batch.mdwn new file mode 100644 index 000000000..b65dc3ef5 --- /dev/null +++ b/doc/todo/metadata_--batch.mdwn @@ -0,0 +1,3 @@ +[[!meta author=yoh]] + +> [[done]] (using json input) --[[Joey]] diff --git a/doc/todo/parallel_get.mdwn b/doc/todo/parallel_get.mdwn new file mode 100644 index 000000000..fb3f8d098 --- /dev/null +++ b/doc/todo/parallel_get.mdwn @@ -0,0 +1,85 @@ +Wish: `git annex get [files] -jN` should run up to N downloads of files +concurrently. + +This can already be done by just starting up N separate git-annex +processes all trying to get the same files. They'll coordinate themselves +to avoid downloading the same file twice. + +But, the output of concurrent git annex get's in a single teminal is a +mess. + +It would be nice to have something similar to docker's output when fetching +layers of an image. Something like: + + get foo1 ok + get foo2 ok + get foo3 -> 5% 100 KiB/s + get foo4 -> 3% 90 KiB/s + get foo5 -> 20% 1 MiB/s + +Where the bottom N lines are progress displays for the downloads that are +currently in progress. When a download finishes, it can scroll up the +screen with "ok". + + get foo1 ok + get foo2 ok + get foo5 ok + get foo3 -> 5% 100 KiB/s + get foo4 -> 3% 90 KiB/s + get foo6 -> 0% 110 Kib/S + +This display could perhaps be generalized for other concurrent actions. +For example, drop: + + drop foo1 ok + drop foo2 failed + Not enough copies ... + drop foo3 -> (checking r1...) + drop foo4 -> (checking r2...) + +But, do get first. + +Pain points: + +1. Currently, git-annex lets tools like rsync and wget display their own + progress. This makes sense for the single-file at a time get, because + rsync can display better output than just a percentage. (This is especially + the case with aria2c for torrents, which displays seeder/leecher info in + addition to percentage.) + + But in multi-get mode, the progress display would be simplified. git-annex + can already get percent done information, either as reported by individiual + backends, or by falling back to polling the file as it's downloaded. + +2. The mechanics of updating the screen for a multi-line progress output + require some terminal handling code. Using eg, curses, in a mode that + doesn't take over the whole screen display, but just moves the cursor + up to the line for the progress that needs updating and redraws that + line. Doing this portably is probably going to be a pain, especially + I have no idea if it can be done on Windows. + + An alternative would be a display more like apt uses for concurrent + downloads, all on one line: + + get foo1 ok + get foo2 ok + get [foo3 -> 5% 100 KiB/s] [foo4 -> 3% 90 KiB/s] [foo5 -> 20% 1 MiB/s] + + The problem with that is it has to avoid scrolling off the right + side, so it probably has to truncate the line. Since filenames + are often longer than "fooN", it probably has to elipsise the filename. + This approach is just not as flexible or nice in general. + +See also: [[parallel_possibilities]] + +> I am looking at using the ascii-progress library for this. +> It has nice support for multiple progress bars, and is portable. +> I have filed 7 issues on it, around 4 of which need to get fixed before +> it's suitable for git-annex to use.. --[[Joey]] + +>> `git annex get -JN` works now, but lacks any progress display. +>> Waiting on some updates to ascii-progress. --[[Joey]] + +>>> Wrote concurrent-output; [[done]] --[[Joey]] + +[[!meta author=yoh]] diff --git a/doc/todo/return___34__key__34___entry_in_--json_output_for_addurl___40__and_future_add__41___--batch.mdwn b/doc/todo/return___34__key__34___entry_in_--json_output_for_addurl___40__and_future_add__41___--batch.mdwn new file mode 100644 index 000000000..504af11b8 --- /dev/null +++ b/doc/todo/return___34__key__34___entry_in_--json_output_for_addurl___40__and_future_add__41___--batch.mdwn @@ -0,0 +1,5 @@ +You have noted that somewhere (may be in email), that it might help us to pipeline things if 'add' was returning the key if file was added to the annex. I guess the same could apply to 'addurl' so decided to mark this separate todo + +[[!meta author=yoh]] + +> already done earlier today [[done]] --[[Joey]] |