From 44739733a11d320d47c0c2b67b607f872f34352a Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Tue, 7 Apr 2015 06:45:49 +0000 Subject: [PATCH 01/63] --- doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn diff --git a/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn b/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn new file mode 100644 index 0000000000..b14af4be62 --- /dev/null +++ b/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn @@ -0,0 +1,9 @@ +What does the following mean? I would expect that if we encounter a duplicate while using the `--deduplicate` option, the duplicate file would be removed from the import location and import would continue. Does that mean that the newly encountered `img_0405.jpg` is different from the one previously seen? +Could the error message perhaps be improved? + +``` +.../usbdisk/annex(master)$ git annex import --deduplicate ../Pictures/ +import Pictures/2008/10/12/img_0405.jpg git-annex: not overwriting existing Pictures/2008/10/12/img_0405.jpg (use --force to override) +``` + +Many other duplicates are being tidied away. From cceecbafa6a6c4f94d222a70ec9957aa7bc21d96 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Tue, 7 Apr 2015 07:02:28 +0000 Subject: [PATCH 02/63] --- ...are_ignored_files_being_deleted__63__.mdwn | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn diff --git a/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn b/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn new file mode 100644 index 0000000000..131b280ccd --- /dev/null +++ b/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn @@ -0,0 +1,24 @@ +How do we get into the following situation? +First we complain about an ignored file (why not just ignore it?), +and then apparently we delete the ignored file. + +``` +[...] +import Pictures/2005/11/16/.IMG_0819.tmpwrite.JPG (duplicate) ok +(Recording state in git...) +The following paths are ignored by one of your .gitignore files: +Pictures/2008/11/27/.img_1315.tmpwrite.jpg +Use -f if you really want to add them. +fatal: no files added +git-annex: user error (xargs ["-0","git","--git-dir=/.../annex/.git","--work-tree=/.../annex","add","--"] exited 123) + +# eek, the file that we complained about has vanished! +$ rm ../Pictures/2008/12/27/.img_1315.tmpwrite.jpg +rm: cannot remove ‘../Pictures/2008/11/27/.img_1315.tmpwrite.jpg’: No such file or directory +``` + +Expected: +- leave ignored files untouched. Maybe report "Skipped ignored files." + +Actual: +- Stop import, but delete the ignored file as side effect. From 8716fb2b8aea034025f32627ebfdb43086560af3 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Tue, 7 Apr 2015 07:03:14 +0000 Subject: [PATCH 03/63] --- ...are_ignored_files_being_deleted__63__.mdwn | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn b/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn index 131b280ccd..b7b857e941 100644 --- a/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn +++ b/doc/forum/Why_are_ignored_files_being_deleted__63__.mdwn @@ -2,20 +2,18 @@ How do we get into the following situation? First we complain about an ignored file (why not just ignore it?), and then apparently we delete the ignored file. -``` -[...] -import Pictures/2005/11/16/.IMG_0819.tmpwrite.JPG (duplicate) ok -(Recording state in git...) -The following paths are ignored by one of your .gitignore files: -Pictures/2008/11/27/.img_1315.tmpwrite.jpg -Use -f if you really want to add them. -fatal: no files added -git-annex: user error (xargs ["-0","git","--git-dir=/.../annex/.git","--work-tree=/.../annex","add","--"] exited 123) + [...] + import Pictures/2005/11/16/.IMG_0819.tmpwrite.JPG (duplicate) ok + (Recording state in git...) + The following paths are ignored by one of your .gitignore files: + Pictures/2008/11/27/.img_1315.tmpwrite.jpg + Use -f if you really want to add them. + fatal: no files added + git-annex: user error (xargs ["-0","git","--git-dir=/.../annex/.git","--work-tree=/.../annex","add","--"] exited 123) -# eek, the file that we complained about has vanished! -$ rm ../Pictures/2008/12/27/.img_1315.tmpwrite.jpg -rm: cannot remove ‘../Pictures/2008/11/27/.img_1315.tmpwrite.jpg’: No such file or directory -``` + # eek, the file that we complained about has vanished! + $ rm ../Pictures/2008/12/27/.img_1315.tmpwrite.jpg + rm: cannot remove ‘../Pictures/2008/11/27/.img_1315.tmpwrite.jpg’: No such file or directory Expected: - leave ignored files untouched. Maybe report "Skipped ignored files." From fc5a5dbe8aba961c000be6db794cabc2087c5536 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Tue, 7 Apr 2015 07:04:00 +0000 Subject: [PATCH 04/63] --- doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn b/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn index b14af4be62..2f296c2820 100644 --- a/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn +++ b/doc/forum/Why_are_we_stopping_at_a_duplicate__63__.mdwn @@ -1,9 +1,7 @@ What does the following mean? I would expect that if we encounter a duplicate while using the `--deduplicate` option, the duplicate file would be removed from the import location and import would continue. Does that mean that the newly encountered `img_0405.jpg` is different from the one previously seen? Could the error message perhaps be improved? -``` -.../usbdisk/annex(master)$ git annex import --deduplicate ../Pictures/ -import Pictures/2008/10/12/img_0405.jpg git-annex: not overwriting existing Pictures/2008/10/12/img_0405.jpg (use --force to override) -``` + .../usbdisk/annex(master)$ git annex import --deduplicate ../Pictures/ + import Pictures/2008/10/12/img_0405.jpg git-annex: not overwriting existing Pictures/2008/10/12/img_0405.jpg (use --force to override) Many other duplicates are being tidied away. From 4490e30779ddb1643c3f67d3b8db81216efda93f Mon Sep 17 00:00:00 2001 From: BojanNikolic Date: Tue, 7 Apr 2015 13:38:45 +0000 Subject: [PATCH 05/63] Add an example on how to create time-limited URLs for sharing --- doc/tips/publishing_your_files_to_the_public.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/tips/publishing_your_files_to_the_public.mdwn b/doc/tips/publishing_your_files_to_the_public.mdwn index 3845ae3e9b..ae65263a79 100644 --- a/doc/tips/publishing_your_files_to_the_public.mdwn +++ b/doc/tips/publishing_your_files_to_the_public.mdwn @@ -53,3 +53,11 @@ However, instead of just a list of links we will output a markdown-formatted lis end Very useful. + +## Sharing links with time-limited URLs + +By using pre-signed URLs it is possible to create limits on how long a URL is valid for retrieving an object. +To enable use a private S3 bucket for the remotes and then pre-sign actual URL with the script in [AWS-Tools](https://github.com/gdbtek/aws-tools). +Example: + + key=`git annex lookupkey "$fname"`; sign_s3_url.bash --region 'eu-west-1' --bucket 'mybuck' --file-path $key --aws-access-key-id XX --aws-secret-access-key XX --method 'GET' --minute-expire 10 From 08feb649f97a5c0a0d20de2668a13162c3274205 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Tue, 7 Apr 2015 18:20:23 +0000 Subject: [PATCH 06/63] Added a comment: Slow on windows but not on linux --- .../comment_2_2f61c2cdf9d1ffd298fd906207012818._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/Why_is_git_annex_status_slow__63__/comment_2_2f61c2cdf9d1ffd298fd906207012818._comment diff --git a/doc/forum/Why_is_git_annex_status_slow__63__/comment_2_2f61c2cdf9d1ffd298fd906207012818._comment b/doc/forum/Why_is_git_annex_status_slow__63__/comment_2_2f61c2cdf9d1ffd298fd906207012818._comment new file mode 100644 index 0000000000..02b158b703 --- /dev/null +++ b/doc/forum/Why_is_git_annex_status_slow__63__/comment_2_2f61c2cdf9d1ffd298fd906207012818._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" + nickname="Сергей" + subject="Slow on windows but not on linux" + date="2015-04-07T18:20:23Z" + content=""" +If this is by design and `git annex status` should take more time in direct mode then what I'm experiencing is strange. On windows every 100M file adds approximately 1 second to `status` duration (on my laptop), but on linux it does not. On linux `git annex status` even in direct mode takes milliseconds. What is wrong with my setup? +"""]] From 96ed56c1e6a931ff032ef83c577f7cceabe7e3bc Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawl67y6EP2HTErhFl6ch4vDUHym6CH68Vnw" Date: Tue, 7 Apr 2015 20:31:06 +0000 Subject: [PATCH 07/63] --- ..._by_this_command:___39__literal__39__.mdwn | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn diff --git a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn new file mode 100644 index 0000000000..e89459671f --- /dev/null +++ b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn @@ -0,0 +1,111 @@ +### Please describe the problem. + +I have some paths containing swedish characters (åäö ÅÄÖ). +Some paths also contains the character "@". +I use git annex assistant in autostart mode on my Documents folder. + +I get the following errors in the log file: + +fd:37: commitBuffer: invalid argument (invalid character) +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/LegacyNT/mmd/config/Dataintag/Fil-intag/OLDIB/SurfaceWaterTemperature.ini: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' + +I also notice a lot of zombie git processes in the ps list. + +### What steps will reproduce the problem? + +Upgrade to Version: 5.20150406-gb2814bc +Build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA + +Pre compiled tar.gz + +### What version of git-annex are you using? On what operating system? + +Version: 5.20150406-gb2814bc + +Arch linux + +[daniel@wintermute Documents]$ uname -a +Linux wintermute 3.19.2-1-ARCH #1 SMP PREEMPT Wed Mar 18 16:21:02 CET 2015 x86_64 GNU/Linux + + +### Please provide any additional information below. + +If I downgrade to a previous version ie. git-annex.linux.5.20150317 the described problem is gone. + +I tried to remove the character "@" from my paths, but it did'nt help. + + +[[!format sh """ +fd:36: commitBuffer: invalid argument (invalid character) +fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/pp.txt: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' + +fd:36: commitBuffer: invalid argument (invalid character) +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/file_id.diz: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' + +fd:39: commitBuffer: invalfatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +id argument (invalid character) +fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/PrFile.hlp: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' + +fd:38: commitBuffer: invalid argument (invalid character) +fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/PrFile32.exe: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' + +fd:40: commitBuffer: invalid argument (invalid character) +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/SETUP.EXE: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +"""]] From 4718da8acab248f8d34e8486c2651c19397eec65 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawl67y6EP2HTErhFl6ch4vDUHym6CH68Vnw" Date: Tue, 7 Apr 2015 20:50:24 +0000 Subject: [PATCH 08/63] --- ..._by_this_command:___39__literal__39__.mdwn | 97 +++++++------------ 1 file changed, 33 insertions(+), 64 deletions(-) diff --git a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn index e89459671f..c6703914ab 100644 --- a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn +++ b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn @@ -6,6 +6,7 @@ I use git annex assistant in autostart mode on my Documents folder. I get the following errors in the log file: +[[!format sh """ fd:37: commitBuffer: invalid argument (invalid character) fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' fatal: Work/@Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/LegacyNT/mmd/config/Dataintag/Fil-intag/OLDIB/SurfaceWaterTemperature.ini: pathspec magic not supported by this command: 'literal' @@ -15,7 +16,8 @@ fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported b fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +fatal: Work/@Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal'' +"""]] I also notice a lot of zombie git processes in the ps list. @@ -40,72 +42,39 @@ Linux wintermute 3.19.2-1-ARCH #1 SMP PREEMPT Wed Mar 18 16:21:02 CET 2015 x86_6 If I downgrade to a previous version ie. git-annex.linux.5.20150317 the described problem is gone. -I tried to remove the character "@" from my paths, but it did'nt help. +I tried to remove the character "@" from my paths, but it didn't help. + +Looking at the log file below, it doesn't seem to have anything to do with my swedish characters. [[!format sh """ -fd:36: commitBuffer: invalid argument (invalid character) -fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/pp.txt: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +[2015-04-07 22:24:14 CEST] main: starting assistant version 5.20150406-gb2814bc +[2015-04-07 22:24:14 CEST] TransferScanner: Syncing with xxxxxxx.xxxxxxx.xxx_wintermute_Documents +p11-kit: couldn't load module: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so: cannot open shared object file: No such file or directory +(scanning...) [2015-04-07 22:24:15 CEST] Watcher: Performing startup scan +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/firewall-udp-1194-dasu-Viscosity.visc.zip: pathspec magic not supported by this command: 'literal' -fd:36: commitBuffer: invalid argument (invalid character) -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/file_id.diz: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' +git cat-file EOF: user error +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' +fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' -fd:39: commitBuffer: invalfatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -id argument (invalid character) -fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/PrFile.hlp: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' - -fd:38: commitBuffer: invalid argument (invalid character) -fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/PrFile32.exe: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' - -fd:40: commitBuffer: invalid argument (invalid character) -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr������nsytem������te/MMD_Config/SITE/MET-SERVER/Mmd/Config/ProgramStart/Program/PrintFile/SETUP.EXE: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' -fatal: Work/Projects/archive/20140515_METOCC_Gr: pathspec magic not supported by this command: 'literal' """]] From 38cb836ede1a70e98b2c222dd05a8edc1ca95afc Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawk_STgv_0fB-y1x_fgzUI10Bg-aajJyMyc" <@web> Date: Wed, 8 Apr 2015 06:30:06 +0000 Subject: [PATCH 09/63] Added a comment --- .../comment_3_5cf9e2ff83bb76650469444c80fee4fb._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/Using_git-annex_to_manage_git_repositories/comment_3_5cf9e2ff83bb76650469444c80fee4fb._comment diff --git a/doc/forum/Using_git-annex_to_manage_git_repositories/comment_3_5cf9e2ff83bb76650469444c80fee4fb._comment b/doc/forum/Using_git-annex_to_manage_git_repositories/comment_3_5cf9e2ff83bb76650469444c80fee4fb._comment new file mode 100644 index 0000000000..115cea9061 --- /dev/null +++ b/doc/forum/Using_git-annex_to_manage_git_repositories/comment_3_5cf9e2ff83bb76650469444c80fee4fb._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawk_STgv_0fB-y1x_fgzUI10Bg-aajJyMyc" + nickname="猫" + subject="comment 3" + date="2015-04-08T06:30:06Z" + content=""" +I'll take a closer look at myrepos, but it doesn't seem to do location tracking, which is the main feature of git-annex that I'm looking for. +"""]] From 2b2a069c5c3b21334a12ba7beea4332f9586ac28 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Wed, 8 Apr 2015 09:08:54 +0000 Subject: [PATCH 10/63] Added a comment: Ignored file imported, in spite of error message --- ..._3081bda5bb600fc564185499ddfb5cf9._comment | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 doc/forum/Why_are_ignored_files_being_deleted__63__/comment_1_3081bda5bb600fc564185499ddfb5cf9._comment diff --git a/doc/forum/Why_are_ignored_files_being_deleted__63__/comment_1_3081bda5bb600fc564185499ddfb5cf9._comment b/doc/forum/Why_are_ignored_files_being_deleted__63__/comment_1_3081bda5bb600fc564185499ddfb5cf9._comment new file mode 100644 index 0000000000..1693b286af --- /dev/null +++ b/doc/forum/Why_are_ignored_files_being_deleted__63__/comment_1_3081bda5bb600fc564185499ddfb5cf9._comment @@ -0,0 +1,35 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" + nickname="Jean" + subject="Ignored file imported, in spite of error message" + date="2015-04-08T09:08:53Z" + content=""" +Today I'm seeing this: + + git-annex: user error (xargs [\"-0\",\"git\",\"--git-dir=/.../annex/.git\",\"--work-tree=/.../annex\",\"add\",\"--\"] exited 123) + failed + (Recording state in git...) + The following paths are ignored by one of your .gitignore files: + btsync/DCIM (1)/Camera 1/20150101090842.jpg.tmp + Use -f if you really want to add them. + fatal: no files added + + git-annex: user error (xargs [\"-0\",\"git\",\"--git-dir=/.../annex/.git\",\"--work-tree=/.../annex\",\"add\",\"--\"] exited 123) + failed + (Recording state in git...) + ^C + +This repeats until I kill the import. + +Subsequently I see that the ignored file was in fact imported: + + $ ls -lh \"btsync/DCIM (1)/Camera 1/20150101090842.jpg.tmp\" + lrwxrwxrwx 1 user user 203 Jan 11 14:11 btsync/DCIM (1)/Camera 1/20150101090842.jpg.tmp -> ../../../.git/annex/objects/0K/GX/SHA256E-s0--e3b0c44298ec1c149aebe4c8996eb92427ae41e4649b934ca495991b7852b855.jpg.tmp/SHA256E-s0--e3b0c44298ec1c149aebe4c8996eb92427ae41e4649b934ca495991b7852b855.jpg.tmp + +In this case the original file was not deleted, because I used `import --duplicate`: + + $ ls -lh \"../btsync/DCIM (1)/Camera 1/20150101090842.jpg.tmp\" + -rw-rw-r-- 1 user user 0 Jan 11 14:11 ../btsync/DCIM (1)/Camera 1/20150101090842.jpg.tmp + + +"""]] From 149f405959097ae539458729b44cc0763550ec30 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Wed, 8 Apr 2015 09:22:09 +0000 Subject: [PATCH 11/63] --- doc/bugs/corrupt_backend_upon_sync__63__.mdwn | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 doc/bugs/corrupt_backend_upon_sync__63__.mdwn diff --git a/doc/bugs/corrupt_backend_upon_sync__63__.mdwn b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn new file mode 100644 index 0000000000..71e671cbec --- /dev/null +++ b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn @@ -0,0 +1,75 @@ +### Please describe the problem. + +When syncing with a remote, I get some files with "unknown backend". + +Original: + + 16:10 jean@klippie:~/annex(master)$ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png + lrwxrwxrwx 1 jean jean 214 Jun 21 2014 Pictures/2014/06/21/2014-06-21 13.52.34.png -> ../../../../.git/annex/objects/mx/Ff/SHA256E-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.png/SHA256E-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.png + +This picture and symlink is fine. + +Remote (broken symlink): + + 16:12 jean@klippie:/media/jean/wdbkk20111104/annex(master)$ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png + lrwxrwxrwx 1 jean jean 214 Apr 6 12:50 Pictures/2014/06/21/2014-06-21 13.52.34.png -> ./../../.git/annex/objects/mx/Ff/SHA256E-s247069--d425c134ac2f9b0eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.pn0.png/SHE-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c09efe84ca9cb6270d022.34.png + +In this case the paths differ: there is an extra `.pn0` component, and the final `SHA256E` has changed to `SHE`. + +### What steps will reproduce the problem? + +I don't know yet. + +### What version of git-annex are you using? On what operating system? + +$ git annex version +git-annex version: 5.20140412ubuntu1 +build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash +key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL +remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external +local repository version: 5 +supported repository version: 5 +upgrade supported from repository versions: 0 1 2 4 + +Ubuntu 14.04.1 LTS + +### 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 annex info +repository mode: indirect +trusted repositories: 0 +semitrusted repositories: 6 + 00000000-0000-0000-0000-000000000001 -- web + ... +untrusted repositories: 0 +transfers in progress: none +available local disk space: 168.35 gigabytes (+1 megabyte reserved) +local annex keys: 16503 +local annex size: 39.15 gigabytes +annexed files in working tree: + skipping Pictures/2014/06/21/2014-06-21 13.52.34.png (unknown backend SHE) + + skipping Pictures/2014/06/21/2014-06-21 13.52.45.png (unknown backend SHE) + + skipping Pictures/2014/06/21/2014-06-21 13.58.03.png (unknown backend SHA256EE) +104552 +size of annexed files in working tree: 124.64 gigabytes +bloom filter size: 16 mebibytes (3.3% full) +backend usage: + SHA256E: 121054 + SHA256: 1 +15:55 jean@klippie:/media/jean/wdbkk20111104/annex(master)$ git annex get --from=laptop + + skipping Pictures/2014/06/21/2014-06-21 13.52.34.png (unknown backend SHE) + + skipping Pictures/2014/06/21/2014-06-21 13.52.45.png (unknown backend SHE) + + skipping Pictures/2014/06/21/2014-06-21 13.58.03.png (unknown backend SHA256EE) + + +# End of transcript or log. +"""]] From 356da28385baed17120959047a4561b513a22892 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Wed, 8 Apr 2015 09:23:10 +0000 Subject: [PATCH 12/63] --- doc/bugs/corrupt_backend_upon_sync__63__.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/bugs/corrupt_backend_upon_sync__63__.mdwn b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn index 71e671cbec..29d2ddc0e2 100644 --- a/doc/bugs/corrupt_backend_upon_sync__63__.mdwn +++ b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn @@ -4,14 +4,14 @@ When syncing with a remote, I get some files with "unknown backend". Original: - 16:10 jean@klippie:~/annex(master)$ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png + $ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png lrwxrwxrwx 1 jean jean 214 Jun 21 2014 Pictures/2014/06/21/2014-06-21 13.52.34.png -> ../../../../.git/annex/objects/mx/Ff/SHA256E-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.png/SHA256E-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.png This picture and symlink is fine. Remote (broken symlink): - 16:12 jean@klippie:/media/jean/wdbkk20111104/annex(master)$ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png + $ ls -lh Pictures/2014/06/21/2014-06-21\ 13.52.34.png lrwxrwxrwx 1 jean jean 214 Apr 6 12:50 Pictures/2014/06/21/2014-06-21 13.52.34.png -> ./../../.git/annex/objects/mx/Ff/SHA256E-s247069--d425c134ac2f9b0eb9b9fcab74a82ec86dd22882db9c026f8fc0e9cb6270d022.34.pn0.png/SHE-s247069--d425c1049778880eb9b9fcab74a82ec86dd22882db9c09efe84ca9cb6270d022.34.png In this case the paths differ: there is an extra `.pn0` component, and the final `SHA256E` has changed to `SHE`. @@ -62,7 +62,8 @@ bloom filter size: 16 mebibytes (3.3% full) backend usage: SHA256E: 121054 SHA256: 1 -15:55 jean@klippie:/media/jean/wdbkk20111104/annex(master)$ git annex get --from=laptop + +$ git annex get --from=laptop skipping Pictures/2014/06/21/2014-06-21 13.52.34.png (unknown backend SHE) From 4ca3d4996460783eef30057ebc245466ad90da09 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Wed, 8 Apr 2015 09:25:09 +0000 Subject: [PATCH 13/63] --- doc/bugs/corrupt_backend_upon_sync__63__.mdwn | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/bugs/corrupt_backend_upon_sync__63__.mdwn b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn index 29d2ddc0e2..b669c22ec3 100644 --- a/doc/bugs/corrupt_backend_upon_sync__63__.mdwn +++ b/doc/bugs/corrupt_backend_upon_sync__63__.mdwn @@ -22,14 +22,14 @@ I don't know yet. ### What version of git-annex are you using? On what operating system? -$ git annex version -git-annex version: 5.20140412ubuntu1 -build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash -key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL -remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external -local repository version: 5 -supported repository version: 5 -upgrade supported from repository versions: 0 1 2 4 + $ git annex version + git-annex version: 5.20140412ubuntu1 + build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash + key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL + remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier hook external + local repository version: 5 + supported repository version: 5 + upgrade supported from repository versions: 0 1 2 4 Ubuntu 14.04.1 LTS From 7906f16798e6fc9173e9cb161cdef3ce53ace5eb Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmgXUaPZHcAY8Wv4sTnX88CbJfYdYdKO-Y" Date: Wed, 8 Apr 2015 09:52:49 +0000 Subject: [PATCH 14/63] --- doc/forum/Newb_question_on_sneekernet_sync.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/forum/Newb_question_on_sneekernet_sync.mdwn diff --git a/doc/forum/Newb_question_on_sneekernet_sync.mdwn b/doc/forum/Newb_question_on_sneekernet_sync.mdwn new file mode 100644 index 0000000000..7703bbec18 --- /dev/null +++ b/doc/forum/Newb_question_on_sneekernet_sync.mdwn @@ -0,0 +1,7 @@ +Hi, + +I have set up git-annex to sync a folder located on laptop A, USB Key, and laptop B. After reading the walkthrough, I don't quite understand the proper procedure to keep in sync. Should I run git-annex sync from within the sync directory on the USB Key on laptop A and then from within the sync folder on the USB Key when plugged into laptop B? Or do I have to run git-annex sync from within the sync directory on the laptops, then the USB Key? And/or do I have to run git-annex get on the sync directory on the USB key before syncing to the second laptop? + +Also I should not normally be making changes on laptops A and B at the same time, but if that were the case, is there any difference in what I would run to sync the changes? + +Thanks! From 86e7df59a50240006b2e5e63925f60b16cbec6e8 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Wed, 8 Apr 2015 12:03:53 +0000 Subject: [PATCH 15/63] Added a comment --- ..._85bc887211c999683f907c3cb5f37301._comment | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment diff --git a/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment b/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment new file mode 100644 index 0000000000..2457334d0b --- /dev/null +++ b/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" + nickname="Сергей" + subject="comment 1" + date="2015-04-08T12:03:53Z" + content=""" +Well, working with git annex, you should think of two things: + +1. location of annex information (git commit tree), I'll call it INFO +2. location of files contents, I'll call it CONTENT + +So, for your sneekernet scenario these general steps are required: + +1. sync INFO between Laptop A and USB +2. transfer required CONTENT from LAPTOP A to USB +3. sync INFO between Laptop B and USB +4. transfer required CONTENT from USB to Laptop B + +Let's describe your options on every step: + +1. issue `git annex sync` on Laptop A. Either from within USB or Laptop repo, I prefer Laptop becouse of automatic commit. +2. +* issue `git annex copy --to=` from within Laptop A repo + * issue `git annex get ` from within USB repo. This is not possible if you have bare repo on USB. +3. issue `git annex sync` on Laptop B +4. same as 2, but transfer to Laptop B + +"""]] From 2f154699e88ada9df5a0b4b00f8293f1f6926553 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Wed, 8 Apr 2015 12:04:08 +0000 Subject: [PATCH 16/63] Added a comment --- ..._0a48dbcaedaa510e7135d094703118e5._comment | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment diff --git a/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment b/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment new file mode 100644 index 0000000000..ee5b3e4598 --- /dev/null +++ b/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" + nickname="Сергей" + subject="comment 2" + date="2015-04-08T12:04:08Z" + content=""" +Well, working with git annex, you should think of two things: + +1. location of annex information (git commit tree), I'll call it INFO +2. location of files contents, I'll call it CONTENT + +So, for your sneekernet scenario these general steps are required: + +1. sync INFO between Laptop A and USB +2. transfer required CONTENT from LAPTOP A to USB +3. sync INFO between Laptop B and USB +4. transfer required CONTENT from USB to Laptop B + +Let's describe your options on every step: + +1. issue `git annex sync` on Laptop A. Either from within USB or Laptop repo, I prefer Laptop becouse of automatic commit. +2. +* issue `git annex copy --to=` from within Laptop A repo + * issue `git annex get ` from within USB repo. This is not possible if you have bare repo on USB. +3. issue `git annex sync` on Laptop B +4. same as 2, but transfer to Laptop B + +"""]] From acef891163839e4b806839dbdf6242f1f15726aa Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Wed, 8 Apr 2015 12:30:50 +0000 Subject: [PATCH 17/63] removed --- ..._0a48dbcaedaa510e7135d094703118e5._comment | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment diff --git a/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment b/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment deleted file mode 100644 index ee5b3e4598..0000000000 --- a/doc/forum/Newb_question_on_sneekernet_sync/comment_2_0a48dbcaedaa510e7135d094703118e5._comment +++ /dev/null @@ -1,28 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" - nickname="Сергей" - subject="comment 2" - date="2015-04-08T12:04:08Z" - content=""" -Well, working with git annex, you should think of two things: - -1. location of annex information (git commit tree), I'll call it INFO -2. location of files contents, I'll call it CONTENT - -So, for your sneekernet scenario these general steps are required: - -1. sync INFO between Laptop A and USB -2. transfer required CONTENT from LAPTOP A to USB -3. sync INFO between Laptop B and USB -4. transfer required CONTENT from USB to Laptop B - -Let's describe your options on every step: - -1. issue `git annex sync` on Laptop A. Either from within USB or Laptop repo, I prefer Laptop becouse of automatic commit. -2. -* issue `git annex copy --to=` from within Laptop A repo - * issue `git annex get ` from within USB repo. This is not possible if you have bare repo on USB. -3. issue `git annex sync` on Laptop B -4. same as 2, but transfer to Laptop B - -"""]] From 90b80e572156110e45b03b5aa6e06d26f72e0e2b Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Wed, 8 Apr 2015 12:31:11 +0000 Subject: [PATCH 18/63] removed --- ..._85bc887211c999683f907c3cb5f37301._comment | 28 ------------------- 1 file changed, 28 deletions(-) delete mode 100644 doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment diff --git a/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment b/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment deleted file mode 100644 index 2457334d0b..0000000000 --- a/doc/forum/Newb_question_on_sneekernet_sync/comment_1_85bc887211c999683f907c3cb5f37301._comment +++ /dev/null @@ -1,28 +0,0 @@ -[[!comment format=mdwn - username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" - nickname="Сергей" - subject="comment 1" - date="2015-04-08T12:03:53Z" - content=""" -Well, working with git annex, you should think of two things: - -1. location of annex information (git commit tree), I'll call it INFO -2. location of files contents, I'll call it CONTENT - -So, for your sneekernet scenario these general steps are required: - -1. sync INFO between Laptop A and USB -2. transfer required CONTENT from LAPTOP A to USB -3. sync INFO between Laptop B and USB -4. transfer required CONTENT from USB to Laptop B - -Let's describe your options on every step: - -1. issue `git annex sync` on Laptop A. Either from within USB or Laptop repo, I prefer Laptop becouse of automatic commit. -2. -* issue `git annex copy --to=` from within Laptop A repo - * issue `git annex get ` from within USB repo. This is not possible if you have bare repo on USB. -3. issue `git annex sync` on Laptop B -4. same as 2, but transfer to Laptop B - -"""]] From 5f198cc98fd18ac761864087b7cd93a1b924db1e Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" <@web> Date: Wed, 8 Apr 2015 12:31:34 +0000 Subject: [PATCH 19/63] Added a comment --- ..._409cc5ba605d63331b386066d32f797b._comment | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/forum/Newb_question_on_sneekernet_sync/comment_1_409cc5ba605d63331b386066d32f797b._comment diff --git a/doc/forum/Newb_question_on_sneekernet_sync/comment_1_409cc5ba605d63331b386066d32f797b._comment b/doc/forum/Newb_question_on_sneekernet_sync/comment_1_409cc5ba605d63331b386066d32f797b._comment new file mode 100644 index 0000000000..691d401372 --- /dev/null +++ b/doc/forum/Newb_question_on_sneekernet_sync/comment_1_409cc5ba605d63331b386066d32f797b._comment @@ -0,0 +1,31 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkutSE8_3fFAETmO_E598zja4gKwYXbb8E" + nickname="Сергей" + subject="comment 1" + date="2015-04-08T12:31:33Z" + content=""" +Well, working with git annex, you should think of two things: + +1. location of annex information (git commit tree), let's call it INFO +2. location of files contents, let's call it CONTENT + +So, for your sneekernet scenario these general steps are required: + +1. sync INFO between Laptop A and USB +2. transfer required CONTENT from LAPTOP A to USB +3. sync INFO between Laptop B and USB +4. transfer required CONTENT from USB to Laptop B + +Let's describe your options on every step: + +1. issue `git annex sync` on Laptop A. Either from within USB or Laptop repo, I prefer Laptop because of automatic commit. +2. + * issue `git annex copy --to=` from within Laptop A repo + * issue `git annex get ` from within USB repo. This is not possible if you have bare repo on USB. +3. issue `git annex sync` on Laptop B +4. same as 2, but transfer to Laptop B + +Also, using `git annex sync --content`, you don't need to manually transfer CONTENT, see [--content](https://git-annex.branchable.com/git-annex-sync/). But in this case you somewhat loose control of what is transferred. + +If you make changes on both laptops at the same time no extra steps required. In case of conflict both versions saved in working directory, see [automatic conflict resolution](http://git-annex.branchable.com/automatic_conflict_resolution/). +"""]] From a9f98952352f0f38154d7238d66720de9c84257b Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Wed, 8 Apr 2015 13:48:00 +0000 Subject: [PATCH 20/63] --- ..._git_annex_fix__96___fix_a_link__63__.mdwn | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__.mdwn diff --git a/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__.mdwn b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__.mdwn new file mode 100644 index 0000000000..305629ada7 --- /dev/null +++ b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__.mdwn @@ -0,0 +1,32 @@ +We have the correct symlink: + + $ ls -lh Sita_Sings_the_Blues_480p_2150kbps.mp4 + lrwxrwxrwx 1 user user 204 Apr 8 20:22 Sita_Sings_the_Blues_480p_2150kbps.mp4 -> .git/annex/objects/6q/Wz/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4 + +The object is in place: + + $ ls -lh .git/annex/objects/6q/Wz/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4 + -r-------- 1 user user 1,4G Dec 28 2010 .git/annex/objects/6q/Wz/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4 + +Now I move the symlink, which becomes broken: + + $ mv Sita_Sings_the_Blues_480p_2150kbps.mp4 Videos/ + +I try to fix the symlink: + + $ git annex sync + $ git annex fix Videos/Sita_Sings_the_Blues_480p_2150kbps.mp4 + +But it stays broken: + + $ ls -lh Videos/Sita_Sings_the_Blues_480p_2150kbps.mp4 + lrwxrwxrwx 1 user user 204 Apr 8 20:22 Videos/Sita_Sings_the_Blues_480p_2150kbps.mp4 -> .git/annex/objects/6q/Wz/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4/SHA256E-s1463013630--2a18a317a536d8e2d28e7916a45a007679b7192102a71067de488c9faa6aab45.mp4 + +Ah, when I try to `git mv Sita_Sings_the_Blues_480p_2150kbps.mp4 Videos/`, +I am warned that the link is not under version control. How did the symlink get +made in the first place, if not by git-annex? It should be known, right? + +After I `git annex add`, I can `git mv` and then `git annex fix`. + +How did I get into the state where I have a symlink pointing at an imported +object, which is not under version control? From 09e5f50f1ee29ec5070a4b9821157c0560789b75 Mon Sep 17 00:00:00 2001 From: CandyAngel Date: Wed, 8 Apr 2015 14:29:59 +0000 Subject: [PATCH 21/63] Added a comment --- .../comment_1_865245182d765fed7bbeb42a35dd605e._comment | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_1_865245182d765fed7bbeb42a35dd605e._comment diff --git a/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_1_865245182d765fed7bbeb42a35dd605e._comment b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_1_865245182d765fed7bbeb42a35dd605e._comment new file mode 100644 index 0000000000..df24ad53e9 --- /dev/null +++ b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_1_865245182d765fed7bbeb42a35dd605e._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="CandyAngel" + subject="comment 1" + date="2015-04-08T14:29:59Z" + content=""" +'git annex fix' will only fix symlinks that git is tracking (either staged, or part of the repository) because git-annex uses git-ls-files (or something like that) to get the filenames to fix. + +'git annex add' adds the files to the annex and replaces them with symlinks, stages the symlinks but does not commit the symlinks. +"""]] From 883f0dfc610e1b6af7e12a4ae269eb21c87ecc36 Mon Sep 17 00:00:00 2001 From: CandyAngel Date: Wed, 8 Apr 2015 14:32:56 +0000 Subject: [PATCH 22/63] Added a comment --- .../comment_2_c1f5a285b7cfb92d218b9b0d31caeed6._comment | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_2_c1f5a285b7cfb92d218b9b0d31caeed6._comment diff --git a/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_2_c1f5a285b7cfb92d218b9b0d31caeed6._comment b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_2_c1f5a285b7cfb92d218b9b0d31caeed6._comment new file mode 100644 index 0000000000..f46aeac5b4 --- /dev/null +++ b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_2_c1f5a285b7cfb92d218b9b0d31caeed6._comment @@ -0,0 +1,7 @@ +[[!comment format=mdwn + username="CandyAngel" + subject="comment 2" + date="2015-04-08T14:32:56Z" + content=""" +It's also funny that this has cropped up [just after I asked for git-annex to fix untracked symlinks](https://git-annex.branchable.com/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/) :P +"""]] From c2ab38b6f462ee3ae84bb039eb5e9de91c953265 Mon Sep 17 00:00:00 2001 From: skew Date: Wed, 8 Apr 2015 19:17:53 +0000 Subject: [PATCH 23/63] --- ...t-annex_unused_--from_s3_doesn__39__t.mdwn | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn diff --git a/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn new file mode 100644 index 0000000000..2b05ec439a --- /dev/null +++ b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn @@ -0,0 +1,35 @@ +### Please describe the problem. + +The command `git annex unused --from mys3remote` shows no unused data, when I'm expecting at least one old version of a file in the current directory. + +### What steps will reproduce the problem? + +- Create a file, `git annex add` the file, sync with remotes and copy to an amazon S3 special remote +- Run `git annex unlock` on the file, modify it, `git annex add` the file, sync and copy to S3 +- Now if you run `git annex unused` you should see the old version of the file in the local repo +- But `git annex unused --from mys3remote` shows nothing +- And I know that the old version is on S3 (at least according to the logs) because `git annex whereis --unused` shows that the file is both [here] and [mys3remote] + +I also noticed that the `git annex whereis --unused` command would show nothing if it was run directly after `git annex unused --from mys3remote`, but it would correctly show the locations when run directly after `git annex unused`. + +### What version of git-annex are you using? On what operating system? + + git-annex version: 5.20141105-g8b19598 + build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash + key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL + remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external + local repository version: 5 + supported repository version: 5 + upgrade supported from repository versions: 0 1 2 4 + +arch linux x86_64 + +### 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 + + +# End of transcript or log. +"""]] From 578eea018fb96142eec63eba5d6f5f3847e032c0 Mon Sep 17 00:00:00 2001 From: skew Date: Wed, 8 Apr 2015 19:19:34 +0000 Subject: [PATCH 24/63] --- doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn index 2b05ec439a..07ae44e89e 100644 --- a/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn +++ b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t.mdwn @@ -26,10 +26,4 @@ arch linux x86_64 ### 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 - - -# End of transcript or log. -"""]] +The S3 remote is encrypted with the default "hybrid" method From 4da371af1eef998f3987e277d917dcc01c0fa4ed Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Apr 2015 16:14:23 -0400 Subject: [PATCH 25/63] add: If annex.largefiles is set and does not match a file that's being added, the file will be checked into git rather than being added to the annex. Previously, git annex add skipped over such files; this new behavior is more useful in direct mode. --- Command/Add.hs | 23 ++++++++++++++++++----- debian/changelog | 4 ++++ doc/git-annex-add.mdwn | 4 ++++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/Command/Add.hs b/Command/Add.hs index 7faa7c80d3..eb0dc22d85 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -52,7 +52,7 @@ seek ps = do matcher <- largeFilesMatcher let go a = flip a ps $ \file -> ifM (checkFileMatcher matcher file <||> Annex.getState Annex.force) ( start file - , stop + , startSmall file ) skipdotfiles <- not <$> Annex.getFlag (optionName includeDotFilesOption) go $ withFilesNotInGit skipdotfiles @@ -61,6 +61,16 @@ seek ps = do , go withFilesUnlocked ) +{- Pass file off to git-add. -} +startSmall :: FilePath -> CommandStart +startSmall file = do + showStart "add" file + showNote "non-large file; adding to git directly" + next $ do + params <- forceParams + Annex.Queue.addCommand "add" (params++[Param "--"]) [file] + next $ return True + {- The add subcommand annexes a file, generating a key for it using a - backend, and then moving it into the annex directory and setting up - the symlink pointing to its content. -} @@ -260,16 +270,19 @@ addLink :: FilePath -> Key -> Maybe InodeCache -> Annex () addLink file key mcache = ifM (coreSymlinks <$> Annex.getGitConfig) ( do _ <- link file key mcache - params <- ifM (Annex.getState Annex.force) - ( return [Param "-f"] - , return [] - ) + params <- forceParams Annex.Queue.addCommand "add" (params++[Param "--"]) [file] , do l <- link file key mcache addAnnexLink l file ) +forceParams :: Annex [CommandParam] +forceParams = ifM (Annex.getState Annex.force) + ( return [Param "-f"] + , return [] + ) + cleanup :: FilePath -> Key -> Maybe InodeCache -> Bool -> CommandCleanup cleanup file key mcache hascontent = do ifM (isDirect <&&> pure hascontent) diff --git a/debian/changelog b/debian/changelog index 624b8a413a..519628d1d9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,10 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium (Second time's the charm..) * fromkey, registerurl: When reading from stdin, allow the filename and url, respectively, to contain whitespace. + * add: If annex.largefiles is set and does not match a file that's being + added, the file will be checked into git rather than being added to the + annex. Previously, git annex add skipped over such files; this new + behavior is more useful in direct mode. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 diff --git a/doc/git-annex-add.mdwn b/doc/git-annex-add.mdwn index 4ae0d1ce1a..20033412b7 100644 --- a/doc/git-annex-add.mdwn +++ b/doc/git-annex-add.mdwn @@ -14,6 +14,10 @@ files from the current directory and below. Normally, files that are already checked into git, or that git has been configured to ignore will be silently skipped. +If annex.largefiles is configured, and does not match a file that is being +added, `git annex add` will behave the same as `git add` and add the +non-large file directly to the git repository, instead of to the annex. + # OPTIONS * `--include-dotfiles` From 3c2cb2569809ca2ba2b9d9c75dde8a7fd2796a8e Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Apr 2015 16:16:42 -0400 Subject: [PATCH 26/63] wording --- Command/Add.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Command/Add.hs b/Command/Add.hs index eb0dc22d85..c461c4d566 100644 --- a/Command/Add.hs +++ b/Command/Add.hs @@ -65,7 +65,7 @@ seek ps = do startSmall :: FilePath -> CommandStart startSmall file = do showStart "add" file - showNote "non-large file; adding to git directly" + showNote "non-large file; adding content to git repository" next $ do params <- forceParams Annex.Queue.addCommand "add" (params++[Param "--"]) [file] From 7b3490cd5162d83f56f4a71f8a0feb6eddbb07c2 Mon Sep 17 00:00:00 2001 From: "http://lhealy.livejournal.com/" Date: Wed, 8 Apr 2015 21:28:45 +0000 Subject: [PATCH 27/63] --- doc/forum/Adding_a_mounted_network.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/forum/Adding_a_mounted_network.mdwn diff --git a/doc/forum/Adding_a_mounted_network.mdwn b/doc/forum/Adding_a_mounted_network.mdwn new file mode 100644 index 0000000000..5f62e79a2b --- /dev/null +++ b/doc/forum/Adding_a_mounted_network.mdwn @@ -0,0 +1 @@ +I would like to add (bare) repositories on network directories that are locally mounted. "Add more repositories" gives me many choices, which apparently does not include this specifically. It does have "Removable drive" which sees the CIFS directory (perhaps because it's under /media?) but not the AFS directory, and there doesn't seem to be a way to enter a path where it's not inclined to look ("rescan for removable drives" still misses /afs). I am comfortable using shell commands, but I don't know what commands to use. From a3aaee7e710f40bbebf528baac8d6ac4ba28d249 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Apr 2015 17:53:12 -0400 Subject: [PATCH 28/63] quick look at git-lfs --- doc/not.mdwn | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/not.mdwn b/doc/not.mdwn index baf43c2b83..754da223dd 100644 --- a/doc/not.mdwn +++ b/doc/not.mdwn @@ -37,9 +37,13 @@ partial checkouts of file contents, like git-annex does. * git-annex is similarly not [git-fat](https://github.com/jedbrown/git-fat), - which also uses git smudge filters, and also lacks git-annex' widely + which also uses git smudge filters, and also lacks git-annex's widely distributed storage and partial checkouts. +* Similarly, git-annex is not [git-lfs](https://github.com/github/git-lfs), + which also uses git smudge filters, and appears to lack git-annex's + widely distributed storage. + * git-annex is also not [boar](http://code.google.com/p/boar/), although it shares many of its goals and characteristics. Boar implements its own version control system, rather than simply embracing and From 7a68b1978d3c4e1aba6636ac66112f4219f7d5af Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Apr 2015 18:09:05 -0400 Subject: [PATCH 29/63] took another look at this --- doc/todo/smudge.mdwn | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/todo/smudge.mdwn b/doc/todo/smudge.mdwn index 6103ffa61e..b11b1dedc4 100644 --- a/doc/todo/smudge.mdwn +++ b/doc/todo/smudge.mdwn @@ -94,11 +94,20 @@ and it slows down *everything*, from `git status` to `git commit`. this. (Update: apparently can't be fixed.) +> Update: I tried this again (2015) and it seems that git status and git +> add avoid re-sending the file content to the clean filter, as long as the +> file stat has not changed. I'm not sure when git started doing that, +> but it seems to avoid this problem. +> --[[Joey]] + #### smudge The smudge script can also be provided a filename with %f, but it cannot directly write to the file or git gets unhappy. +> Still the case in 2015. Means an unnecesary read and pipe of the file +> even if the content is already locally available on disk. --[[Joey]] + ### dealing with partial content availability The smudge filter cannot be allowed to fail, that leaves the tree and From ff7fca1cf75e393d0f41cb8f44e9b07898172fe4 Mon Sep 17 00:00:00 2001 From: "https://id.koumbit.net/anarcat" Date: Thu, 9 Apr 2015 02:02:58 +0000 Subject: [PATCH 30/63] explicitely mention --force in tip body --- doc/tips/downloading_podcasts.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/tips/downloading_podcasts.mdwn b/doc/tips/downloading_podcasts.mdwn index 7805f84cb4..fb875180d0 100644 --- a/doc/tips/downloading_podcasts.mdwn +++ b/doc/tips/downloading_podcasts.mdwn @@ -48,6 +48,12 @@ Then you can run git-annex on all the feeds: `xargs git-annex importfeed < feeds` +## recreating lost episodes + +If for some reason git-annex refuses to download files you are certain are in the podcast, it is quite possible it is because they have already been downloaded. In any case, you can use `--force` to redownload them: + +`git-annex importfeed --force http://example.com/feed` + ## distributed podcatching A nice benefit of using git-annex as a podcatcher is that you can From fad85e3758919ed7cf0fc2f51c69426dce10ad8e Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Thu, 9 Apr 2015 05:02:50 +0000 Subject: [PATCH 31/63] Added a comment: I'm with Remy here --- .../comment_4_1e10274827564902047c72a81affd92c._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_4_1e10274827564902047c72a81affd92c._comment diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_4_1e10274827564902047c72a81affd92c._comment b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_4_1e10274827564902047c72a81affd92c._comment new file mode 100644 index 0000000000..34d959578b --- /dev/null +++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_4_1e10274827564902047c72a81affd92c._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" + nickname="Jean" + subject="I'm with Remy here" + date="2015-04-09T05:02:50Z" + content=""" +I can't even comprehend how git-annex gets into this situation. From what angle does it make sense to ever have a symlink pointing at a `.git/annex/objects/...` and not be tracked? +"""]] From 94717fe7c3ccfb3e0c32cc29172dc4073068318c Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" Date: Thu, 9 Apr 2015 05:37:03 +0000 Subject: [PATCH 32/63] Added a comment --- .../comment_3_be2816c47091842b829cd626e18c5fda._comment | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_3_be2816c47091842b829cd626e18c5fda._comment diff --git a/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_3_be2816c47091842b829cd626e18c5fda._comment b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_3_be2816c47091842b829cd626e18c5fda._comment new file mode 100644 index 0000000000..731f4d2253 --- /dev/null +++ b/doc/forum/why_doesn__39__t___96__git_annex_fix__96___fix_a_link__63__/comment_3_be2816c47091842b829cd626e18c5fda._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawnVnsqEy82M-MuS2gLri-az83wSQ6lXSrc" + nickname="Jean" + subject="comment 3" + date="2015-04-09T05:37:03Z" + content=""" +Hi CandyAngel, thanks for the pointer, I +[commented](http://git-annex.branchable.com/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/#comment-5251d819e83c66dbdd9d7bcee4a87f9f) there. +"""]] From 4f1d5f391f9b08694b8b260f4356111917b384f2 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo" Date: Thu, 9 Apr 2015 13:17:42 +0000 Subject: [PATCH 33/63] Added a comment --- ...ment_1_9b4bab6177856569adfec26ada6b01cd._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/forum/Adding_a_mounted_network/comment_1_9b4bab6177856569adfec26ada6b01cd._comment diff --git a/doc/forum/Adding_a_mounted_network/comment_1_9b4bab6177856569adfec26ada6b01cd._comment b/doc/forum/Adding_a_mounted_network/comment_1_9b4bab6177856569adfec26ada6b01cd._comment new file mode 100644 index 0000000000..cda6d5fafc --- /dev/null +++ b/doc/forum/Adding_a_mounted_network/comment_1_9b4bab6177856569adfec26ada6b01cd._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawmBUR4O9mofxVbpb8JV9mEbVfIYv670uJo" + nickname="Justin" + subject="comment 1" + date="2015-04-09T13:17:41Z" + content=""" +It's just a git remote.. + + git remote add somerepo /path/to/repo + git annex sync + +should be all you need. +"""]] From 49797c725c57c7e2bc0fe1bf78a70c2891dc643e Mon Sep 17 00:00:00 2001 From: "https://launchpad.net/~eliasson" Date: Thu, 9 Apr 2015 14:51:26 +0000 Subject: [PATCH 34/63] --- ...s_are_missing___34__Start_in__34___parameter.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter.mdwn diff --git a/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter.mdwn b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter.mdwn new file mode 100644 index 0000000000..72f0794a57 --- /dev/null +++ b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter.mdwn @@ -0,0 +1,12 @@ +### Please describe the problem. +When git-annex is started using one of its start menu shortcuts (git-annex or git-annex-autostart) wscript.exe calls itself in an infinite loop. This is also described under the [section ".vbs failure" in a forum post](https://git-annex.branchable.com/forum/Windows_installation_notes/). + +### What steps will reproduce the problem? +Install git and git-annex according to the [installation guide](https://git-annex.branchable.com/install/Windows/). Click on one of the shortcuts in the start menu. + +### What version of git-annex are you using? On what operating system? +git version 1.9.5.msysgit.1. git-annex version: 5.20150317-g237d5b0. Windows 7 Professional, 64-bit. + +### Please provide any additional information below. + +This seems to be fixed by editing the shortcuts and setting the "Start in" parameter to the git installation directory. For me this is "C:\Program Files (x86)\Git". From d5a25bd5679754a70ace6e4aa29bcf8793265798 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 12:24:42 -0400 Subject: [PATCH 35/63] proxy: Made it work when run in a new repository before initial commit. --- Command/Proxy.hs | 16 +++++++++------- debian/changelog | 2 ++ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Command/Proxy.hs b/Command/Proxy.hs index 9ccea57968..8c11bf7708 100644 --- a/Command/Proxy.hs +++ b/Command/Proxy.hs @@ -15,6 +15,7 @@ import Utility.Env import Annex.Direct import qualified Git.Sha import qualified Git.Ref +import qualified Git.Branch cmd :: [Command] cmd = [notBareRepo $ @@ -28,19 +29,20 @@ start :: [String] -> CommandStart start [] = error "Did not specify command to run." start (c:ps) = liftIO . exitWith =<< ifM isDirect ( do - g <- gitRepo - withTmpDirIn (gitAnnexTmpMiscDir g) "proxy" go + tmp <- gitAnnexTmpMiscDir <$> gitRepo + withTmpDirIn tmp "proxy" go , liftIO $ safeSystem c (map Param ps) ) where go tmp = do oldref <- fromMaybe Git.Sha.emptyTree <$> inRepo Git.Ref.headSha - exitcode <- liftIO $ proxy tmp + exitcode <- proxy tmp mergeDirectCleanup tmp oldref return exitcode proxy tmp = do - usetmp <- Just . addEntry "GIT_WORK_TREE" tmp <$> getEnvironment - unlessM (boolSystemEnv "git" [Param "checkout", Param "--", Param "."] usetmp) $ - error "Failed to set up proxy work tree." - safeSystemEnv c (map Param ps) usetmp + usetmp <- liftIO $ Just . addEntry "GIT_WORK_TREE" tmp <$> getEnvironment + unlessM (isNothing <$> inRepo Git.Branch.current) $ + unlessM (liftIO $ boolSystemEnv "git" [Param "checkout", Param "--", Param "."] usetmp) $ + error "Failed to set up proxy work tree." + liftIO $ safeSystemEnv c (map Param ps) usetmp diff --git a/debian/changelog b/debian/changelog index 519628d1d9..cd12c7e791 100644 --- a/debian/changelog +++ b/debian/changelog @@ -8,6 +8,8 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium added, the file will be checked into git rather than being added to the annex. Previously, git annex add skipped over such files; this new behavior is more useful in direct mode. + * proxy: Made it work when run in a new repository before initial + commit. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 From 84dc5629c6e7614a99c884613a6e568647c23707 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 12:28:26 -0400 Subject: [PATCH 36/63] info: Display repository mode: bare when in a bare (non-direct mode) repo. --- Command/Info.hs | 7 ++++++- debian/changelog | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Command/Info.hs b/Command/Info.hs index e489db0eaa..db59530504 100644 --- a/Command/Info.hs +++ b/Command/Info.hs @@ -238,7 +238,12 @@ showStat s = maybe noop calc =<< s repository_mode :: Stat repository_mode = simpleStat "repository mode" $ lift $ ifM isDirect - ( return "direct", return "indirect" ) + ( return "direct" + , ifM (fromRepo Git.repoIsLocalBare) + ( return "bare" + , return "indirect" + ) + ) remote_list :: TrustLevel -> Stat remote_list level = stat n $ nojson $ lift $ do diff --git a/debian/changelog b/debian/changelog index cd12c7e791..9ef48e01f4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium behavior is more useful in direct mode. * proxy: Made it work when run in a new repository before initial commit. + * info: Display repository mode: bare when in a bare (non-direct mode) + repo. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 From c65e71e6a5a8630761db8764ad85026a73e13900 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 12:57:30 -0400 Subject: [PATCH 37/63] cleanup --- Utility/Url.hs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Utility/Url.hs b/Utility/Url.hs index 0ecc195d5d..1b0c394b7c 100644 --- a/Utility/Url.hs +++ b/Utility/Url.hs @@ -208,8 +208,7 @@ download' :: Bool -> URLString -> FilePath -> UrlOptions -> IO Bool download' quiet url file uo = do case parseURIRelaxed url of Just u - | uriScheme u == "file:" -> do - curl + | uriScheme u == "file:" -> curl | otherwise -> ifM (inPath "wget") (wget , curl) _ -> return False where From aa31af55940ed9188686a58afa4f7d7ecb2066de Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:02:57 -0400 Subject: [PATCH 38/63] importfeed: Fix feed download when curl is used. This bug used to only afflict file:/// urls, but became more exposed by b8f0b7309fbceb04c3d5ffd525274589d016f6a2. --- Command/ImportFeed.hs | 4 ++-- debian/changelog | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Command/ImportFeed.hs b/Command/ImportFeed.hs index b60627cfed..ed3c3bcd30 100644 --- a/Command/ImportFeed.hs +++ b/Command/ImportFeed.hs @@ -150,9 +150,9 @@ downloadFeed url = do showOutput uo <- Url.getUrlOptions liftIO $ withTmpFile "feed" $ \f h -> do - fileEncoding h + hClose h ifM (Url.download url f uo) - ( parseFeedString <$> hGetContentsStrict h + ( parseFeedString <$> readFileStrictAnyEncoding f , return Nothing ) diff --git a/debian/changelog b/debian/changelog index 9ef48e01f4..3c4f0d1bbe 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,7 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium commit. * info: Display repository mode: bare when in a bare (non-direct mode) repo. + * importfeed: Fix feed download when curl is used. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 From 3695094454be176d844241f73e1e10ece5d62d4c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:09:06 -0400 Subject: [PATCH 39/63] importfeed: Error out when passed a non-url. --- Command/ImportFeed.hs | 20 ++++++++++--------- debian/changelog | 1 + ...importfeed_fails_with_local_file_urls.mdwn | 7 +++++++ 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Command/ImportFeed.hs b/Command/ImportFeed.hs index ed3c3bcd30..2a278dea17 100644 --- a/Command/ImportFeed.hs +++ b/Command/ImportFeed.hs @@ -146,15 +146,17 @@ findDownloads u = go =<< downloadFeed u {- Feeds change, so a feed download cannot be resumed. -} downloadFeed :: URLString -> Annex (Maybe Feed) -downloadFeed url = do - showOutput - uo <- Url.getUrlOptions - liftIO $ withTmpFile "feed" $ \f h -> do - hClose h - ifM (Url.download url f uo) - ( parseFeedString <$> readFileStrictAnyEncoding f - , return Nothing - ) +downloadFeed url + | Url.parseURIRelaxed url == Nothing = error "invalid feed url" + | otherwise = do + showOutput + uo <- Url.getUrlOptions + liftIO $ withTmpFile "feed" $ \f h -> do + hClose h + ifM (Url.download url f uo) + ( parseFeedString <$> readFileStrictAnyEncoding f + , return Nothing + ) performDownload :: Opts -> Cache -> ToDownload -> Annex Bool performDownload opts cache todownload = case location todownload of diff --git a/debian/changelog b/debian/changelog index 3c4f0d1bbe..557d3eb6b6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -13,6 +13,7 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium * info: Display repository mode: bare when in a bare (non-direct mode) repo. * importfeed: Fix feed download when curl is used. + * importfeed: Error out when passed a non-url. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 diff --git a/doc/bugs/importfeed_fails_with_local_file_urls.mdwn b/doc/bugs/importfeed_fails_with_local_file_urls.mdwn index 5984458ab2..932848ddfb 100644 --- a/doc/bugs/importfeed_fails_with_local_file_urls.mdwn +++ b/doc/bugs/importfeed_fails_with_local_file_urls.mdwn @@ -26,3 +26,10 @@ Is it possible to use local files in rss format with items which reference local Cheers, Marco + +> I've fixed it with file:// urls. +> +> Also made it error out on non-url feed inputs, which are not intended to be +> supported. +> +> [[done]] --[[Joey]] From 0f740fd198a972a018af53d33cfd24883e95df31 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:35:02 -0400 Subject: [PATCH 40/63] This fixes a bug in the assistant introduced by the literal pathspec changes in version 5.20150406. git-checkignore refuses to work if any pathspec options are set. Urgh. I audited the rest of git, and no other commands used by git-annex have such limitations. Indeed, AFAICS, *all* other commands support --literal-pathspecs. So, worked around this where git-checkignore is called. --- Git/CheckIgnore.hs | 8 +++++++- debian/changelog | 2 ++ ...ted_by_this_command:___39__literal__39__.mdwn | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Git/CheckIgnore.hs b/Git/CheckIgnore.hs index 5fa3cb637f..a03f454324 100644 --- a/Git/CheckIgnore.hs +++ b/Git/CheckIgnore.hs @@ -31,10 +31,13 @@ type CheckIgnoreHandle = CoProcess.CoProcessHandle - - The first version of git to support what we need is 1.8.4. - Nothing is returned if an older git is installed. + - + - check-ignore does not support --literal-pathspecs, so remove that + - from the gitGlobalOpts if set. -} checkIgnoreStart :: Repo -> IO (Maybe CheckIgnoreHandle) checkIgnoreStart repo = ifM supportedGitVersion - ( Just <$> (CoProcess.rawMode =<< gitCoProcessStart True params repo) + ( Just <$> (CoProcess.rawMode =<< gitCoProcessStart True params repo') , return Nothing ) where @@ -42,6 +45,9 @@ checkIgnoreStart repo = ifM supportedGitVersion [ Param "check-ignore" , Params "-z --stdin --verbose --non-matching" ] + repo' = repo { gitGlobalOpts = filter (not . pathspecs) (gitGlobalOpts repo) } + pathspecs (Param "--literal-pathspecs") = True + pathspecs _ = False supportedGitVersion :: IO Bool supportedGitVersion = do diff --git a/debian/changelog b/debian/changelog index 557d3eb6b6..8b228f1561 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,5 +1,7 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium + * This fixes a bug in the assistant introduced by the literal pathspec + changes in version 5.20150406. * --quiet now suppresses progress displays from eg, rsync. (Second time's the charm..) * fromkey, registerurl: When reading from stdin, allow the diff --git a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn index c6703914ab..73b846a496 100644 --- a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn +++ b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn @@ -78,3 +78,19 @@ fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this command: 'literal' """]] + +> I've fixed the pathspec magic problem. [[done]] +> +> Seems like you could possibly have a separate problem WRT the "commitBuffer: +> invalid argument". When using the older version of git-annex, did you +> get that in the log at all? +> +> OTOH, the +> "@Projects/archive/20140515_METOCC_Gr������nsytem������te" +> weirdness in the log could be where the problem chars are coming from +> too, in which case it was somehow caused by the pathspec magic problem. +> +> I was able to reproduce the pathspec magic problem, but not the encoding +> looking problem, even when using swedish chars in filenames. +> +> --[[Joey]] From 44c897ef7416c724b50b9402c9069aac94be3238 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:42:28 -0400 Subject: [PATCH 41/63] moreinfo needed --- ..._9f248d82f93040b739b56515d18458c7._comment | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 doc/bugs/corrupt_backend_upon_sync__63__/comment_1_9f248d82f93040b739b56515d18458c7._comment diff --git a/doc/bugs/corrupt_backend_upon_sync__63__/comment_1_9f248d82f93040b739b56515d18458c7._comment b/doc/bugs/corrupt_backend_upon_sync__63__/comment_1_9f248d82f93040b739b56515d18458c7._comment new file mode 100644 index 0000000000..ddec07c1eb --- /dev/null +++ b/doc/bugs/corrupt_backend_upon_sync__63__/comment_1_9f248d82f93040b739b56515d18458c7._comment @@ -0,0 +1,24 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T17:39:28Z" + content=""" +The symink that you're showing is a file checked into git. + +So, you should be able to run `git log 'Pictures/2014/06/21/2014-06-21 13.52.34.png'` +on the remote and find a commit that somehow changed the symlink to the +broken one that the remote has. + +The only other possibilities are + +* Somehow the data in git in the remote got corrupted, and git didn't + notice. Seems very unlikely. +* Somehow git decided to munge up the symlink when checking it out on the + remote. While there are some git features like smudge filters that could + perhaps be configured to do that, I don't see how git could do it on its + own. + +I've never seen git do anything like this. +You're going to have to investigate this on your own and/or provide enough +information to reproduce the problem. +"""]] From 9136d3c86f37107aa938ef953957ea9a0546eaec Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:45:47 -0400 Subject: [PATCH 42/63] comment --- ...ent_3_8d9e5a1aef2648d7a844623e6237d551._comment | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/forum/Why_is_git_annex_status_slow__63__/comment_3_8d9e5a1aef2648d7a844623e6237d551._comment diff --git a/doc/forum/Why_is_git_annex_status_slow__63__/comment_3_8d9e5a1aef2648d7a844623e6237d551._comment b/doc/forum/Why_is_git_annex_status_slow__63__/comment_3_8d9e5a1aef2648d7a844623e6237d551._comment new file mode 100644 index 0000000000..54d2b24c49 --- /dev/null +++ b/doc/forum/Why_is_git_annex_status_slow__63__/comment_3_8d9e5a1aef2648d7a844623e6237d551._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2015-04-09T17:44:01Z" + content=""" +The sizes of the files should not affect how fast git-annex status runs. + +But, direct mode certianly does. git-annex has to do significantly more +work in direct mode to figure out the status of a file. Including querying +git. In indirect mode, it can just stat the symlink and see if its content +is present, which is much faster. + +(There's probably also some other inneficiencies in Windows.) +"""]] From e1d1c4f51c72b7dff695ca4cf3329929e8721097 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 13:49:11 -0400 Subject: [PATCH 43/63] followup --- ...ment_1_3d2c3827de34509c0a5595eda07dd18f._comment | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/bugs/git-annex-shell/comment_1_3d2c3827de34509c0a5595eda07dd18f._comment diff --git a/doc/bugs/git-annex-shell/comment_1_3d2c3827de34509c0a5595eda07dd18f._comment b/doc/bugs/git-annex-shell/comment_1_3d2c3827de34509c0a5595eda07dd18f._comment new file mode 100644 index 0000000000..6123471eb6 --- /dev/null +++ b/doc/bugs/git-annex-shell/comment_1_3d2c3827de34509c0a5595eda07dd18f._comment @@ -0,0 +1,13 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T17:48:20Z" + content=""" +GIT_SSH is set to the full path of the binary, unless +~/.config/git-annex/program overrides it. + +Finding the full path to the binary is not a trivial or error-free +operation. + +Could you please follow up to this bug or close it? +"""]] From b99b8d5d4ce3523c6835d17966c2987f912ffc15 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 14:03:44 -0400 Subject: [PATCH 44/63] followup to bug I cannot reproduce, and analysis based presumptive fix --- Annex/Branch.hs | 1 + ..._b56c847c5eda432a4330b4d853a25519._comment | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__/comment_1_b56c847c5eda432a4330b4d853a25519._comment diff --git a/Annex/Branch.hs b/Annex/Branch.hs index 7411e70104..4bd94bddbb 100644 --- a/Annex/Branch.hs +++ b/Annex/Branch.hs @@ -414,6 +414,7 @@ stageJournal jl = withIndex $ do g <- gitRepo let dir = gitAnnexJournalDir g (jlogf, jlogh) <- openjlog + liftIO $ fileEncoding jlogh withJournalHandle $ \jh -> do h <- hashObjectStart g Git.UpdateIndex.streamUpdateIndex g diff --git a/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__/comment_1_b56c847c5eda432a4330b4d853a25519._comment b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__/comment_1_b56c847c5eda432a4330b4d853a25519._comment new file mode 100644 index 0000000000..43e6a390b2 --- /dev/null +++ b/doc/bugs/commitBuffer:_invalid_argument___40__invalid_character__41__/comment_1_b56c847c5eda432a4330b4d853a25519._comment @@ -0,0 +1,27 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T17:49:57Z" + content=""" +I cannot reproduce this, I get: + + addurl _dev_radio/DR14__Verschwörungstheorien.ogg ok + +Does the _dev_radio/DR14__Verschwörungstheorien.ogg file get created? +If so, how does it look? + +The jlog tells me it's trying to commit the git-annex branch journal. +Does .git/annex/journal/ contain any files? Any files containing German +characters? + +Do you have any git config settings for git-annex beyone the typical +annex.uuid? + +I noticed one place in the journal commit code where it does seem to +neglect to use filesystem encoding when dealing with writing filenames to +the jlog tmpfile. Which could lead to this crash theoretically. I've fixed +that, but since I couldn't reproduce the problem, I don't know if this will +fix your problem. Nor do I understand how annex journal log files could +have these characters in their names. You can try today's upcoming release +of git-annex to test the fix though. +"""]] From f24566dddedb9fed2ba07bbcd8d1fea662014870 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 14:15:13 -0400 Subject: [PATCH 45/63] cannot reproduce --- ...1_f139f18762f3acf8bfb9ce8a245b79f5._comment | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 doc/bugs/git-annex_unused_--from_s3_doesn__39__t/comment_1_f139f18762f3acf8bfb9ce8a245b79f5._comment diff --git a/doc/bugs/git-annex_unused_--from_s3_doesn__39__t/comment_1_f139f18762f3acf8bfb9ce8a245b79f5._comment b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t/comment_1_f139f18762f3acf8bfb9ce8a245b79f5._comment new file mode 100644 index 0000000000..a949625adc --- /dev/null +++ b/doc/bugs/git-annex_unused_--from_s3_doesn__39__t/comment_1_f139f18762f3acf8bfb9ce8a245b79f5._comment @@ -0,0 +1,18 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T18:06:34Z" + content=""" +I have tried to reproduce this, and I can't seem to. + +There's no network traffic involved in git-annex unused --from remote, +so I don't see how this can involve the S3 backend at all. If there's a bug +here, it should affect any kind of remote. + +Are you sure you didn't forget to `git annex sync` before `git annex unused --from remote`? +If you have an old synced/master branch, that'll count as a user of the +file and so unused won't show it. + +I think you'll need to provide a full transcript of how to make this problem +happen for me to get any further. +"""]] From 404a69b37d535e0e2b2027e6d472d375e48bd925 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlh1G1u_AMJEyADqlfuzV2cePniocDyK6A" Date: Thu, 9 Apr 2015 18:26:39 +0000 Subject: [PATCH 46/63] --- doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn | 1 + 1 file changed, 1 insertion(+) create mode 100644 doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn diff --git a/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn new file mode 100644 index 0000000000..37d2c3da9c --- /dev/null +++ b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn @@ -0,0 +1 @@ +Copying a large file from windows (msysgit 1.9.5.msysgit.1, git-annex 20150406) to a bare repository on debian wheezy (git 1.9.1 git-annex 20141024) I can only get around 2 MB/s transfer speed. I tested using normal windows copy (smb) and got around 10 MB/s, while the git-annex copy was still going on. I tried plain ssh and got 9 MB/s. So, something to do with git-annex is being slow it seems. Any ideas on how to remedy this, or is it a known issue? From 164803007d4236dae3227700e89a8f42e445bd6f Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 14:29:10 -0400 Subject: [PATCH 47/63] followup --- ..._5af705ddb453588711f3e70b2e297f55._comment | 28 +++++++++++++++++++ ..._54c253ab61fea4f5aaefa04bb078c7b0._comment | 12 ++++++++ 2 files changed, 40 insertions(+) create mode 100644 doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_1_5af705ddb453588711f3e70b2e297f55._comment create mode 100644 doc/forum/Windows_installation_notes/comment_1_54c253ab61fea4f5aaefa04bb078c7b0._comment diff --git a/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_1_5af705ddb453588711f3e70b2e297f55._comment b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_1_5af705ddb453588711f3e70b2e297f55._comment new file mode 100644 index 0000000000..2922515d64 --- /dev/null +++ b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_1_5af705ddb453588711f3e70b2e297f55._comment @@ -0,0 +1,28 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T18:15:31Z" + content=""" +Thanks for reporting this. + +Is git in your path? (Ie, can you run git from command.exe?) + +I notice that the + +page, which had this problem, was a user who neglected to have git add +itself to path, contrary to what the installation instructiins say to do. + +So, it's not surprising that disregarding the instructions break, but this +is a bad way for it to break. It would be better to at least avoid the +loop, and perhaps Just Work. + +I don't understand why it loops.. the git-annex-webapp.vbs runs "git-annex +webapp". If git-annex is not in path (because git is not in path and it +piggybacks off git's path settings), that should fail to do anything. +Or is Windows really sufficiently DWIM that it will search for **different +spellings** of program names?! + +I don't see how I can add a "Start in" parameter; git-annex has no way of +knowing where the user intended to install git if they didn't add git to +the path. +"""]] diff --git a/doc/forum/Windows_installation_notes/comment_1_54c253ab61fea4f5aaefa04bb078c7b0._comment b/doc/forum/Windows_installation_notes/comment_1_54c253ab61fea4f5aaefa04bb078c7b0._comment new file mode 100644 index 0000000000..7b26547a09 --- /dev/null +++ b/doc/forum/Windows_installation_notes/comment_1_54c253ab61fea4f5aaefa04bb078c7b0._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T18:26:30Z" + content=""" +Not following the instructions to have git put itself into the path seems +like a sure-fire way to shoot yourself in the foot. + +The loop problem is being discussed at + +perhaps you'll be able to answer my questions about it there? +"""]] From 148d5b20097e7cce58f867c2183db34455a65758 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 14:33:11 -0400 Subject: [PATCH 48/63] followup --- ...nt_11_402d7d3e8e7f2df57eb6685134226642._comment | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/design/metadata/comment_11_402d7d3e8e7f2df57eb6685134226642._comment diff --git a/doc/design/metadata/comment_11_402d7d3e8e7f2df57eb6685134226642._comment b/doc/design/metadata/comment_11_402d7d3e8e7f2df57eb6685134226642._comment new file mode 100644 index 0000000000..b7b8937c52 --- /dev/null +++ b/doc/design/metadata/comment_11_402d7d3e8e7f2df57eb6685134226642._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 11""" + date="2015-04-09T18:31:34Z" + content=""" +@Sunke, the reason that views make up their own filenames is to +avoid the problem of having 2 files in a view that have the same +name. + +In your example, that could happen if you used --set title +with the same title for 2 separate files. + +So, I don't think this can be supported reasonably. +"""]] From 2736c59204672d174d358691ebb8d00ebe9c4dba Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 14:59:08 -0400 Subject: [PATCH 49/63] fix webapp reversion caused by relative path changes webapp: When adding another local repository, and combining it with the current repository, the new repository's remote path was set to "." rather than the path to the current repository. This was a reversion caused by the relative path changes in 5.20150113. --- Assistant/WebApp/Configurators/Local.hs | 5 +++-- debian/changelog | 6 +++++- ...ent_2_ae3d4ac918ef002ead859ed0c962ae32._comment | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 doc/forum/Adding_a_mounted_network/comment_2_ae3d4ac918ef002ead859ed0c962ae32._comment diff --git a/Assistant/WebApp/Configurators/Local.hs b/Assistant/WebApp/Configurators/Local.hs index abfadc7254..30fc0cab01 100644 --- a/Assistant/WebApp/Configurators/Local.hs +++ b/Assistant/WebApp/Configurators/Local.hs @@ -347,8 +347,9 @@ getFinishAddDriveR drive = go combineRepos :: FilePath -> String -> Handler Remote combineRepos dir name = liftAnnex $ do hostname <- fromMaybe "host" <$> liftIO getHostname - hostlocation <- fromRepo Git.repoLocation - liftIO $ inDir dir $ void $ makeGitRemote hostname hostlocation + mylocation <- fromRepo Git.repoLocation + mypath <- liftIO $ relPathDirToFile dir mylocation + liftIO $ inDir dir $ void $ makeGitRemote hostname mypath addRemote $ makeGitRemote name dir getEnableDirectoryR :: UUID -> Handler Html diff --git a/debian/changelog b/debian/changelog index 8b228f1561..b53d77ac08 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -git-annex (5.20150406.2) UNRELEASED; urgency=medium +git-annex (5.20150409) UNRELEASED; urgency=medium * This fixes a bug in the assistant introduced by the literal pathspec changes in version 5.20150406. @@ -16,6 +16,10 @@ git-annex (5.20150406.2) UNRELEASED; urgency=medium repo. * importfeed: Fix feed download when curl is used. * importfeed: Error out when passed a non-url. + * webapp: When adding another local repository, and combining it + with the current repository, the new repository's remote path + was set to "." rather than the path to the current repository. + This was a reversion caused by the relative path changes in 5.20150113. -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 diff --git a/doc/forum/Adding_a_mounted_network/comment_2_ae3d4ac918ef002ead859ed0c962ae32._comment b/doc/forum/Adding_a_mounted_network/comment_2_ae3d4ac918ef002ead859ed0c962ae32._comment new file mode 100644 index 0000000000..eaf0665581 --- /dev/null +++ b/doc/forum/Adding_a_mounted_network/comment_2_ae3d4ac918ef002ead859ed0c962ae32._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 2""" + date="2015-04-09T18:33:47Z" + content=""" +If you want to do with using the webapp, go to the "Repository" +menu in the upper-left, and select "Add another local repository." + +You can then enter the path to your repository, whevever it is, +and click on "combine the repositories" + +But, like Justin said, this just sets up a git remote, so doing it at +the command line will work just as well. +"""]] From b22aacab445869da8c0b47d29bea192938b46ac8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 15:06:46 -0400 Subject: [PATCH 50/63] prep release --- debian/changelog | 4 ++-- git-annex.cabal | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/changelog b/debian/changelog index b53d77ac08..b506241acd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -git-annex (5.20150409) UNRELEASED; urgency=medium +git-annex (5.20150409) unstable; urgency=medium * This fixes a bug in the assistant introduced by the literal pathspec changes in version 5.20150406. @@ -21,7 +21,7 @@ git-annex (5.20150409) UNRELEASED; urgency=medium was set to "." rather than the path to the current repository. This was a reversion caused by the relative path changes in 5.20150113. - -- Joey Hess Mon, 06 Apr 2015 20:14:20 -0400 + -- Joey Hess Thu, 09 Apr 2015 15:06:38 -0400 git-annex (5.20150406.1) unstable; urgency=medium diff --git a/git-annex.cabal b/git-annex.cabal index ff9f09c350..093c45d0ec 100644 --- a/git-annex.cabal +++ b/git-annex.cabal @@ -1,5 +1,5 @@ Name: git-annex -Version: 5.20150406.1 +Version: 5.20150409 Cabal-Version: >= 1.8 License: GPL-3 Maintainer: Joey Hess From ce0a82f4937a0312ed47e340bdb072bfe06a9961 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 15:34:47 -0400 Subject: [PATCH 51/63] contentlocationn: New plumbing command. --- Annex/Content.hs | 1 + CmdLine/GitAnnex.hs | 2 ++ Command/ContentLocation.hs | 32 +++++++++++++++++++ debian/changelog | 1 + ..._outputs_full_DIRHASH_to_the_key_load.mdwn | 1 + ..._6430c915dd2969bda4070fa4ba01a935._comment | 14 ++++++++ doc/git-annex-contentlocation.mdwn | 27 ++++++++++++++++ doc/git-annex.mdwn | 6 ++++ 8 files changed, 84 insertions(+) create mode 100644 Command/ContentLocation.hs create mode 100644 doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_3_6430c915dd2969bda4070fa4ba01a935._comment create mode 100644 doc/git-annex-contentlocation.mdwn diff --git a/Annex/Content.hs b/Annex/Content.hs index 310c43daf8..17050224dc 100644 --- a/Annex/Content.hs +++ b/Annex/Content.hs @@ -9,6 +9,7 @@ module Annex.Content ( inAnnex, + inAnnex', inAnnexSafe, inAnnexCheck, lockContent, diff --git a/CmdLine/GitAnnex.hs b/CmdLine/GitAnnex.hs index 6aeefda054..fde4e2d08b 100644 --- a/CmdLine/GitAnnex.hs +++ b/CmdLine/GitAnnex.hs @@ -22,6 +22,7 @@ import qualified Command.Move import qualified Command.Copy import qualified Command.Get import qualified Command.LookupKey +import qualified Command.ContentLocation import qualified Command.ExamineKey import qualified Command.FromKey import qualified Command.RegisterUrl @@ -152,6 +153,7 @@ cmds = concat , Command.Ungroup.cmd , Command.Vicfg.cmd , Command.LookupKey.cmd + , Command.ContentLocation.cmd , Command.ExamineKey.cmd , Command.FromKey.cmd , Command.RegisterUrl.cmd diff --git a/Command/ContentLocation.hs b/Command/ContentLocation.hs new file mode 100644 index 0000000000..555f909cdf --- /dev/null +++ b/Command/ContentLocation.hs @@ -0,0 +1,32 @@ +{- git-annex command + - + - Copyright 2015 Joey Hess + - + - Licensed under the GNU GPL version 3 or higher. + -} + +module Command.ContentLocation where + +import Common.Annex +import Command +import Annex.Content +import Types.Key + +cmd :: [Command] +cmd = [noCommit $ noMessages $ + command "contentlocation" (paramRepeating paramKey) seek + SectionPlumbing "looks up content for a key"] + +seek :: CommandSeek +seek = withKeys start + +start :: Key -> CommandStart +start k = do + liftIO . maybe exitFailure putStrLn + =<< inAnnex' (pure True) Nothing check k + stop + where + check f = ifM (liftIO (doesFileExist f)) + ( return (Just f) + , return Nothing + ) diff --git a/debian/changelog b/debian/changelog index b506241acd..0958e7dc55 100644 --- a/debian/changelog +++ b/debian/changelog @@ -20,6 +20,7 @@ git-annex (5.20150409) unstable; urgency=medium with the current repository, the new repository's remote path was set to "." rather than the path to the current repository. This was a reversion caused by the relative path changes in 5.20150113. + * contentlocationn: New plumbing command. -- Joey Hess Thu, 09 Apr 2015 15:06:38 -0400 diff --git a/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load.mdwn b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load.mdwn index df42a49066..7f9ca28f63 100644 --- a/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load.mdwn +++ b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load.mdwn @@ -2,3 +2,4 @@ Current layout is DIRHASH (of two levels) /KEY/KEY, so I would need to hardcode having that KEY directory. It might be nice to either make DIRHASH to return full hash directory (but it might break existing special remotes), or supplement with e.g. DIRHASHFULL which would return all the levels necessary to reach the KEY file +> [[done]] --[[Joey]] diff --git a/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_3_6430c915dd2969bda4070fa4ba01a935._comment b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_3_6430c915dd2969bda4070fa4ba01a935._comment new file mode 100644 index 0000000000..b6d24563aa --- /dev/null +++ b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_3_6430c915dd2969bda4070fa4ba01a935._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2015-04-09T19:08:40Z" + content=""" +I've added a contentlocation command + +I'd expect an external command to not be much slower than using the pipe +for this. It does not need to spin up any git commands etc to get the +content location. Also, you can pass it multiple keys to query at one time +if necessary. + +I guess we'll see if this is too slow and can revisit it if so.. +"""]] diff --git a/doc/git-annex-contentlocation.mdwn b/doc/git-annex-contentlocation.mdwn new file mode 100644 index 0000000000..128622bc8b --- /dev/null +++ b/doc/git-annex-contentlocation.mdwn @@ -0,0 +1,27 @@ +# NAME + +git-annex contentlocation - looks up content for a key + +# SYNOPSIS + +git annex contentlocation `[key ...]` + +# DESCRIPTION + +This plumbing-level command looks up filename used to store the content +of a key. The filename is output to stdout. If the key's content is not +present in the local repository, nothing is output, and it exits nonzero. + +Note that in direct mode, the file will typically be in the git work +tree, and while its content should correspond to the key, the file +could become modified at any time after git-annex checks it. + +# SEE ALSO + +[[git-annex]](1) + +# AUTHOR + +Joey Hess + +Warning: Automatically converted into a man page by mdwn2man. Edit with care. diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn index 11fbc6e017..6fd10aed00 100644 --- a/doc/git-annex.mdwn +++ b/doc/git-annex.mdwn @@ -513,6 +513,12 @@ subdirectories). See [[git-annex-lookupkey]](1) for details. +* `contentlocation [key ..]` + + Looks up location of annexed content for a key. + + See [[git-annex-contentlocation]](1) for details. + * `examinekey [key ...]` Print information that can be determined purely by looking at the key. From e4653cda4cffe4c1c6cb708e940f60edee0e578d Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawl67y6EP2HTErhFl6ch4vDUHym6CH68Vnw" Date: Thu, 9 Apr 2015 19:47:44 +0000 Subject: [PATCH 52/63] --- ...ot_supported_by_this_command:___39__literal__39__.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn index 73b846a496..dbb8134506 100644 --- a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn +++ b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn @@ -94,3 +94,11 @@ fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this > looking problem, even when using swedish chars in filenames. > > --[[Joey]] + +>> I tried an older version of git-annex on the same repository, and could not find any "commitBuffer: +>> invalid argument" in the log. +>> +>> I would like the take the chance to thank you for the incredible work you are doing with this software/tool! It's an amazing effort! +>> +>> -Daniel + From 81fa244d5b4697bfd356d31d0b79c001e3963e61 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawl67y6EP2HTErhFl6ch4vDUHym6CH68Vnw" Date: Thu, 9 Apr 2015 19:48:37 +0000 Subject: [PATCH 53/63] --- ...agic_not_supported_by_this_command:___39__literal__39__.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn index dbb8134506..d0de521a0e 100644 --- a/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn +++ b/doc/bugs/pathspec_magic_not_supported_by_this_command:___39__literal__39__.mdwn @@ -98,7 +98,7 @@ fatal: Work/archive/Tidrapportering/Tid.md: pathspec magic not supported by this >> I tried an older version of git-annex on the same repository, and could not find any "commitBuffer: >> invalid argument" in the log. >> ->> I would like the take the chance to thank you for the incredible work you are doing with this software/tool! It's an amazing effort! +>> I would like to take the chance to thank you for the incredible work you are doing with this software/tool! It's an amazing effort! >> >> -Daniel From 3575ee59e215e5c118793228e085bf1beae010da Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawlh1G1u_AMJEyADqlfuzV2cePniocDyK6A" Date: Thu, 9 Apr 2015 19:53:54 +0000 Subject: [PATCH 54/63] --- doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn index 37d2c3da9c..3cbd7f4459 100644 --- a/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn +++ b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows.mdwn @@ -1 +1,3 @@ Copying a large file from windows (msysgit 1.9.5.msysgit.1, git-annex 20150406) to a bare repository on debian wheezy (git 1.9.1 git-annex 20141024) I can only get around 2 MB/s transfer speed. I tested using normal windows copy (smb) and got around 10 MB/s, while the git-annex copy was still going on. I tried plain ssh and got 9 MB/s. So, something to do with git-annex is being slow it seems. Any ideas on how to remedy this, or is it a known issue? + +Note: Problem not seen going from linux to linux... waaaayyy faster (40 MB/s) to put it lightly (10 min vs all day) The destination server is the same. From 055e101c5411c061a58bedd1abfd20c60a9f0341 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 16:32:13 -0400 Subject: [PATCH 55/63] response --- ...mment_1_dd4ebb10ac87e3ee6158b7e7b1273a81._comment | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/forum/Slow_transfer_speeds_on_copy_in_Windows/comment_1_dd4ebb10ac87e3ee6158b7e7b1273a81._comment diff --git a/doc/forum/Slow_transfer_speeds_on_copy_in_Windows/comment_1_dd4ebb10ac87e3ee6158b7e7b1273a81._comment b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows/comment_1_dd4ebb10ac87e3ee6158b7e7b1273a81._comment new file mode 100644 index 0000000000..e6bdd2c4e7 --- /dev/null +++ b/doc/forum/Slow_transfer_speeds_on_copy_in_Windows/comment_1_dd4ebb10ac87e3ee6158b7e7b1273a81._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2015-04-09T20:30:19Z" + content=""" +There's not a lot of places where git-annex could make this slower. +git-annex copy is just running rsync to the ssh server. + +Have you tried benchmarking rsync of a large file to the server w/o +git-annex? rsync does do considerably more client-side work than does +scp, in order to support resuming, so that might be it. +"""]] From 500cfbea5c695d4e92b872374709accd47bdce0c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 16:32:25 -0400 Subject: [PATCH 56/63] devblog --- doc/devblog/day_273__unexpected_release.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doc/devblog/day_273__unexpected_release.mdwn diff --git a/doc/devblog/day_273__unexpected_release.mdwn b/doc/devblog/day_273__unexpected_release.mdwn new file mode 100644 index 0000000000..5b902c892c --- /dev/null +++ b/doc/devblog/day_273__unexpected_release.mdwn @@ -0,0 +1,15 @@ +I've had to release git-annex twice this week to fix reversions. On Monday, +just after I made a planned release, I discovered a bug in it, and had to +update it with a .1 release. Today's release fixes 2 other reversions +introduced by recent changes, both only affecting the assistant. + +Before making today's release, I did a bunch of other minor bugfixes and +improvements, including adding a new `contentlocationn` plumbing command. +This release also changes `git annex add` when annex.largefiles is +configured, so it will `git add` the non-large files. That is particularly +useful in direct mode. + +I feel that the assistant needs some TLC, so I might devote a week to it in +the latter part of this month. My current funding doesn't cover work +on the assistant, but I should have some spare time toward the end of the +month. From b149f1691511471c288a32255054bcf21aa97f15 Mon Sep 17 00:00:00 2001 From: "https://www.google.com/accounts/o8/id?id=AItOawkQOUUx4LVAk6EnstSLvdv7gZc0NsRlHXw" Date: Thu, 9 Apr 2015 20:37:52 +0000 Subject: [PATCH 57/63] Added a comment --- ...ent_2_c8c2744e30f2950d9830936d2bd51617._comment | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/forum/Windows_installation_notes/comment_2_c8c2744e30f2950d9830936d2bd51617._comment diff --git a/doc/forum/Windows_installation_notes/comment_2_c8c2744e30f2950d9830936d2bd51617._comment b/doc/forum/Windows_installation_notes/comment_2_c8c2744e30f2950d9830936d2bd51617._comment new file mode 100644 index 0000000000..cab6b1dfd8 --- /dev/null +++ b/doc/forum/Windows_installation_notes/comment_2_c8c2744e30f2950d9830936d2bd51617._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="https://www.google.com/accounts/o8/id?id=AItOawkQOUUx4LVAk6EnstSLvdv7gZc0NsRlHXw" + nickname="Dave" + subject="comment 2" + date="2015-04-09T20:37:51Z" + content=""" +Sorry, joey, I haven't played with git annex on windows since my original post. + +I only have one new piece of information: some git annex related auto-start entry was added to the user profile of the account I used to perform the installation. I noticed this when I logged in interactively as that user... + +See what I'm saying? I have DOMAIN\dave.loyall and WORKSTATION\local.admin. I have to use the latter to carry out installation, via \"Run as...\", but I need stuff to be installed into DOMAIN\dave.loyall's profile or the AllUsers profile (or whatever it is called). + +Meanwhile, more and more of my daily work is carried out in my GNU/Linux virtual machines. I don't personally want/need anyone to prioritize windows-only deficiencies. +"""]] From 0bff7e759698479abaf9afafc4729f8f1b0c3f67 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 16:40:50 -0400 Subject: [PATCH 58/63] add news item for git-annex 5.20150409 --- doc/news/version_5.20150219.mdwn | 34 -------------------------------- doc/news/version_5.20150409.mdwn | 23 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 34 deletions(-) delete mode 100644 doc/news/version_5.20150219.mdwn create mode 100644 doc/news/version_5.20150409.mdwn diff --git a/doc/news/version_5.20150219.mdwn b/doc/news/version_5.20150219.mdwn deleted file mode 100644 index 0225e85626..0000000000 --- a/doc/news/version_5.20150219.mdwn +++ /dev/null @@ -1,34 +0,0 @@ -git-annex 5.20150219 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * glacier: Detect when the glacier command in PATH is the wrong one, - from boto, rather than from glacier-cli, and refuse to use it, - since the boto program fails to fail when passed - parameters it does not understand. - * groupwanted: New command to set the groupwanted preferred content - expression. - * import: Support file matching options such as --exclude, --include, - --smallerthan, --largerthan - * The file matching options are now only accepted by commands that - can actually use them, instead of by all commands. - * import: Avoid checksumming file twice when run in the default - or --duplicate mode. - * Windows: Fix bug in dropping an annexed file, which - caused a symlink to be staged that contained backslashes. - * webapp: Fix reversion in opening webapp when starting it manually - inside a repository. - * assistant: Improve sanity check for control characters when pairing. - * Improve race recovery code when committing to git-annex branch. - * addurl: Avoid crash if quvi is not installed, when git-annex was - built with process-1.2 - * bittorrent: Fix mojibake introduced in parsing arai2c progress output. - * fsck --from: If a download from a remote fails, propagate the failure. - * metadata: When setting metadata, do not recurse into directories by - default, since that can be surprising behavior and difficult to recover - from. The old behavior is available by using --force. - * sync, assistant: Include repository name in head branch commit message. - * The ssh-options git config is now used by gcrypt, rsync, and ddar - special remotes that use ssh as a transport. - * sync, assistant: Use the ssh-options git config when doing git pull - and push. - * remotedaemon: Use the ssh-options git config. - * Linux standalone: Improved process names of linker shimmed programs."""]] \ No newline at end of file diff --git a/doc/news/version_5.20150409.mdwn b/doc/news/version_5.20150409.mdwn new file mode 100644 index 0000000000..49ddd8c9a3 --- /dev/null +++ b/doc/news/version_5.20150409.mdwn @@ -0,0 +1,23 @@ +git-annex 5.20150409 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * This fixes a bug in the assistant introduced by the literal pathspec + changes in version 5.20150406. + * --quiet now suppresses progress displays from eg, rsync. + (Second time's the charm..) + * fromkey, registerurl: When reading from stdin, allow the + filename and url, respectively, to contain whitespace. + * add: If annex.largefiles is set and does not match a file that's being + added, the file will be checked into git rather than being added to the + annex. Previously, git annex add skipped over such files; this new + behavior is more useful in direct mode. + * proxy: Made it work when run in a new repository before initial + commit. + * info: Display repository mode: bare when in a bare (non-direct mode) + repo. + * importfeed: Fix feed download when curl is used. + * importfeed: Error out when passed a non-url. + * webapp: When adding another local repository, and combining it + with the current repository, the new repository's remote path + was set to "." rather than the path to the current repository. + This was a reversion caused by the relative path changes in 5.20150113. + * contentlocationn: New plumbing command."""]] \ No newline at end of file From f469e8916b9dfae6d805e8e3bf8b732e95f4d4dd Mon Sep 17 00:00:00 2001 From: "https://launchpad.net/~eliasson" Date: Thu, 9 Apr 2015 20:43:08 +0000 Subject: [PATCH 59/63] Added a comment --- ..._2_f68896dee17aa663749912e663f10a9f._comment | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_2_f68896dee17aa663749912e663f10a9f._comment diff --git a/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_2_f68896dee17aa663749912e663f10a9f._comment b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_2_f68896dee17aa663749912e663f10a9f._comment new file mode 100644 index 0000000000..070fbdbad0 --- /dev/null +++ b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_2_f68896dee17aa663749912e663f10a9f._comment @@ -0,0 +1,17 @@ +[[!comment format=mdwn + username="https://launchpad.net/~eliasson" + nickname="eliasson" + subject="comment 2" + date="2015-04-09T20:43:08Z" + content=""" +Yes, Git is in my path. This is my full (system, not user) path, copied from System Properties->Advanced->Environment Variables: + + C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Git\cmd + +I've done some more experimentation now. I believe that in Windows the current working directory is always first in the path. I also think that \"Start in\" sets the CWD of a shortcut and if unset, its CWD is its location in the Start menu. The shortcut is named git-annex.lnk and executes a VBscript that runs \"git-annex webapp\". This is probably why the shortcut executes itself. + +Setting the Start in parameter to anything (doesn't have to be Git's installation directory) *or* renaming the shortcut to something other than git-annex makes it work. A third way of fixing it is to open git-annex-webapp.vbs and changing \"git-annex webapp\" to \"git annex webapp\". I don't know which option is the cleanest solution. + +I take it back that git-annex-autostart loops. I seem to remember that it did on another computer (running a version of git-annex downloaded today) but probably remember wrong. Now I can only reproduce this with the webapp shortcut. + +"""]] From 00a8abac251e618c657a9941d3b74ab3f754da4c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 17:05:41 -0400 Subject: [PATCH 60/63] comment --- ..._6c3e6b1344c533857611c0f6033c0dce._comment | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_3_6c3e6b1344c533857611c0f6033c0dce._comment diff --git a/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_3_6c3e6b1344c533857611c0f6033c0dce._comment b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_3_6c3e6b1344c533857611c0f6033c0dce._comment new file mode 100644 index 0000000000..77472dcdab --- /dev/null +++ b/doc/bugs/windows_start_menu_shortcuts_are_missing___34__Start_in__34___parameter/comment_3_6c3e6b1344c533857611c0f6033c0dce._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2015-04-09T20:53:17Z" + content=""" +I'm guessing this doesn't affect XP, so I'm going to need to rely on you +guys for help and testing for the newer Windows.. + +Makes sense about git-annex.lnk trying to run itself, I suppose. Sort of. + +The DSL I'm using to generate the NSIS installer and thus this file +doesn't currently seem to have a way to set the "Start in" parameter. +I can get that added, but it would take a while. + +I don't see any reason not to use the "git annex webapp" approach. +Should be the same as long as git's in path, and if git's not in path, +well. + +Alternatively, though, I could rename the menu item to something else, like +"git-annex-menu.lnk". Seems that would also avoid the problem, and somewhat +more robustly. I don't like this business of conflicting command-names +being in path. Renaming the menu item has the downside of needing a +uninstall/reinstall cycle to avoid getting a duplicate menu item, but +otherwise seems reasonable. +"""]] From 06211738c12ed371d64e3f4d5bd41b42826626e3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 21:02:38 -0400 Subject: [PATCH 61/63] Fix activity log parsing. I had some cargo culting in there that used the wrong type, so it failed to parse old logs, and overwrote them with the new log. --- Logs/Activity.hs | 2 +- debian/changelog | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Logs/Activity.hs b/Logs/Activity.hs index 45262a6337..9738fdb1c0 100644 --- a/Logs/Activity.hs +++ b/Logs/Activity.hs @@ -26,7 +26,7 @@ recordActivity :: Activity -> UUID -> Annex () recordActivity act uuid = do ts <- liftIO getPOSIXTime Annex.Branch.change activityLog $ - showLog id . changeLog ts uuid (show act) . parseLog readish + showLog show . changeLog ts uuid act . parseLog readish lastActivities :: Maybe Activity -> Annex (Log Activity) lastActivities wantact = parseLog onlywanted <$> Annex.Branch.get activityLog diff --git a/debian/changelog b/debian/changelog index 0958e7dc55..cc7e1fa20d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +git-annex (5.20150410) UNRELEASED; urgency=medium + + * Fix activity log parsing. + + -- Joey Hess Thu, 09 Apr 2015 20:59:43 -0400 + git-annex (5.20150409) unstable; urgency=medium * This fixes a bug in the assistant introduced by the literal pathspec From 2879adc551b3e0ca935c8d85922173af70b0a127 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 21:12:59 -0400 Subject: [PATCH 62/63] fix union merge to call diff-index with -- after the ref Otherwise, if there's a file in the repo with a name matching the ref, git could get confused and the merge not work. --- Git/UnionMerge.hs | 4 ++-- debian/changelog | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Git/UnionMerge.hs b/Git/UnionMerge.hs index d4dc35e4aa..780861a413 100644 --- a/Git/UnionMerge.hs +++ b/Git/UnionMerge.hs @@ -55,8 +55,8 @@ mergeTrees (Ref x) (Ref y) h = doMerge h $ "diff-tree":diffOpts ++ [x, y] {- For merging a single tree into the index. -} mergeTreeIndex :: Ref -> CatFileHandle -> Repo -> Streamer -mergeTreeIndex (Ref x) h = doMerge h $ - "diff-index" : diffOpts ++ ["--cached", x] +mergeTreeIndex (Ref r) h = doMerge h $ + "diff-index" : diffOpts ++ ["--cached", r, "--"] diffOpts :: [String] diffOpts = ["--raw", "-z", "-r", "--no-renames", "-l0"] diff --git a/debian/changelog b/debian/changelog index cc7e1fa20d..f4afbc461f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ git-annex (5.20150410) UNRELEASED; urgency=medium - * Fix activity log parsing. + * Fix activity log parsing, which caused the log to not retain + activity from other uuids. + * Union merge could fall over if there was a file in the repository + with the same name as a git ref. Now fixed. -- Joey Hess Thu, 09 Apr 2015 20:59:43 -0400 From d3d92abf950fe0cb686602d6d9de7de1e59c6f10 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Apr 2015 21:21:35 -0400 Subject: [PATCH 63/63] spotted a few more places where diff-tree needed -- None of these are very likely at all to ever be ambiguous, since tree refs almost never have symbolic names and the sha is very unlikely to be in the work tree.. But, let's get it right! --- Git/DiffTree.hs | 4 ++-- Git/UnionMerge.hs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Git/DiffTree.hs b/Git/DiffTree.hs index 5cdcc16bc6..5dd4bde2dc 100644 --- a/Git/DiffTree.hs +++ b/Git/DiffTree.hs @@ -36,12 +36,12 @@ isDiffOf diff f = case getTopFilePath f of {- Diffs two tree Refs. -} diffTree :: Ref -> Ref -> Repo -> IO ([DiffTreeItem], IO Bool) diffTree src dst = getdiff (Param "diff-tree") - [Param (fromRef src), Param (fromRef dst)] + [Param (fromRef src), Param (fromRef dst), Param "--"] {- Diffs two tree Refs, recursing into sub-trees -} diffTreeRecursive :: Ref -> Ref -> Repo -> IO ([DiffTreeItem], IO Bool) diffTreeRecursive src dst = getdiff (Param "diff-tree") - [Param "-r", Param (fromRef src), Param (fromRef dst)] + [Param "-r", Param (fromRef src), Param (fromRef dst), Param "--"] {- Diffs between a tree and the index. Does nothing if there is not yet a - commit in the repository. -} diff --git a/Git/UnionMerge.hs b/Git/UnionMerge.hs index 780861a413..26bb3d39f3 100644 --- a/Git/UnionMerge.hs +++ b/Git/UnionMerge.hs @@ -51,7 +51,7 @@ mergeIndex h repo bs = forM_ bs $ \b -> {- For merging two trees. -} mergeTrees :: Ref -> Ref -> CatFileHandle -> Repo -> Streamer -mergeTrees (Ref x) (Ref y) h = doMerge h $ "diff-tree":diffOpts ++ [x, y] +mergeTrees (Ref x) (Ref y) h = doMerge h $ "diff-tree":diffOpts ++ [x, y, "--"] {- For merging a single tree into the index. -} mergeTreeIndex :: Ref -> CatFileHandle -> Repo -> Streamer