Recent changes to this wiki:

Added a comment: Same problem here
diff --git a/doc/forum/Android_version_does_not_sync/comment_4_1ad06842dd96be14e66cde67f32d50f8._comment b/doc/forum/Android_version_does_not_sync/comment_4_1ad06842dd96be14e66cde67f32d50f8._comment
new file mode 100644
index 0000000..3ae4f77
--- /dev/null
+++ b/doc/forum/Android_version_does_not_sync/comment_4_1ad06842dd96be14e66cde67f32d50f8._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawkyMs6WP6rXEnFqQg9oooOjYZzqO1j9_kE"
+ nickname="John"
+ subject="Same problem here"
+ date="2015-03-29T02:30:36Z"
+ content="""
+**Here's the log right from the first start up after creating a repo, and also the warning I get when I open the webapp:**
+
+[2015-03-29 10:18:01 JST] main: starting assistant version 5.20150327-ge414f2d [2015-03-29 10:18:01 JST] 
+Cronner: You should enable consistency checking to protect your data. (scanning...) 
+
+[2015-03-29 10:18:02 JST] Watcher: Performing startup scan (started...) 
+
+Detected a filesystem without fifo support. 
+
+Disabling ssh connection caching. 
+
+Detected a crippled filesystem. (recording state in git...) error: cannot run git-upload-pack '/storage/extSdCard/annex-sync': No such file or directory fatal: unable to fork
+
+
+**Each time I start the webapp, I get this warning:**
+
+Transfer scanner crashed: /storage/sdcard0/annex/.git/index: copyFile does not exist (No such file or directory)
+
+
+"""]]

diff --git a/doc/bugs/annex_remotedaemon_100__37___cpu_hungry.mdwn b/doc/bugs/annex_remotedaemon_100__37___cpu_hungry.mdwn
new file mode 100644
index 0000000..6b20db9
--- /dev/null
+++ b/doc/bugs/annex_remotedaemon_100__37___cpu_hungry.mdwn
@@ -0,0 +1,81 @@
+### Please describe the problem.
+
+Rebooted my laptop recently (after dunno how long of uptime) and annex assistant was shut off in previous uptime, but this time decided to leave it running. spotted that laptop is hot today to see that git-annex is busy.  And I am not sure what it is really doing:  top says
+
+     3087 yoh       30  10  520700  21084  14748 S 100.0  0.1  80:50.60 /usr/bin/git-annex remotedaemon 
+
+
+[[!format sh """
+
+$> tail -20 /proc/3087/cwd/.git/annex/daemon.log
+
+Please make sure you have the correct access rights
+and the repository exists.
+ssh: connect to host vagus.cns.dartmouth.edu port 22: Connection timed out
+fatal: Could not read from remote repository.
+
+Please make sure you have the correct access rights
+and the repository exists.
+ssh: connect to host vagus.cns.dartmouth.edu port 22: Connection timed out
+fatal: Could not read from remote repository.
+
+Please make sure you have the correct access rights
+and the repository exists.
+[2015-03-28 20:27:53 EDT] main: Syncing with debandy_Vault 
+hostname: Name or service not known
+hostname: Name or service not known
+To ssh://yoh@git-annex-andy-yoh_.2Fmedia.2FVault.2Fannex/media/Vault/annex/
+   8c181af..a0b0bd6  git-annex -> synced/git-annex
+   8352761..537d4a6  master -> synced/master
+
+"""]]
+
+in webapp I saw it struggling to connect  to vagus which is offline, I turned it off, then reanabled syncing to above yoh@git-annex-andy-yoh_.2Fmedia.2FVault.2Fannex .  I don't know if annex was busier or not before, but it is 100% busy now, but nothing seems to be done -- no traffic, no changing fd's for that annex process
+
+strace shows busy reading from fd 24:
+
+[[!format sh """
+[pid  3110] read(24, "", 8096)          = 0
+[pid  3110] read(24, "", 8096)          = 0
+[pid  3110] read(24, "", 8096)          = 0
+[pid  3110] read(24, "", 8096)          = 0
+"""]]
+
+
+    $> ls -l /proc/3087/fd/24                      
+    lr-x------ 1 yoh yoh 64 Mar 28 20:31 /proc/3087/fd/24 -> pipe:[794930]
+
+
+so what could it be doing?
+
+[[!format sh """
+ 2807 yoh        20   0  693M  110M 36948 S  1.4  0.7 11:15.32 ├─ /usr/bin/git-annex assistant --startdelay=5s
+ 3359 yoh        39  19 20996  3412  3096 S  0.0  0.0  0:00.01 │  ├─ git --git-dir=.git --work-tree=. check-attr -z --stdin annex.backend annex.numcopies --
+ 3140 yoh        20   0 21128  3504  3188 S  0.0  0.0  0:00.01 │  ├─ git --git-dir=.git --work-tree=. check-ignore -z --stdin --verbose --non-matching
+ 3117 yoh        20   0  693M  110M 36948 S  0.0  0.7  0:00.00 │  ├─ /usr/bin/git-annex assistant --startdelay=5s
+ 3108 yoh        20   0  693M  110M 36948 S  0.0  0.7  0:00.15 │  ├─ /usr/bin/git-annex assistant --startdelay=5s
+ 3087 yoh        30  10  508M 21084 14748 S 97.9  0.1  1h29:16 │  ├─ /usr/bin/git-annex remotedaemon
+24361 yoh        30  10  508M 21084 14748 S  0.0  0.1  0:00.00 │  │  ├─ /usr/bin/git-annex remotedaemon
+19799 yoh        30  10     0     0     0 Z  0.0  0.0  0:00.01 │  │  ├─ ssh
+19440 yoh        30  10  508M 21084 14748 S  0.0  0.1  0:00.00 │  │  ├─ /usr/bin/git-annex remotedaemon
+ 3222 yoh        30  10 27368  5796  3456 S  0.0  0.0  0:00.00 │  │  ├─ git --git-dir=.git --work-tree=. cat-file --batch
+ 3110 yoh        30  10  508M 21084 14748 R 97.5  0.1  1h29:10 │  │  ├─ /usr/bin/git-annex remotedaemon
+ 3090 yoh        30  10  508M 21084 14748 S  0.0  0.1  0:00.98 │  │  ├─ /usr/bin/git-annex remotedaemon
+ 3089 yoh        30  10  508M 21084 14748 S  0.0  0.1  0:00.03 │  │  └─ /usr/bin/git-annex remotedaemon
+"""]]
+
+how could I figure out what is doing??? meanwhile I have just sent STOP signal to 3087
+
+### What version of git-annex are you using? On what operating system?
+
+5.20150327+git27-g6af24b6-1
+
+### 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.
+"""]]

Added a comment: Sounds nice !
diff --git a/doc/forum/ga-ncdu/comment_2_8d369dc264ccaf80490c1cb37a330239._comment b/doc/forum/ga-ncdu/comment_2_8d369dc264ccaf80490c1cb37a330239._comment
new file mode 100644
index 0000000..ef5cb76
--- /dev/null
+++ b/doc/forum/ga-ncdu/comment_2_8d369dc264ccaf80490c1cb37a330239._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="markusk"
+ subject="Sounds nice !"
+ date="2015-03-28T22:41:45Z"
+ content="""
+
+I would be very glad if you would release it!
+"""]]

removed
diff --git a/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment b/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment
deleted file mode 100644
index bf215bf..0000000
--- a/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment
+++ /dev/null
@@ -1,7 +0,0 @@
-[[!comment format=mdwn
- username="markusk"
- subject="Sounds nice !"
- date="2015-03-28T22:40:52Z"
- content="""
-I would be very glad if you would release it! 
-"""]]

Added a comment: Sounds nice !
diff --git a/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment b/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment
new file mode 100644
index 0000000..bf215bf
--- /dev/null
+++ b/doc/forum/ga-ncdu/comment_2_adf36929dd4c2646065ada3c851e5283._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="markusk"
+ subject="Sounds nice !"
+ date="2015-03-28T22:40:52Z"
+ content="""
+I would be very glad if you would release it! 
+"""]]

Added a comment: Similar issue here
diff --git a/doc/bugs/Android___91__Terminal_session_finished__93__/comment_8_e28f25897caa301e69ad7aabab821086._comment b/doc/bugs/Android___91__Terminal_session_finished__93__/comment_8_e28f25897caa301e69ad7aabab821086._comment
new file mode 100644
index 0000000..26fa6a6
--- /dev/null
+++ b/doc/bugs/Android___91__Terminal_session_finished__93__/comment_8_e28f25897caa301e69ad7aabab821086._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawkAm9yT27yU-qBTGKIsTMdWW3AgL_WAfkc"
+ nickname="Cameron"
+ subject="Similar issue here"
+ date="2015-03-28T22:17:08Z"
+ content="""
+Im on the LG F60 (ms395) not rooted. I downloaded a cracked.apk of KBOX and it kept failing to start due to not having Busybox in its file path. So I got the Busybox .apk and copied it into KBOX's path. Now k box is stoped at 'In mgmain JNI_OnLoad'. As soon as I try to ENTER anything, it force closes. Also, I'm not sure if it's related, but my phone is not and does not get recognized by my car stereo via usb. I managed to get around not having permission to look at the 'usbautorun.iso' file. No luck though, it's coded. Any ideas?
+
+"""]]

Added a comment
diff --git a/doc/forum/ga-ncdu/comment_1_cde3f7bbd099b303bacdaa5e1588b71e._comment b/doc/forum/ga-ncdu/comment_1_cde3f7bbd099b303bacdaa5e1588b71e._comment
new file mode 100644
index 0000000..6d7caee
--- /dev/null
+++ b/doc/forum/ga-ncdu/comment_1_cde3f7bbd099b303bacdaa5e1588b71e._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="andy"
+ subject="comment 1"
+ date="2015-03-28T22:03:53Z"
+ content="""
+I'd take a look. I just downloaded ncdu prompted by your comment, and that would be helpful to get sane output regarding my annexed files.
+"""]]

Pass -j to cabal install and cabal build; presumably we all have more than one core to spare.
diff --git a/doc/install/fromsource.mdwn b/doc/install/fromsource.mdwn
index 733d736..3f2987b 100644
--- a/doc/install/fromsource.mdwn
+++ b/doc/install/fromsource.mdwn
@@ -43,8 +43,8 @@ git-annex, but it does not include the assistant or webapp.
 Inside the source tree, run:
 
 	cabal configure -f"-assistant -webapp -webdav -pairing -xmpp -dns"
-	cabal install -f"-assistant -webapp -webdav -pairing -xmpp -dns" --only-dependencies
-	cabal build
+	cabal install -j -f"-assistant -webapp -webdav -pairing -xmpp -dns" --only-dependencies
+	cabal build -j
 	PATH=$HOME/bin:$PATH
 	cabal install --bindir=$HOME/bin
 
@@ -62,8 +62,8 @@ your OS is beyond the scope of this page.
 Once the C libraries are installed, run inside the source tree:
 
 	cabal configure
-	cabal install --only-dependencies
-	cabal build
+	cabal install -j --only-dependencies
+	cabal build -j
 	PATH=$HOME/bin:$PATH
 	cabal install --bindir=$HOME/bin
 

AFAICT you should pass -f"..." to cabal install as well as cabal configure, otherwise it will try to install the prerequisites for a default build
diff --git a/doc/install/fromsource.mdwn b/doc/install/fromsource.mdwn
index 1e96cce..733d736 100644
--- a/doc/install/fromsource.mdwn
+++ b/doc/install/fromsource.mdwn
@@ -43,7 +43,7 @@ git-annex, but it does not include the assistant or webapp.
 Inside the source tree, run:
 
 	cabal configure -f"-assistant -webapp -webdav -pairing -xmpp -dns"
-	cabal install --only-dependencies
+	cabal install -f"-assistant -webapp -webdav -pairing -xmpp -dns" --only-dependencies
 	cabal build
 	PATH=$HOME/bin:$PATH
 	cabal install --bindir=$HOME/bin

Added a comment
diff --git a/doc/forum/git-annex_on_openSUSE/comment_2_bbe6925ca465d13b050639c18abcd890._comment b/doc/forum/git-annex_on_openSUSE/comment_2_bbe6925ca465d13b050639c18abcd890._comment
new file mode 100644
index 0000000..fe6fa73
--- /dev/null
+++ b/doc/forum/git-annex_on_openSUSE/comment_2_bbe6925ca465d13b050639c18abcd890._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="saneP"
+ subject="comment 2"
+ date="2015-03-28T14:05:17Z"
+ content="""
+No, there is no adequate package. Maybe it has been removed..
+
+"""]]

Added a comment: Amazon Cloud Drive support
diff --git a/doc/special_remotes/comment_23_aba4abb897c6ecc0c6ba72cbd21b9f4b._comment b/doc/special_remotes/comment_23_aba4abb897c6ecc0c6ba72cbd21b9f4b._comment
new file mode 100644
index 0000000..65c4513
--- /dev/null
+++ b/doc/special_remotes/comment_23_aba4abb897c6ecc0c6ba72cbd21b9f4b._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnWvnTWY6LrcPB4BzYEBn5mRTpNhg5EtEg"
+ nickname="Bence"
+ subject="Amazon Cloud Drive support"
+ date="2015-03-28T10:35:47Z"
+ content="""
+Is there a special remote implementation for Amazon Cloud Drive?
+
+It's just became unlimited for a fair price: $60/year ( https://www.amazon.com/clouddrive/pricing ).
+
+http://techcrunch.com/2015/03/26/amazon-goes-after-dropbox-google-microsoft-with-unlimited-cloud-drive-storage/
+"""]]

Added a comment: RE: It's dangerous ignore a folder with same level folder of a .git directory
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_0511e8fa74ec3244879a8e5dc05472b3._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_0511e8fa74ec3244879a8e5dc05472b3._comment
new file mode 100644
index 0000000..a358c32
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_0511e8fa74ec3244879a8e5dc05472b3._comment
@@ -0,0 +1,28 @@
+[[!comment format=mdwn
+ username="badele"
+ subject="RE: It's dangerous ignore a folder with same level folder of a .git directory"
+ date="2015-03-28T10:24:00Z"
+ content="""
+Hi,
+
+Exemple of my project directories:
+
+    + /tmp/git-annex
+        + .git (git-annex git)
+        + project_folder_with_git_folder/.git (garbage git project)
+        + project_folder_with_git_folder/folder1
+            + file1
+        + project_folder_with_git_folder/folder2
+            + file2
+
+
+You can reproduce it
+
+    mkdir -p /tmp/git-annex && cd /tmp/git-annex
+    git init
+    git annex init test
+    cp -R project_folder_with_git_folder .
+    git annex add project_folder_with_git_folder
+    
+No files are added
+"""]]

Added a comment
diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_3_dcb651fa8a1ec52d6016e11bf06fab5d._comment b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_3_dcb651fa8a1ec52d6016e11bf06fab5d._comment
new file mode 100644
index 0000000..421f375
--- /dev/null
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_3_dcb651fa8a1ec52d6016e11bf06fab5d._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnm19dBCRphmtjXfopm_NpvnRwz-qIJ2Tw"
+ nickname="Remi"
+ subject="comment 3"
+ date="2015-03-28T07:51:09Z"
+ content="""
+I completely disagree with the last surprise argument. I'm regularly in this situation, and each time I'm surprised when `git annex fix` do not fix the symlinks, even when I'm explicitly listing the list I want to fix. 
+"""]]

Added a comment
diff --git a/doc/devblog/day_268_stressed_out/comment_1_d28352c9fbc988ece19688a687d30ffe._comment b/doc/devblog/day_268_stressed_out/comment_1_d28352c9fbc988ece19688a687d30ffe._comment
new file mode 100644
index 0000000..bb603e2
--- /dev/null
+++ b/doc/devblog/day_268_stressed_out/comment_1_d28352c9fbc988ece19688a687d30ffe._comment
@@ -0,0 +1,10 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawmtJGSG74JdKxtaMvHQTTeq8P2yxXmuPD0"
+ nickname="Kenneth"
+ subject="comment 1"
+ date="2015-03-28T03:36:15Z"
+ content="""
+\" and de-prioritizing bug reports that don't have either a working reproduction recipe or multiple independent confirmations that it's a real bug.\"
+
+This seems quite reasonable. Hope you get a little downtime to relax.
+"""]]

Added a comment
diff --git a/doc/bugs/One_Client_Not_Syncing_Content/comment_2_59921abb184bffb5ac1656cc50054e11._comment b/doc/bugs/One_Client_Not_Syncing_Content/comment_2_59921abb184bffb5ac1656cc50054e11._comment
new file mode 100644
index 0000000..fda5be0
--- /dev/null
+++ b/doc/bugs/One_Client_Not_Syncing_Content/comment_2_59921abb184bffb5ac1656cc50054e11._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawm69GSNODRsVx40rPWDWyecnZn2r3bmOlY"
+ nickname="Jeffery"
+ subject="comment 2"
+ date="2015-03-28T03:02:24Z"
+ content="""
+laptop A has 5.20150205 while B has 5.20150219-g7751a05 ... they are fairly close. Could this cause a problem?
+"""]]

diff --git a/doc/bugs/Uses_suggested_by_CHECKURL-CONTENTS_filename_instead_of_explicitly_specified_one_in_addurl_--file_.mdwn b/doc/bugs/Uses_suggested_by_CHECKURL-CONTENTS_filename_instead_of_explicitly_specified_one_in_addurl_--file_.mdwn
new file mode 100644
index 0000000..0db2869
--- /dev/null
+++ b/doc/bugs/Uses_suggested_by_CHECKURL-CONTENTS_filename_instead_of_explicitly_specified_one_in_addurl_--file_.mdwn
@@ -0,0 +1,24 @@
+### Please describe the problem.
+
+
+### What steps will reproduce the problem?
+
+Run with a custom external remote which provides CHECKURL-CONTENTS response with filename, and then run 
+annex addurl --file=existing_file URL   expecting to get that URL assigned to existing_file
+
+Alternatively,  there is a small test repo
+<http://www.onerussian.com/tmp/tmpSqa8CH.tgz>
+with  .git/bin/git-annex-remote-dl+archive under /tmp/tmpSqa8CH having what was supposed to be a replayable protocol (if you do 
+
+     cd /tmp/tmplVoa6C; PATH=/tmp/tmplVoa6C/.git/bin:$PATH git annex --debug addurl --file test2.dat --relaxed dl+archive:SHA256E-s163--e424b6fef10c18b9aaa5bc773ef62a2632eaf1448ff3372d43557be4adca6419.tar.gz/a/d/test.dat
+
+But for this one,  I guess since addurl command actually succeeds, it is no longer replayable (protocol of interactions diverges) but you will see all the interactions between my remote and annex in that file recorded for you.  And you will see the test.dat uncommitted and with somewhat obscured URL-based key, although originally the call was
+
+     git annex --debug addurl --file test2.dat --relaxed dl+archive:SHA256E-s163--1f86ca26e1ca3cad3e8c8f1684d558b5e5f48d5928e0db45ab2e7d3be3d35307.tar.gz/a/d/test.dat
+
+from which I expected test2.dat get a new URL and that Filename remote spit out being ignored
+
+### What version of git-annex are you using? On what operating system?
+
+5.20150327+git27-g6af24b6-1
+

Added a comment
diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_2_0ab89dad1289b5d349ecd452c3f5e4f5._comment b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_2_0ab89dad1289b5d349ecd452c3f5e4f5._comment
new file mode 100644
index 0000000..8fe0a8c
--- /dev/null
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_2_0ab89dad1289b5d349ecd452c3f5e4f5._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="CandyAngel"
+ subject="comment 2"
+ date="2015-03-28T01:59:51Z"
+ content="""
+Okie dokie, thank you for considering it :)
+"""]]

devbog
diff --git a/doc/devblog/day_268_stressed_out.mdwn b/doc/devblog/day_268_stressed_out.mdwn
new file mode 100644
index 0000000..e2fd615
--- /dev/null
+++ b/doc/devblog/day_268_stressed_out.mdwn
@@ -0,0 +1,18 @@
+While I plowed through a lot of backlog the past several days,
+I still have some 120 messages piled deep.
+
+That work did result in a number of improvements, culminating in a rather
+rushed release of version 5.20150327 today, to fix a regression affecting
+`git annex sync` when using the standalone linux tarballs. Unfortunately, I
+then had to update those tarballs a second time after the release
+as the first fix was incomplete.
+
+And, I'm feeling super stressed out. At this point, I think I should step
+away until the end of the month. Unfortunately, this will mean more backlog
+later. Including lots of noise and hand-holding that I just don't seem to
+have time for if I want to continue making forward progress.
+
+Maybe I'll think of a way to deal with it while I'm away. Currently, all I
+have is that I may have to start ignoring irc and the forum, and
+de-prioritizing bug reports that don't have either a working reproduction
+recipe or multiple independent confirmations that it's a real bug.

correct misinformation
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_befb4f82ba2d812766b57cec475b52b5._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_befb4f82ba2d812766b57cec475b52b5._comment
new file mode 100644
index 0000000..cfda4f6
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_befb4f82ba2d812766b57cec475b52b5._comment
@@ -0,0 +1,19 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 16"""
+ date="2015-03-27T22:53:46Z"
+ content="""
+@badele, well, it doesn't ignore such a directory.
+
+<pre>
+joey@darkstar:~/tmp/gitrepo>ls -ld subrepo/.git
+drwxr-xr-x 7 joey joey 4096 Mar 27 18:52 subrepo/.git/
+joey@darkstar:~/tmp/gitrepo>mkdir subrepo/dir
+joey@darkstar:~/tmp/gitrepo>touch subrepo/dir/foo
+joey@darkstar:~/tmp/gitrepo>git annex add subrepo/dir/foo
+add subrepo/dir/foo ok
+(recording state in git...)
+</pre>
+
+git and git-annex have the same behavior here..
+"""]]

Fix GETURLS in external special remote protocol to strip downloader prefix from logged url info before checking for the specified prefix.
This doesn't change what GETURLS returns, but only whether it matches
any prefix that the external special remote asked for.
diff --git a/Logs/Web.hs b/Logs/Web.hs
index b2935f1..ed2f575 100644
--- a/Logs/Web.hs
+++ b/Logs/Web.hs
@@ -50,7 +50,9 @@ getUrls key = do
 			else return us
 
 getUrlsWithPrefix :: Key -> String -> Annex [URLString]
-getUrlsWithPrefix key prefix = filter (prefix `isPrefixOf`) <$> getUrls key
+getUrlsWithPrefix key prefix = filter (prefix `isPrefixOf`) 
+	. map (fst . getDownloader)
+	<$> getUrls key
 
 setUrlPresent :: UUID -> Key -> URLString -> Annex ()
 setUrlPresent uuid key url = do
diff --git a/Remote/External.hs b/Remote/External.hs
index 7dd1736..3953199 100644
--- a/Remote/External.hs
+++ b/Remote/External.hs
@@ -228,8 +228,7 @@ handleRequest' lck external req mp responsehandler
 	handleRemoteRequest (SETURIMISSING key uri) =
 		withurl (SETURLMISSING key) uri
 	handleRemoteRequest (GETURLS key prefix) = do
-		mapM_ (send . VALUE . fst . getDownloader)
-			=<< getUrlsWithPrefix key prefix
+		mapM_ (send . VALUE) =<< getUrlsWithPrefix key prefix
 		send (VALUE "") -- end of list
 	handleRemoteRequest (DEBUG msg) = liftIO $ debugM "external" msg
 	handleRemoteRequest (VERSION _) =
diff --git a/debian/changelog b/debian/changelog
index 098d865..e9d2558 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,9 @@ git-annex (5.20150328) UNRELEASED; urgency=medium
   * Prevent git-ls-files from double-expanding wildcards when an
     unexpanded wildcard is passed to a git-annex command like add or find.
   * Fix make build target. Thanks, Justin Geibel.
+  * Fix GETURLS in external special remote protocol to strip
+    downloader prefix from logged url info before checking for the
+    specified prefix.
 
  -- Joey Hess <id@joeyh.name>  Fri, 27 Mar 2015 16:04:43 -0400
 
diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
index f626498..fe1bc16 100644
--- a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
+++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
@@ -33,3 +33,5 @@ DATALAD_LOGLEVEL=1 DATALAD_LOGTARGET=stderr tools/testing/make_test_repo archive
 
 # End of transcript or log.
 """]]
+
+> [[fixed|done]] --[[Joey]]

Added a comment
diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_3_98b2b1915c50bca599f6d48fe117b213._comment b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_3_98b2b1915c50bca599f6d48fe117b213._comment
new file mode 100644
index 0000000..a137aac
--- /dev/null
+++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_3_98b2b1915c50bca599f6d48fe117b213._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY"
+ nickname="Yaroslav"
+ subject="comment 3"
+ date="2015-03-27T22:33:52Z"
+ content="""
+[[!format sh \"\"\"
+18:28  @yoh: joeyh: ok -- at least figured out where f.ck up is although yet not sure whose fault it is ;)
+18:29  @yoh: looking into git-annex branch, 
+$> cat 738/f2b/SHA256E-s3--a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3.dat.log.web
+1427495230.649621s 1 :dl+archive:SHA256E-s163--91440757454fb3eed74dcaadb9720b9b4c8b570daf5b31e125d035316e7e2faa.tar.gz/a/d/test.dat
+18:29  @yoh: so there is \":\" before the url.  If I prefix the prefix I send with \":\" I am getting correct replies (without any : prefixed)
+\"\"\"]]
+
+so what could it be?
+"""]]

Added a comment: It's dangerous ignore a folder with same level folder of a .git directory
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3a82ba46d172972c046f7e4238d9d109._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3a82ba46d172972c046f7e4238d9d109._comment
new file mode 100644
index 0000000..770cf54
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3a82ba46d172972c046f7e4238d9d109._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="badele"
+ subject="It's dangerous ignore a folder with same level folder of  a .git directory"
+ date="2015-03-27T22:16:13Z"
+ content="""
+Hi,
+
+I agree to avoid synchronize directories git, but it's not normal ignore the others directories in the same level of the .git directory. For my case, the .git is the garbage of the old project
+
+It would be nice to show a warning message when the files is ignored. Because it's dangerous, the user dont know if the files isn't archived !
+"""]]

Fix make build target. Thanks, Justin Geibel.
diff --git a/Makefile b/Makefile
index d6fb1a1..b36cbcd 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
 mans=$(shell find doc -maxdepth 1 -name git-annex*.mdwn | sed -e 's/^doc/man/' -e 's/\.mdwn/\.1/')
-all=git-annex $(mans) docs
+all=git-annex mans docs
 
 CABAL?=cabal # set to "./Setup" if you lack a cabal program
 GHC?=ghc
diff --git a/debian/changelog b/debian/changelog
index e2bfe36..098d865 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ git-annex (5.20150328) UNRELEASED; urgency=medium
     that works for "git annex sync" as well as "git-annex sync".
   * Prevent git-ls-files from double-expanding wildcards when an
     unexpanded wildcard is passed to a git-annex command like add or find.
+  * Fix make build target. Thanks, Justin Geibel.
 
  -- Joey Hess <id@joeyh.name>  Fri, 27 Mar 2015 16:04:43 -0400
 
diff --git a/doc/bugs/package_build_fails_with_missing_man_directory.mdwn b/doc/bugs/package_build_fails_with_missing_man_directory.mdwn
index f3d5577..03f1d36 100644
--- a/doc/bugs/package_build_fails_with_missing_man_directory.mdwn
+++ b/doc/bugs/package_build_fails_with_missing_man_directory.mdwn
@@ -26,3 +26,5 @@ index d6fb1a1..b36cbcd 100644
  CABAL?=cabal # set to "./Setup" if you lack a cabal program
  GHC?=ghc
 """]]
+
+> [[fixed|done]] --[[Joey]]

Post patch for man page make rule
diff --git a/doc/bugs/package_build_fails_with_missing_man_directory.mdwn b/doc/bugs/package_build_fails_with_missing_man_directory.mdwn
new file mode 100644
index 0000000..f3d5577
--- /dev/null
+++ b/doc/bugs/package_build_fails_with_missing_man_directory.mdwn
@@ -0,0 +1,28 @@
+When building a debian package, the build fails due to a missing man/ directory.
+
+    ./Build/mdwn2man man/git-annex-vpop.1 1 doc/git-annex-vpop.mdwn > man/git-annex-vpop.1
+    /bin/sh: 1: cannot create man/git-annex-vpop.1: Directory nonexistent
+
+I was able to build the package with the following patch:
+
+[[!format patch """
+From: Justin Geibel <jtgeibel@gmail.com>
+Date: Fri, 27 Mar 2015 16:21:13 -0400
+Subject: Fix build of man pages
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d6fb1a1..b36cbcd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ mans=$(shell find doc -maxdepth 1 -name git-annex*.mdwn | sed -e 's/^doc/man/' -e 's/\.mdwn/\.1/')
+-all=git-annex $(mans) docs
++all=git-annex mans docs
+ 
+ CABAL?=cabal # set to "./Setup" if you lack a cabal program
+ GHC?=ghc
+"""]]

followup
diff --git a/doc/bugs/git_annex_sync_thinks_remote__39__s_name_is_a_command/comment_6_54eafe7c4beee93a92a80a544124ce86._comment b/doc/bugs/git_annex_sync_thinks_remote__39__s_name_is_a_command/comment_6_54eafe7c4beee93a92a80a544124ce86._comment
new file mode 100644
index 0000000..2af923c
--- /dev/null
+++ b/doc/bugs/git_annex_sync_thinks_remote__39__s_name_is_a_command/comment_6_54eafe7c4beee93a92a80a544124ce86._comment
@@ -0,0 +1,16 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 6"""
+ date="2015-03-27T20:56:16Z"
+ content="""
+"root@192.168.253.53: error while loading shared libraries:
+root@192.168.253.53: cannot open shared object file: No such file or
+directory"
+
+That is a different bug entirely. Sure, same codepath, but by posting your
+problem report to a closed bug, you muddy the waters considerably.
+
+I fixed that problem today, once someone else brought it to my attention.
+It's a pity that I didn't see your report earlier, due to where you posted
+it..
+"""]]

response
diff --git a/doc/forum/git-annex_on_openSUSE/comment_1_97313a8a7fc7f558b5956989442a0f0b._comment b/doc/forum/git-annex_on_openSUSE/comment_1_97313a8a7fc7f558b5956989442a0f0b._comment
new file mode 100644
index 0000000..9a000b8
--- /dev/null
+++ b/doc/forum/git-annex_on_openSUSE/comment_1_97313a8a7fc7f558b5956989442a0f0b._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-27T20:53:23Z"
+ content="""
+To install gnuidn, you need to install the libidn C library.
+
+That is only needed for XMPP support. So you can avoid it with:
+cabal configure -f-XMPP
+
+There is already an openSUSE build, afaik.
+<https://git-annex.brachable.com/install/openSUSE/>
+"""]]

comment & close
diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
index 1bdc621..80d5a3d 100644
--- a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
@@ -16,3 +16,5 @@ This would allow me to do stuff like this:
     $ find -type l -xtype l -print0 | xargs -0 mv -t ~/files_not_found
 
 Admittedly, to do this now, you just have to stage the symlinks before you fix but there may be other situations where this is useful (and I can't think of anything else you would want 'fix --force' to do)..
+
+> Per my comment, this is not a good idea, so [[done]] --[[Joey]]
diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_1_b795d0bfa64654bf82684da961815cea._comment b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_1_b795d0bfa64654bf82684da961815cea._comment
new file mode 100644
index 0000000..f8eb047
--- /dev/null
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks/comment_1_b795d0bfa64654bf82684da961815cea._comment
@@ -0,0 +1,22 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-27T20:48:07Z"
+ content="""
+Currently git-annex uses git-ls-files to find the files to act on.
+This would requires running git-ls-files twice, once with --others to find
+the files not checked into git.
+
+I don't like the added complexity, the slowdown for everyone else,
+etc. 
+
+Also, I think it's very reasonable that git-annex commands do not
+act on files that are not checked into git (except for git-annex add of
+course). Acting on files that are not checked into git violates least
+surprise.
+
+So, just add the file to git if you want git-annex fix to
+act on it. You don't even have to commit the file, you can just
+stage it in the index, and then un-stage it after git-annex is done with
+it, if for some reason you don't want to check it into git.
+"""]]

Prevent git-ls-files from double-expanding wildcards when an unexpanded wildcard is passed to a git-annex command like add or find.
Note that previously, `git annex find *.jpg` would find eg, foo/bar.jpg.
That was never intended or documented behavior, so I'm going to change it.
But this is potentially a behavior change if someone discovered that
behavior and relied on it despite it being accidental. Oh well.. can't make
an omlette w/o breaking some eggs.
diff --git a/Git/LsFiles.hs b/Git/LsFiles.hs
index 1006be8..3f001f5 100644
--- a/Git/LsFiles.hs
+++ b/Git/LsFiles.hs
@@ -41,7 +41,7 @@ mkFile :: FilePath -> CommandParam
 mkFile = File . concatMap go
   where
 	go c
-		| c == '*' = ['\\', c]
+		| c `elem` "*?[]" = ['\\', c]
 		| otherwise = [c]
 
 {- Scans for files that are checked into git at the specified locations. -}
diff --git a/debian/changelog b/debian/changelog
index 4577a67..e2bfe36 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ git-annex (5.20150328) UNRELEASED; urgency=medium
 
   * Better fix for standalone tarball git-annex sync linker shim bug,
     that works for "git annex sync" as well as "git-annex sync".
+  * Prevent git-ls-files from double-expanding wildcards when an
+    unexpanded wildcard is passed to a git-annex command like add or find.
 
  -- Joey Hess <id@joeyh.name>  Fri, 27 Mar 2015 16:04:43 -0400
 
diff --git a/doc/bugs/unexpected_double_wildcard_expansion.mdwn b/doc/bugs/unexpected_double_wildcard_expansion.mdwn
new file mode 100644
index 0000000..f898a0c
--- /dev/null
+++ b/doc/bugs/unexpected_double_wildcard_expansion.mdwn
@@ -0,0 +1,15 @@
+From the forum, it seems that git-ls-files very unexpectedly expands
+wildcards in filenames passed to it. (Not a documented or an expected
+behavior.)
+
+This causes problems when eg, the user does `git annex add *.jpeg` and that
+matches no files, but there are some jpegs in subdirectories. git-ls-files
+re-expands the wildcard and finds those.
+
+Seems that the best fix is to make Git.LsFiles paper over this git
+misfeature, by always escaping wildcards in paths passed
+to git-ls-files. AFAIK, no callers of Git.LsFiles expect to provide it
+wildcards, because I was completely surprised when I learned they were
+expanded.. --[[Joey]]
+
+> [[fixed|done]] --[[Joey]]
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_5_a02c3cd804c2f6fd80d8839cc5c81af4._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_5_a02c3cd804c2f6fd80d8839cc5c81af4._comment
new file mode 100644
index 0000000..14560b0
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_5_a02c3cd804c2f6fd80d8839cc5c81af4._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 5"""
+ date="2015-03-27T20:42:21Z"
+ content="""
+I've fixed this; now you'll see:
+
+<pre>
+git annex add *.jpg
+git-annex: *.jpg not found
+</pre>
+"""]]

promote forum request to todo item so it is not lost
diff --git a/Git/LsFiles.hs b/Git/LsFiles.hs
index c23c282..1006be8 100644
--- a/Git/LsFiles.hs
+++ b/Git/LsFiles.hs
@@ -32,17 +32,28 @@ import Git.Sha
 
 import Numeric
 import System.Posix.Types
+import Data.Char
+
+{- Somewhat unexpectedly, git-ls-files does its own wildcard expansion
+ - of files passed to it. To avoid that, and only get back exactly the
+ - files we asked for, slash-escape punctuation in the filename. -}
+mkFile :: FilePath -> CommandParam
+mkFile = File . concatMap go
+  where
+	go c
+		| c == '*' = ['\\', c]
+		| otherwise = [c]
 
 {- Scans for files that are checked into git at the specified locations. -}
 inRepo :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
-inRepo l = pipeNullSplit $ Params "ls-files --cached -z --" : map File l
+inRepo l = pipeNullSplit $ Params "ls-files --cached -z --" : map mkFile l
 
 {- Scans for files at the specified locations that are not checked into git. -}
 notInRepo :: Bool -> [FilePath] -> Repo -> IO ([FilePath], IO Bool)
 notInRepo include_ignored l repo = pipeNullSplit params repo
   where
 	params = [Params "ls-files --others"] ++ exclude ++
-		[Params "-z --"] ++ map File l
+		[Params "-z --"] ++ map mkFile l
 	exclude
 		| include_ignored = []
 		| otherwise = [Param "--exclude-standard"]
@@ -50,28 +61,28 @@ notInRepo include_ignored l repo = pipeNullSplit params repo
 {- Finds all files in the specified locations, whether checked into git or
  - not. -}
 allFiles :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
-allFiles l = pipeNullSplit $ Params "ls-files --cached --others -z --" : map File l
+allFiles l = pipeNullSplit $ Params "ls-files --cached --others -z --" : map mkFile l
 
 {- Returns a list of files in the specified locations that have been
  - deleted. -}
 deleted :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
 deleted l repo = pipeNullSplit params repo
   where
-	params = [Params "ls-files --deleted -z --"] ++ map File l
+	params = [Params "ls-files --deleted -z --"] ++ map mkFile l
 
 {- Returns a list of files in the specified locations that have been
  - modified. -}
 modified :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
 modified l repo = pipeNullSplit params repo
   where
-	params = [Params "ls-files --modified -z --"] ++ map File l
+	params = [Params "ls-files --modified -z --"] ++ map mkFile l
 
 {- Files that have been modified or are not checked into git (and are not
  - ignored). -}
 modifiedOthers :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
 modifiedOthers l repo = pipeNullSplit params repo
   where
-	params = [Params "ls-files --modified --others --exclude-standard -z --"] ++ map File l
+	params = [Params "ls-files --modified --others --exclude-standard -z --"] ++ map mkFile l
 
 {- Returns a list of all files that are staged for commit. -}
 staged :: [FilePath] -> Repo -> IO ([FilePath], IO Bool)
@@ -86,7 +97,7 @@ staged' :: [CommandParam] -> [FilePath] -> Repo -> IO ([FilePath], IO Bool)
 staged' ps l = pipeNullSplit $ prefix ++ ps ++ suffix
   where
 	prefix = [Params "diff --cached --name-only -z"]
-	suffix = Param "--" : map File l
+	suffix = Param "--" : map mkFile l
 
 type StagedDetails = (FilePath, Maybe Sha, Maybe FileMode)
 
@@ -107,7 +118,7 @@ stagedDetails' ps l repo = do
 	return (map parse ls, cleanup)
   where
 	params = Params "ls-files --stage -z" : ps ++ 
-		Param "--" : map File l
+		Param "--" : map mkFile l
 	parse s
 		| null file = (s, Nothing, Nothing)
 		| otherwise = (file, extractSha $ take shaSize rest, readmode mode)
@@ -136,7 +147,7 @@ typeChanged' ps l repo = do
 	return (map (\f -> relPathDirToFileAbs currdir $ top </> f) fs, cleanup)
   where
 	prefix = [Params "diff --name-only --diff-filter=T -z"]
-	suffix = Param "--" : (if null l then [File "."] else map File l)
+	suffix = Param "--" : (if null l then [File "."] else map mkFile l)
 
 {- A item in conflict has two possible values.
  - Either can be Nothing, when that side deleted the file. -}
@@ -166,7 +177,7 @@ unmerged l repo = do
 	(fs, cleanup) <- pipeNullSplit params repo
 	return (reduceUnmerged [] $ catMaybes $ map parseUnmerged fs, cleanup)
   where
-	params = Params "ls-files --unmerged -z --" : map File l
+	params = Params "ls-files --unmerged -z --" : map mkFile l
 
 data InternalUnmerged = InternalUnmerged
 	{ isus :: Bool
diff --git a/doc/todo/command_line_interface_for_required_content_setthings.mdwn b/doc/todo/command_line_interface_for_required_content_setthings.mdwn
new file mode 100644
index 0000000..1334b15
--- /dev/null
+++ b/doc/todo/command_line_interface_for_required_content_setthings.mdwn
@@ -0,0 +1,11 @@
+Someone in the forum noticed that `git annex wanted`
+handles preferred content settings, but there is no analagous `git annex
+required`.
+
+Probably worth adding that, although required content is not an often 
+used feature, and vicfg can already configure it.
+
+(I don't much like the `git annex required` name. Nor the `git annex wanted`
+one when it comes to that. Oh well.)
+
+--[[Joey]]

diff --git a/doc/forum/ga-ncdu.mdwn b/doc/forum/ga-ncdu.mdwn
new file mode 100644
index 0000000..d4b48c2
--- /dev/null
+++ b/doc/forum/ga-ncdu.mdwn
@@ -0,0 +1,5 @@
+I've just written a quick script which provides an output which ncdu will use.
+
+It uses the size from the key for apparent size and the size of the file (if present) for the disk size so 'a' toggles between total size of the annex and the actually used disk space.
+
+Is there anyone else interested in having this? If so, I'll tidy it up and release it :)

Added a comment
diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_2_a0c3c27ff70b98a83f77ebac2714f8c7._comment b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_2_a0c3c27ff70b98a83f77ebac2714f8c7._comment
new file mode 100644
index 0000000..26815a6
--- /dev/null
+++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_2_a0c3c27ff70b98a83f77ebac2714f8c7._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY"
+ nickname="Yaroslav"
+ subject="comment 2"
+ date="2015-03-27T20:04:23Z"
+ content="""
+could you try on your end with as obscure URL as mine? i.e.
+'dl+archive:SHA256E-s153--f378a42b6ff4d90091a7dfa37ebe1fe2fc5926eafd12cde1f2ba5fd1bcbf5e1e.tar.gz/d/test.dat'
+may be something to do with the / in the url name?
+as posted on IRC, here are  two runs protocols with all the details, where I don't spot any related difference in runs
+http://www.onerussian.com/tmp/run-bad.txt_   http://www.onerussian.com/tmp/run-good.txt_
+"""]]

Added a comment: you read my mind correctly
diff --git a/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_2_dbc07ece175d747126ae626cd45ffb49._comment b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_2_dbc07ece175d747126ae626cd45ffb49._comment
new file mode 100644
index 0000000..dd8cad0
--- /dev/null
+++ b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_2_dbc07ece175d747126ae626cd45ffb49._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY"
+ nickname="Yaroslav"
+ subject="you read my mind correctly"
+ date="2015-03-27T19:43:01Z"
+ content="""
+Indeed I was just trying to get to the key's content (i.e. original archive from which to extract the load).  Indeed, new command would be lovely to have 
+
+I started to wonder what would be faster though -- calling another git annex instance with that command or asking through the PIPE/interface?
+
+P.S. I am scared to try any real tarball usecase and see how well it scales or not with all the ping-pong between external remote and annex ;)  I guess I will discover soon
+"""]]

format
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment
index 109115c..6af065c 100644
--- a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment
@@ -8,11 +8,11 @@ The shell does not expand *.jpg to match files inside subdirectories.
 I suggest you read up on how shell wildcards work, and how to use them
 properly.
 
-There is a bit of a bug here, which is that the shell, when *.jpg does not
-expand to anything, passes the "*.jpg" parameter to git-annex un-expanded,
+There is a bit of a bug here, which is that the shell, when `*.jpg` does not
+expand to anything, passes the `"*.jpg"` parameter to git-annex un-expanded,
 which then passes it off to git ls-files, which then unexpectedly expands
 it to recursively match jpegs in subirectories. Only then does git-annex
-try to add a "*.jpg" file, and when it doesn't exist, it exits with an
+try to add a `*.jpg` file, and when it doesn't exist, it exits with an
 error, leaving the files it did add unstaged in git.
 
 To get out of that situation, just re-run git-annex add and actually list

comment
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment
new file mode 100644
index 0000000..109115c
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_a0fdcd19954a38141b1dc2a51638ba30._comment
@@ -0,0 +1,24 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 3"""
+ date="2015-03-27T19:25:26Z"
+ content="""
+The shell does not expand *.jpg to match files inside subdirectories.
+
+I suggest you read up on how shell wildcards work, and how to use them
+properly.
+
+There is a bit of a bug here, which is that the shell, when *.jpg does not
+expand to anything, passes the "*.jpg" parameter to git-annex un-expanded,
+which then passes it off to git ls-files, which then unexpectedly expands
+it to recursively match jpegs in subirectories. Only then does git-annex
+try to add a "*.jpg" file, and when it doesn't exist, it exits with an
+error, leaving the files it did add unstaged in git.
+
+To get out of that situation, just re-run git-annex add and actually list
+the files or directories to add, rather than a wildcard that won't expand
+to them..
+
+I'll see if I can fix the behavior here, it should just fail when given an
+un-expanded wildcard.
+"""]]

Added a comment: Symlinks added
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_bc36d8f7b1d4d475018a236f71d06bb5._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_bc36d8f7b1d4d475018a236f71d06bb5._comment
new file mode 100644
index 0000000..d04ab1c
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_3_bc36d8f7b1d4d475018a236f71d06bb5._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawmFe2gzaJequ06hlza8N1-lFqQfwtFnw68"
+ nickname="Michael"
+ subject="Symlinks added"
+ date="2015-03-27T19:33:07Z"
+ content="""
+Git-annex does replace all jpg files with symlinks when I run the add command from the root directory. It's just when I try to commit and sync that no changes are detected.
+"""]]

Added a comment: Works in a subfolder, but not from root of site
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_2_d9a7d2669d1524cab71e7e3139631f2a._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_2_d9a7d2669d1524cab71e7e3139631f2a._comment
new file mode 100644
index 0000000..c6a410a
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_2_d9a7d2669d1524cab71e7e3139631f2a._comment
@@ -0,0 +1,55 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawmFe2gzaJequ06hlza8N1-lFqQfwtFnw68"
+ nickname="Michael"
+ subject="Works in a subfolder, but not from root of site"
+ date="2015-03-27T19:23:06Z"
+ content="""
+So if I drill all the way down into a folder containing images, the git annex add and git commit are successful. When trying to do the same from the root of the site, I get the add messages, but nothing appears to be staged when committing.
+
+
+Here is the output when trying to add all images recursively from the root of the site
+
+    macbook-pro:domain.com mhoskison$ git annex add *.jpg
+    add webroot/HTML/images/a-expanded.jpg ok
+    add webroot/HTML/images/about-logo1.jpg ok
+    <few hundred more lines add lines in-between>
+    add webroot/wp-content/uploads/2015/01/shutterstock_98870129-300x227.jpg ok
+    add webroot/wp-content/uploads/2015/01/shutterstock_98870129-940x198.jpg ok
+    add webroot/wp-content/uploads/2015/01/shutterstock_98870129.jpg ok
+    add webroot/wp-content/uploads/2015/01/smart-beauty-guide-logo.jpg ok
+    git-annex: *.jpg not found
+    macbook-pro:domain.com mhoskison$ git commit -m \"annex jpg wildcard\"
+    (recording state in git...)
+    On branch master
+    Your branch is up-to-date with 'origin/master'.
+    nothing added to commit but untracked files present
+    macbook-pro:domain.com mhoskison$ 
+
+
+Here is the successful output when I run the same commands from a subfolder
+
+    macbook-pro:04 mhoskison$ git annex add *.jpg
+    add april-150x150.jpg ok
+    add april.jpg ok
+    add images2-150x150.jpg ok
+    add images2.jpg ok
+    add p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-150x150.jpg ok
+    add p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-215x300.jpg ok
+    add p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-219x198.jpg ok
+    add p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_.jpg ok
+    (recording state in git...)
+    macbook-pro:04 mhoskison$ git commit -m \"annex test from subfolder\"
+    [master 9859afd] annex test from subfolder
+     8 files changed, 8 insertions(+)
+     create mode 120000 webroot/wp-content/uploads/2014/04/april-150x150.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/april.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/images2-150x150.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/images2.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-
+    F8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-150x150.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-215x300.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_-219x198.jpg
+     create mode 120000 webroot/wp-content/uploads/2014/04/p44242.tf_3B4F1611-AE82-BF8C-9E3190356674F495.Clear-and-Brilliant-logo-219x305_1_.jpg
+
+
+"""]]

add news item for git-annex 5.20150327
diff --git a/doc/news/version_5.20150327.mdwn b/doc/news/version_5.20150327.mdwn
new file mode 100644
index 0000000..3a46aad
--- /dev/null
+++ b/doc/news/version_5.20150327.mdwn
@@ -0,0 +1,22 @@
+git-annex 5.20150327 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+   * readpresentkey: New plumbing command for checking location log.
+   * checkpresentkey: New plumbing command to check if a key can be verified
+     to be present on a remote.
+   * Added a post-update-annex hook, which is run after the git-annex branch
+     is updated. Needed for git update-server-info.
+   * migrate: --force will force migration of keys already using the
+     destination backend. Useful in rare cases.
+   * Man pages for individual commands now available, and can be
+     opened using "git annex help &lt;command&gt;"
+   * --auto is no longer a global option; only get, drop, and copy
+     accept it. (Not a behavior change unless you were passing it to a
+     command that ignored it.)
+   * Improve error message when --in @date is used and there is no
+     reflog for the git-annex branch.
+   * assistant: Committing a whole lot of files at once could overflow
+     command-line length limits and cause the commit to fail. This
+     only happened when using the assistant in an indirect mode repository.
+   * Work around curl bug when asked to download an empty url to a file.
+   * Fix bug introduced in the last release that broke git-annex sync
+     when git-annex was installed from the standalone tarball."""]]
\ No newline at end of file

Added a comment
diff --git a/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_2_01dfd865c469a5bc465f73347a65ce44._comment b/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_2_01dfd865c469a5bc465f73347a65ce44._comment
new file mode 100644
index 0000000..b052275
--- /dev/null
+++ b/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_2_01dfd865c469a5bc465f73347a65ce44._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="https://renaud.casenave.fr/"
+ subject="comment 2"
+ date="2015-03-27T18:25:17Z"
+ content="""
+Well, I thought about that but it doesn't seem to work.
+with `git annex get --notify-start --notify-finish` I properly get the notifications but with `git annex assistant --notify-start --notify-finish` I get nothing when a file is uploaded or downloaded
+"""]]

comment
diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_1_e0784676aab3388254cdc9e7dd2d97e7._comment b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_1_e0784676aab3388254cdc9e7dd2d97e7._comment
new file mode 100644
index 0000000..d7efcec
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite/comment_1_e0784676aab3388254cdc9e7dd2d97e7._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-27T18:21:11Z"
+ content="""
+There is no difference between "git annex add *" and "git annex
+add list of files". The wildcard is expanded by your shell, not by
+git-annex.
+
+Post a transcript of the problem.
+"""]]

diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn
index 4d002d9..5898778 100644
--- a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn
@@ -3,6 +3,7 @@ I've been trying to get all image files added to git annex with a wildcard, with
 Comands I've tried-
 
 git annex add *.jpg     * This outputs to the screen that it's adding each .jpg it finds, but when I go to commit there are 0 files staged.
+
 git annex add . --include='*.jpg'   * This doesn't return any results.
 
 

comment
diff --git a/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_1_7454fe8e5a33335b89168de161d6a739._comment b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_1_7454fe8e5a33335b89168de161d6a739._comment
new file mode 100644
index 0000000..dcedee1
--- /dev/null
+++ b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load/comment_1_7454fe8e5a33335b89168de161d6a739._comment
@@ -0,0 +1,19 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-27T17:55:13Z"
+ content="""
+The intent in providing DIRHASH is to let external special remotes that
+would like to do some hashing in their own backend storage get a value
+that's suitable for that.
+
+I guess you're instead trying to use it to let the external special remote
+access data stored in .git/annex/objects in the local repositpry.
+And DIRHASH won't work for that; it's not even the right hash method.
+(Not to mention, in direct mode, the data may not be stored in
+.git/annex/objects at all.)
+
+If that's what you're looking for, I think that a new plumbing command
+would be best. Something like `git annex contentlocation $KEY` outputting
+a path to the content.
+"""]]

seems to work ok...
diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_1_48f4cce32de8da1f2c8b3c29dc1a50a0._comment b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_1_48f4cce32de8da1f2c8b3c29dc1a50a0._comment
new file mode 100644
index 0000000..baa30f7
--- /dev/null
+++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided/comment_1_48f4cce32de8da1f2c8b3c29dc1a50a0._comment
@@ -0,0 +1,21 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-27T17:37:14Z"
+ content="""
+This seems very unlikely, because the *indentical* code path is running
+in both cases. In both cases it filters the list of urls to those prefixed with
+the specified prefix; when no prefix is specified it uses "" as the
+prefix.
+
+Also, when I test it myself using my own test code, it works as expected:
+
+<pre>
+[2015-03-27 13:49:30 JEST] git-annex-remote-test --> GETURLS SHA256E-s0--e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 dl+archive:
+[2015-03-27 13:49:30 JEST] git-annex-remote-test <-- VALUE dl+archive:foo-bar-baz
+[2015-03-27 13:49:30 JEST] git-annex-remote-test <-- VALUE 
+</pre>
+
+Are you sure that your test machinery has actually set any urls in the
+second case?
+"""]]

diff --git a/doc/bugs/--list-tests_runs_tests.mdwn b/doc/bugs/--list-tests_runs_tests.mdwn
index f1f8ef2..f2b776e 100644
--- a/doc/bugs/--list-tests_runs_tests.mdwn
+++ b/doc/bugs/--list-tests_runs_tests.mdwn
@@ -5,16 +5,21 @@ Running "git annex test --list-tests" seems to produce the same output as "git a
 git annex test --list-tests
 
 ### What version of git-annex are you using? On what operating system?
-5.20150317-g237d5b0 on Centos 6.6
+5.20150317-g237d5b0 on Centos 6.6 and Ubuntu 12.04.5
 
 5.20141125 on Mac OS X 10.10.2
 
 ### 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.
+# this is version 5.20150317-g237d5b0 on Ubuntu
+$ ./git-annex test --list-tests
+Tests
+  QuickCheck
+    prop_idempotent_deencode_git:                   OK (0.15s)
+      +++ OK, passed 1000 tests.
+    prop_idempotent_deencode:                       OK (0.12s)
+      +++ OK, passed 1000 tests.
+[snip all the passing tests]
+All 140 tests passed (305.69s)
 """]]

Fix bug introduced in the last release that broke git-annex sync when git-annex was installed from the standalone tarball.
This was introduced by commit 450ee53ab6af7a87938a6ffabda700c58993a0d7
However, the same problem could affect other calls to programPath,
specifically some on the assistant. So, I fixed it at a deeper level.
diff --git a/Annex/Path.hs b/Annex/Path.hs
index ac4e776..8209e5b 100644
--- a/Annex/Path.hs
+++ b/Annex/Path.hs
@@ -11,7 +11,9 @@ module Annex.Path where
 
 import Common
 import Config.Files
-import System.Environment
+import Utility.Env
+
+import System.Environment (getExecutablePath)
 
 {- A fully qualified path to the currently running git-annex program.
  - 
@@ -19,15 +21,22 @@ import System.Environment
  - well, it returns the complete path to the program. But, on other OSs,
  - it might return just the basename. Fall back to reading the programFile,
  - or searching for the command name in PATH.
+ -
+ - The standalone build runs git-annex via ld.so, and defeats
+ - getExecutablePath. It sets GIT_ANNEX_PROGRAMPATH to the correct path
+ - to the wrapper script to use.
  -}
 programPath :: IO FilePath
-programPath = do
+programPath = go =<< getEnv "GIT_ANNEX_PROGRAMPATH"
+  where
+	go (Just p) = return p
+	go Nothing = do
 #if MIN_VERSION_base(4,6,0)
-	exe <- getExecutablePath
-	p <- if isAbsolute exe
-		then return exe
-		else readProgramFile
+		exe <- getExecutablePath
+		p <- if isAbsolute exe
+			then return exe
+			else readProgramFile
 #else
-	p <- readProgramFile
+		p <- readProgramFile
 #endif
-	maybe cannotFindProgram return =<< searchPath p
+		maybe cannotFindProgram return =<< searchPath p
diff --git a/debian/changelog b/debian/changelog
index bb48727..aa32da6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,8 @@ git-annex (5.20150318) UNRELEASED; urgency=medium
     command-line length limits and cause the commit to fail. This
     only happened when using the assistant in an indirect mode repository.
   * Work around curl bug when asked to download an empty url to a file.
+  * Fix bug introduced in the last release that broke git-annex sync
+    when git-annex was installed from the standalone tarball.
 
  -- Joey Hess <id@joeyh.name>  Thu, 19 Mar 2015 17:05:32 -0400
 
diff --git a/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn
index fb3f7d4..25a60cb 100644
--- a/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn
+++ b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn
@@ -43,3 +43,4 @@ git-annex: sync: 2 failed
 # End of transcript or log.
 """]]
 
+> [[fixed|done]] --[[Joey]] 
diff --git a/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn b/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn
deleted file mode 100644
index 6e31266..0000000
--- a/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn
+++ /dev/null
@@ -1,44 +0,0 @@
-### Please describe the problem.
-git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
-
-### What steps will reproduce the problem?
-Running "git annex sync" in a normal git annex repo.
-
-### What version of git-annex are you using? On what operating system?
-Arch Linux with git-annex from the git-annex-bin AUR package:
-git-annex version: 5.20150317-g237d5b0
-
-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
-
-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
-
-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
-
-### Please provide any additional information below.
-people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
-
-SSH and normal git operations work fine.
-
-[[!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
-[dafo@simon-desktop dokumente_ga]$ git annex sync
-commit  ok
-pull leno 
-dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
-fatal: Could not read from remote repository.
-Please make sure you have the correct access rights
-and the repository exists.
-failed
-push leno 
-dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
-fatal: Could not read from remote repository.
-Please make sure you have the correct access rights
-and the repository exists.
-  Pushing to leno failed.
-  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
-failed
-git-annex: sync: 2 failed
-
-# End of transcript or log.
-"""]]
diff --git a/standalone/linux/skel/git-annex b/standalone/linux/skel/git-annex
index 7fc864d..8b59be2 100755
--- a/standalone/linux/skel/git-annex
+++ b/standalone/linux/skel/git-annex
@@ -28,4 +28,7 @@ if [ -e "$base/bin/git-annex" ]; then
 	export GIT_ANNEX_APP_BASE
 fi
 
+GIT_ANNEX_PROGRAMPATH="$0"
+export GIT_ANNEX_PROGRAMPATH
+
 exec "$base/runshell" git-annex "$@"

diff --git a/doc/bugs/--list-tests_runs_tests.mdwn b/doc/bugs/--list-tests_runs_tests.mdwn
index a9c56ed..f1f8ef2 100644
--- a/doc/bugs/--list-tests_runs_tests.mdwn
+++ b/doc/bugs/--list-tests_runs_tests.mdwn
@@ -6,6 +6,7 @@ git annex test --list-tests
 
 ### What version of git-annex are you using? On what operating system?
 5.20150317-g237d5b0 on Centos 6.6
+
 5.20141125 on Mac OS X 10.10.2
 
 ### Please provide any additional information below.

diff --git a/doc/bugs/--list-tests_runs_tests.mdwn b/doc/bugs/--list-tests_runs_tests.mdwn
new file mode 100644
index 0000000..a9c56ed
--- /dev/null
+++ b/doc/bugs/--list-tests_runs_tests.mdwn
@@ -0,0 +1,19 @@
+### Please describe the problem.
+Running "git annex test --list-tests" seems to produce the same output as "git annex test" rather than list tests.
+
+### What steps will reproduce the problem?
+git annex test --list-tests
+
+### What version of git-annex are you using? On what operating system?
+5.20150317-g237d5b0 on Centos 6.6
+5.20141125 on Mac OS X 10.10.2
+
+### 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.
+"""]]

rescue bug report from the badly named .mdwn file of doom
How do users keep making that file? I can't get ikiwiki to do it.
diff --git a/doc/bugs/.mdwn b/doc/bugs/.mdwn
deleted file mode 100644
index 6e31266..0000000
--- a/doc/bugs/.mdwn
+++ /dev/null
@@ -1,44 +0,0 @@
-### Please describe the problem.
-git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
-
-### What steps will reproduce the problem?
-Running "git annex sync" in a normal git annex repo.
-
-### What version of git-annex are you using? On what operating system?
-Arch Linux with git-annex from the git-annex-bin AUR package:
-git-annex version: 5.20150317-g237d5b0
-
-build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
-
-key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
-
-remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
-
-### Please provide any additional information below.
-people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
-
-SSH and normal git operations work fine.
-
-[[!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
-[dafo@simon-desktop dokumente_ga]$ git annex sync
-commit  ok
-pull leno 
-dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
-fatal: Could not read from remote repository.
-Please make sure you have the correct access rights
-and the repository exists.
-failed
-push leno 
-dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
-fatal: Could not read from remote repository.
-Please make sure you have the correct access rights
-and the repository exists.
-  Pushing to leno failed.
-  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
-failed
-git-annex: sync: 2 failed
-
-# End of transcript or log.
-"""]]
diff --git a/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn b/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn
new file mode 100644
index 0000000..6e31266
--- /dev/null
+++ b/doc/bugs/git_annex_sync_strange_shared_library_error.mdwn
@@ -0,0 +1,44 @@
+### Please describe the problem.
+git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
+
+### What steps will reproduce the problem?
+Running "git annex sync" in a normal git annex repo.
+
+### What version of git-annex are you using? On what operating system?
+Arch Linux with git-annex from the git-annex-bin AUR package:
+git-annex version: 5.20150317-g237d5b0
+
+build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
+
+key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
+
+remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
+
+### Please provide any additional information below.
+people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
+
+SSH and normal git operations work fine.
+
+[[!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
+[dafo@simon-desktop dokumente_ga]$ git annex sync
+commit  ok
+pull leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+failed
+push leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+  Pushing to leno failed.
+  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
+failed
+git-annex: sync: 2 failed
+
+# End of transcript or log.
+"""]]

Added a comment
diff --git a/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__/comment_1_f9fbaa2232113803db5fe95b7466298f._comment b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__/comment_1_f9fbaa2232113803db5fe95b7466298f._comment
new file mode 100644
index 0000000..54d87f6
--- /dev/null
+++ b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__/comment_1_f9fbaa2232113803db5fe95b7466298f._comment
@@ -0,0 +1,13 @@
+[[!comment format=mdwn
+ username="CandyAngel"
+ subject="comment 1"
+ date="2015-03-27T12:13:44Z"
+ content="""
+This is something to do with sshcaching..
+
+    git annex sync -c annex.sshcaching=false
+
+works for me.
+
+For some reason, it is trying to load the hostnames as a shared library.. which seems like a potential security problem to me.
+"""]]

Fixed formatting
diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
index 4b610b1..1bdc621 100644
--- a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
@@ -4,15 +4,15 @@ Would it be possible for 'git annex fix' to work even on untracked symlinks (per
 
 This would allow me to do stuff like this:
 
-   $ cd ~/old_broken_annex
-   $ cp -t ~/other_annex/presentcheck *
-   $ cd ~/other_annex/presentcheck
+    $ cd ~/old_broken_annex
+    $ cp -t ~/other_annex/presentcheck *
+    $ cd ~/other_annex/presentcheck
 
-   ### This currently does nothing if the symlinks are untracked
-   $ git annex fix --force .
-   
-   $ find -type l -not -xtype l -print0 | xargs -0 git add
-   $ git commit -m "yay, we found some files!"
-   $ find -type l -xtype l -print0 | xargs -0 mv -t ~/files_not_found
+    ### This currently does nothing if the symlinks are untracked
+    $ git annex fix --force .
+    
+    $ find -type l -not -xtype l -print0 | xargs -0 git add
+    $ git commit -m "yay, we found some files!"
+    $ find -type l -xtype l -print0 | xargs -0 mv -t ~/files_not_found
 
 Admittedly, to do this now, you just have to stage the symlinks before you fix but there may be other situations where this is useful (and I can't think of anything else you would want 'fix --force' to do)..

diff --git a/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
new file mode 100644
index 0000000..4b610b1
--- /dev/null
+++ b/doc/todo/__34__git-annex_fix__34___on_untracked__44___but_git-annexy_symlinks.mdwn
@@ -0,0 +1,18 @@
+In my quest to get git-annex to do what I want, even if it is weird and unusual..
+
+Would it be possible for 'git annex fix' to work even on untracked symlinks (perhaps only with '--force'?), where the symlink is otherwise in a git-annexy format?
+
+This would allow me to do stuff like this:
+
+   $ cd ~/old_broken_annex
+   $ cp -t ~/other_annex/presentcheck *
+   $ cd ~/other_annex/presentcheck
+
+   ### This currently does nothing if the symlinks are untracked
+   $ git annex fix --force .
+   
+   $ find -type l -not -xtype l -print0 | xargs -0 git add
+   $ git commit -m "yay, we found some files!"
+   $ find -type l -xtype l -print0 | xargs -0 mv -t ~/files_not_found
+
+Admittedly, to do this now, you just have to stage the symlinks before you fix but there may be other situations where this is useful (and I can't think of anything else you would want 'fix --force' to do)..

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_82f1c3c6aaeb488582ee08518b193f99._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_82f1c3c6aaeb488582ee08518b193f99._comment
new file mode 100644
index 0000000..457c288
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_82f1c3c6aaeb488582ee08518b193f99._comment
@@ -0,0 +1,27 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-27T10:34:26Z"
+ content="""
+I tried it again with dfifferent usbs and filesystems, and it looks like it only
+happens with VFAT (e.g not ext). Retracing my step, here is what I do:
+
+1. Create a repository on my local machine using git-annex assistant.
+
+2. Create another non-bare repository on a VFAT usb stick and combine the two.
+
+3. Add a file to the local repository
+
+4. I doesn't synchronise and log shows the missing index error.
+
+It also happens the other way around. If I
+
+1. Create a repository on the usb device, and
+
+2. create a paired repository on my machine, I get a straight up
+
+        Internal Server Error
+
+        /mnt/USB/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+"""]]

diff --git a/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn
new file mode 100644
index 0000000..fb3f7d4
--- /dev/null
+++ b/doc/bugs/git-annex_sync_fails_with___34__error_while_loading_shared_libraries__34__.mdwn
@@ -0,0 +1,45 @@
+### Please describe the problem.
+git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
+
+### What steps will reproduce the problem?
+Running "git annex sync" in a normal git annex repo.
+
+### What version of git-annex are you using? On what operating system?
+Arch Linux with the git-annex-bin package from AUR
+
+git-annex version: 5.20150317-g237d5b0
+build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
+key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
+remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
+
+### Please provide any additional information below.
+people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
+
+SSH and normal git operations work fine.
+
+The --verbose flag doesn't change the output.
+
+[[!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
+[dafo@simon-desktop dokumente_ga]$ git annex sync
+commit  ok
+pull leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+failed
+push leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+  Pushing to leno failed.
+  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
+failed
+git-annex: sync: 2 failed
+
+# End of transcript or log.
+"""]]
+

diff --git a/doc/bugs/.mdwn b/doc/bugs/.mdwn
new file mode 100644
index 0000000..6e31266
--- /dev/null
+++ b/doc/bugs/.mdwn
@@ -0,0 +1,44 @@
+### Please describe the problem.
+git annex sync fails with "error while loading shared libraries: hostname: cannot open shared object file: No such file or directory" with hostname being the hostname of the remote git annex repo.
+
+### What steps will reproduce the problem?
+Running "git annex sync" in a normal git annex repo.
+
+### What version of git-annex are you using? On what operating system?
+Arch Linux with git-annex from the git-annex-bin AUR package:
+git-annex version: 5.20150317-g237d5b0
+
+build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA
+
+key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E MD5E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 MD5 WORM URL
+
+remote types: git gcrypt S3 bup directory rsync web bittorrent webdav tahoe glacier ddar hook external
+
+### Please provide any additional information below.
+people describing the same problem here: <https://aur.archlinux.org/packages/git-annex-bin/>
+
+SSH and normal git operations work fine.
+
+[[!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
+[dafo@simon-desktop dokumente_ga]$ git annex sync
+commit  ok
+pull leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+failed
+push leno 
+dafo@leno: error while loading shared libraries: dafo@leno: cannot open shared object file: No such file or directory
+fatal: Could not read from remote repository.
+Please make sure you have the correct access rights
+and the repository exists.
+  Pushing to leno failed.
+  (non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
+failed
+git-annex: sync: 2 failed
+
+# End of transcript or log.
+"""]]

diff --git a/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn
new file mode 100644
index 0000000..4d002d9
--- /dev/null
+++ b/doc/forum/Adding_files_with_wildcard_on_Mac_Yosemite.mdwn
@@ -0,0 +1,9 @@
+I've been trying to get all image files added to git annex with a wildcard, with no luck. If I use 'git annex add image.jpg', the file gets added and I can commit it. Also using 'git annex add .' works for adding all files. 
+
+Comands I've tried-
+
+git annex add *.jpg     * This outputs to the screen that it's adding each .jpg it finds, but when I go to commit there are 0 files staged.
+git annex add . --include='*.jpg'   * This doesn't return any results.
+
+
+What command should I be using on a Mac to just add all files with a specific extension?

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
new file mode 100644
index 0000000..df42a49
--- /dev/null
+++ b/doc/bugs/for_custom_remotes_provide_enhanced_DIRHASH_which_outputs_full_DIRHASH_to_the_key_load.mdwn
@@ -0,0 +1,4 @@
+### Please describe the problem.
+
+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
+

diff --git a/doc/forum/git-annex_on_openSUSE.mdwn b/doc/forum/git-annex_on_openSUSE.mdwn
index 42816e9..08c3cd2 100644
--- a/doc/forum/git-annex_on_openSUSE.mdwn
+++ b/doc/forum/git-annex_on_openSUSE.mdwn
@@ -1,13 +1,13 @@
-I run into some problems install git-annex on openSUSE:
+I run into some problems installing git-annex on openSuSE:
 
 1) cabal install ends up with the failure:
 
-ExitFailure 1
-network-protocol-xmpp-0.4.6 depends on gnuidn-0.2.1 which failed to install.
+-->>> ExitFailure 1 network-protocol-xmpp-0.4.6 depends on gnuidn-0.2.1 which failed to install.
 
 2) with the tarball the files are not synchronized, only linked
 
 Here the link to the discussion in a suseforum:
+
 https://forums.opensuse.org/showthread.php/506098-How-to-install-git-annex-on-13-1-2
 
 It would be great to see git-annex in the opensuse repos,

diff --git a/doc/forum/git-annex_on_openSUSE.mdwn b/doc/forum/git-annex_on_openSUSE.mdwn
new file mode 100644
index 0000000..42816e9
--- /dev/null
+++ b/doc/forum/git-annex_on_openSUSE.mdwn
@@ -0,0 +1,20 @@
+I run into some problems install git-annex on openSUSE:
+
+1) cabal install ends up with the failure:
+
+ExitFailure 1
+network-protocol-xmpp-0.4.6 depends on gnuidn-0.2.1 which failed to install.
+
+2) with the tarball the files are not synchronized, only linked
+
+Here the link to the discussion in a suseforum:
+https://forums.opensuse.org/showthread.php/506098-How-to-install-git-annex-on-13-1-2
+
+It would be great to see git-annex in the opensuse repos,
+maybe via the open build service, https://build.opensuse.org
+
+Are there other ways to install git-annex on opensuse successfully?
+
+Thanks in advance
+
+saneP

diff --git a/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
new file mode 100644
index 0000000..f626498
--- /dev/null
+++ b/doc/bugs/GETURLS_doesn__39__t_return_URLs_if_prefix_is_provided.mdwn
@@ -0,0 +1,35 @@
+### Please describe the problem.
+
+docs say
+GETURLS Key Prefix
+Gets the recorded urls where a Key can be downloaded from. Only urls that start with the Prefix will be returned. The Prefix may be empty to get all urls. (git-annex replies one or more times with VALUE for each url. The final VALUE has an empty value, indicating the end of the url list.
+
+but when I am trying with a prefix -- doesn't return any... expected that one which is present and returned if I don't provide any prefix
+
+### What steps will reproduce the problem?
+
+git clone git://github.com/yarikoptic/datalad -b nf-custom-remotes
+cd datalad
+# there are requirements in requirements.txt, which you might need to install... or just do on smaug
+git checkout 5b9cfd5008151c515f8bccadf39451055ab61b4b  
+DATALAD_LOGLEVEL=1 DATALAD_LOGTARGET=stderr tools/testing/make_test_repo archive r1
+
+### What version of git-annex are you using? On what operating system?
+5.20150302~nd80+1  now tried also with  5.20150318+yoh20150323+1~nd80+1  (ie snapshot from march 23) with the same success
+
+### 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
+
+2015-03-26 15:56:05,612 [Level 1] Sending 'GETURLS SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat' (base.py:120)
+2015-03-26 15:56:05,613 [Level 1] Received ['VALUE', 'dl+archive:SHA256E-s153--f378a42b6ff4d90091a7dfa37ebe1fe2fc5926eafd12cde1f2ba5fd1bcbf5e1e.tar.gz/d/test.dat'] (base.py:120)
+2015-03-26 15:56:05,613 [Level 1] Received ['VALUE'] (base.py:120)
+
+
+2015-03-26 15:57:37,389 [Level 1] Sending 'GETURLS SHA256E-s4--181210f8f9c779c26da1d9b2075bde0127302ee0e3fca38c9a83f5b1dd8e5d3b.dat dl+archive:' (base.py:120)
+2015-03-26 15:57:37,391 [Level 1] Received ['VALUE'] (base.py:120)
+
+# End of transcript or log.
+"""]]

moreinfo
diff --git a/doc/bugs/One_Client_Not_Syncing_Content/comment_1_b8c8a9d10a12b72ea828b6b35d87fa5e._comment b/doc/bugs/One_Client_Not_Syncing_Content/comment_1_b8c8a9d10a12b72ea828b6b35d87fa5e._comment
new file mode 100644
index 0000000..8f60325
--- /dev/null
+++ b/doc/bugs/One_Client_Not_Syncing_Content/comment_1_b8c8a9d10a12b72ea828b6b35d87fa5e._comment
@@ -0,0 +1,14 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T18:17:57Z"
+ content="""
+What version of git-annex is installed on laptopA?
+
+If it's too old, it won't be getting change notifications from the server
+when laptopB pushes to it.
+
+Since laptopB immediately notices pushes from laptopA, I guess that
+both laptopB and the server have new enough versions of git-annex
+for that change noitification to work.
+"""]]

this bug report has moved to a better place
diff --git a/doc/submodules/comment_1_0f85dc34b69725bbdcee23eb3eadab89._comment b/doc/submodules/comment_1_0f85dc34b69725bbdcee23eb3eadab89._comment
deleted file mode 100644
index 7c8d184..0000000
--- a/doc/submodules/comment_1_0f85dc34b69725bbdcee23eb3eadab89._comment
+++ /dev/null
@@ -1,9 +0,0 @@
-[[!comment format=mdwn
- username="https://www.google.com/accounts/o8/id?id=AItOawnx8kHW66N3BqmkVpgtXDlYMvr8TJ5VvfY"
- nickname="Yaroslav"
- subject="Unfortunately still seems to puke while operating on evil Windows -- git annex init fails"
- date="2015-03-24T19:29:03Z"
- content="""
-http://www.onerussian.com/tmp/gkrellShoot_03-24-15_152321.png
-
-"""]]
diff --git a/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment b/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
deleted file mode 100644
index 3708a51..0000000
--- a/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
+++ /dev/null
@@ -1,15 +0,0 @@
-[[!comment format=mdwn
- username="joey"
- subject="""comment 2"""
- date="2015-03-26T15:18:36Z"
- content="""
-@Yaroslav, could you open a bug report about it, so I don't have to somehow
-remember that there is an open issue reported in a comment somewhere?
-
-And include failure text,
-so I don't have to download some png over dialup, and can git grep for it,
-etc.
-
-Not to mention that I'll have to go back and clean out this thread later,
-so that whatever the bug is won't pollute this page after it's fixed..
-"""]]

assistant: Committing a whole lot of files at once could overflow command-line length limits and cause the commit to fail. This only happened when using the assistant in an indirect mode repository.
diff --git a/Assistant/Threads/Committer.hs b/Assistant/Threads/Committer.hs
index 8fecc1c..2951a80 100644
--- a/Assistant/Threads/Committer.hs
+++ b/Assistant/Threads/Committer.hs
@@ -290,8 +290,12 @@ handleAdds havelsof delayadd cs = returnWhen (null incomplete) $ do
 	-- files. The ls-files is run on a batch of files.
 	findnew [] = return ([], noop)
 	findnew pending@(exemplar:_) = do
-		(newfiles, cleanup) <- liftAnnex $
-			inRepo (Git.LsFiles.notInRepo False $ map changeFile pending)
+		let segments = segmentXargs $ map changeFile pending
+		rs <- liftAnnex $ forM segments $ \fs ->
+			inRepo (Git.LsFiles.notInRepo False fs)
+		let (newfiles, cleanup) = foldl'
+			(\(l1, a1) (l2, a2) -> (l1 ++ l2, a1 >> a2))
+			([], return True) rs
 		-- note: timestamp info is lost here
 		let ts = changeTime exemplar
 		return (map (PendingAddChange ts) newfiles, void $ liftIO cleanup)
diff --git a/debian/changelog b/debian/changelog
index 79810d5..c41a3c0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,9 @@ git-annex (5.20150318) UNRELEASED; urgency=medium
     command that ignored it.)
   * Improve error message when --in @date is used and there is no
     reflog for the git-annex branch.
+  * assistant: Committing a whole lot of files at once could overflow
+    command-line length limits and cause the commit to fail. This
+    only happened when using the assistant in an indirect mode repository.
 
  -- Joey Hess <id@joeyh.name>  Thu, 19 Mar 2015 17:05:32 -0400
 
diff --git a/doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn b/doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn
index fd5242f..9fa4471 100644
--- a/doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn
+++ b/doc/bugs/assistant_committer_crash_on_OSX_when_adding_lots_of_files.mdwn
@@ -8,3 +8,15 @@ long)
 </pre>
 
 Probably need to tune the command length limit for !linux. --[[Joey]]
+
+> Investigation suggests this is the problem:
+
+	inRepo (Git.LsFiles.notInRepo False $ map changeFile pending)
+
+> If a lot of new files have been added, the `pending` list can be
+> arbitrarily large, and this passes it to git ls-files as parameters.a
+> 
+> It's not the actual commit that fails; that uses Git.Queue and xargs.
+> --[[Joey]] 
+
+>> [[fixed|done]] --[[Joey]]

Added a comment
diff --git a/doc/forum/How_to_hide_broken_symlinks/comment_2_011f6b97b1eaee1ae513a4a0e445d105._comment b/doc/forum/How_to_hide_broken_symlinks/comment_2_011f6b97b1eaee1ae513a4a0e445d105._comment
new file mode 100644
index 0000000..21a1c92
--- /dev/null
+++ b/doc/forum/How_to_hide_broken_symlinks/comment_2_011f6b97b1eaee1ae513a4a0e445d105._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawm_O5eskJUCHFrhtP9jm5atZQlBkxV3g9U"
+ nickname="Markus"
+ subject="comment 2"
+ date="2015-03-26T16:18:08Z"
+ content="""
+I thought about the same thing today.
+
+Well view aren't changing automatically when you change metadata, you'd have to re-create the view by leaving and entering.
+
+It would be great to have some \"internal metadata\" like if the file is present.
+"""]]

removed
diff --git a/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment b/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment
deleted file mode 100644
index 261be09..0000000
--- a/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment
+++ /dev/null
@@ -1,12 +0,0 @@
-[[!comment format=mdwn
- username="https://www.google.com/accounts/o8/id?id=AItOawm_O5eskJUCHFrhtP9jm5atZQlBkxV3g9U"
- nickname="Markus"
- subject="comment 2"
- date="2015-03-26T16:11:21Z"
- content="""
-I thought about the same thing today.
-
-Well view aren't changing automatically when you change metadata, you'd have to re-create the view by leaving and entering.
-
-It would be great to have some \"internal metadata\" like if the file is present.
-"""]]

dedup
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment
deleted file mode 100644
index 55fe1a2..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment
+++ /dev/null
@@ -1,29 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="Details"
- date="2015-03-25T23:16:00Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
-Retracing my steps here  is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-
-It happens the other way around too, if I
-
-1. Create a regular repository on usb
-
-2. Try to create a paired repository on my machine, I get a straight up
-
-       Internal Server Error
-
-       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
-
-
-"""]]
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment
deleted file mode 100644
index d32468e..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment
+++ /dev/null
@@ -1,29 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="Details"
- date="2015-03-25T23:16:31Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
-Retracing my steps here  is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-
-It happens the other way around too, if I
-
-1. Create a regular repository on usb
-
-2. Try to create a paired repository on my machine, I get a straight up
-
-       Internal Server Error
-
-       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
-
-
-"""]]
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment
deleted file mode 100644
index 3abc6ad..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment
+++ /dev/null
@@ -1,29 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="Details"
- date="2015-03-25T23:17:13Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
-Retracing my steps here  is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-
-It happens the other way around too, if I
-
-1. Create a regular repository on usb
-
-2. Try to create a paired repository on my machine, I get a straight up
-
-       Internal Server Error
-
-       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
-
-
-"""]]
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment
deleted file mode 100644
index 63d34f1..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment
+++ /dev/null
@@ -1,29 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="comment 5"
- date="2015-03-25T23:18:42Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it seems to be happening 
-only with VFAT (e.g not ext). Retracing my steps here is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-
-It happens the other way around too, if I
-
-1. Create a regular repository on usb
-
-2. Try to create a paired repository on my machine, I get a straight up
-
-       Internal Server Error
-
-       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
-
-
-"""]]
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment
deleted file mode 100644
index de99129..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment
+++ /dev/null
@@ -1,30 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="Details"
- date="2015-03-25T23:20:02Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it
-seems to be happening only with VFAT (e.g not ext). Retracing my
-steps here is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-
-It happens the other way around too, if I
-
-1. Create a regular repository on usb
-
-2. Try to create a paired repository on my machine, I get a straight up
-
-       Internal Server Error
-
-       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
-
-
-"""]]
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment
deleted file mode 100644
index dcd3c08..0000000
--- a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment
+++ /dev/null
@@ -1,30 +0,0 @@
-[[!comment format=mdwn
- username="clement"
- subject="Details"
- date="2015-03-25T23:21:28Z"
- content="""
-I tried I again with different usb sticks and filesystems, and it
-seems to be happening only with VFAT (e.g not ext). Retracing my
-steps here is what I do:
-
-1. Create a repository on my local machine
-
-2. Create a non bare repository on usb, and combine the two
-
-3. Add a file on my machine
-
-4. It doesn't synchronise, and I get the missing index error
-
-

(Diff truncated)
Added a comment
diff --git a/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment b/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment
new file mode 100644
index 0000000..261be09
--- /dev/null
+++ b/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_2_7333169d57799bd321da5f2fa1c9d722._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="https://www.google.com/accounts/o8/id?id=AItOawm_O5eskJUCHFrhtP9jm5atZQlBkxV3g9U"
+ nickname="Markus"
+ subject="comment 2"
+ date="2015-03-26T16:11:21Z"
+ content="""
+I thought about the same thing today.
+
+Well view aren't changing automatically when you change metadata, you'd have to re-create the view by leaving and entering.
+
+It would be great to have some \"internal metadata\" like if the file is present.
+"""]]

comment
diff --git a/doc/forum/remote-specific_meta-data/comment_1_179ec4787d93ca4710c5bd448754d404._comment b/doc/forum/remote-specific_meta-data/comment_1_179ec4787d93ca4710c5bd448754d404._comment
new file mode 100644
index 0000000..5eafa54
--- /dev/null
+++ b/doc/forum/remote-specific_meta-data/comment_1_179ec4787d93ca4710c5bd448754d404._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T16:10:19Z"
+ content="""
+Well, git-annex uses remote.log for such data, and it ignores any
+extraneous fields, so..
+"""]]

meh
diff --git a/doc/forum/Case-insensitive_search_with_find_list_whereis__63__/comment_1_b893fd9a250d25ebc62913131cb0a479._comment b/doc/forum/Case-insensitive_search_with_find_list_whereis__63__/comment_1_b893fd9a250d25ebc62913131cb0a479._comment
new file mode 100644
index 0000000..5722906
--- /dev/null
+++ b/doc/forum/Case-insensitive_search_with_find_list_whereis__63__/comment_1_b893fd9a250d25ebc62913131cb0a479._comment
@@ -0,0 +1,8 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T16:09:02Z"
+ content="""
+`git annex find | grep -i whatever`
+
+"""]]

add
diff --git a/doc/bugs/git_pack-objects_eats_all_teh_ram/comment_2_77cb32e7cee99d7325e7c6a595844e0c._comment b/doc/bugs/git_pack-objects_eats_all_teh_ram/comment_2_77cb32e7cee99d7325e7c6a595844e0c._comment
new file mode 100644
index 0000000..07ff190
--- /dev/null
+++ b/doc/bugs/git_pack-objects_eats_all_teh_ram/comment_2_77cb32e7cee99d7325e7c6a595844e0c._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2015-03-26T15:50:49Z"
+ content="""
+git-annex never directly calls `git pack-object` or `git repack`
+or anything like that. This is likely being done internally by git,
+as controlled by `gc.auto` configuration.
+
+If this is eating a lot of ram, it seems to me that you have likely
+checked some large files into you git repository, rather than using
+git-annex to manange them. git using lots of ram when large
+files have been added to it is one of the reasons git-annex exists,
+after all..
+"""]]

clean up nearline issues, such redundant bug filing!
diff --git a/doc/bugs/Can__39__t_create_remote_for_Google_cloud_storage_DRA___47___nearline_buckets.mdwn b/doc/bugs/Can__39__t_create_remote_for_Google_cloud_storage_DRA___47___nearline_buckets.mdwn
index 35c157e..087a848 100644
--- a/doc/bugs/Can__39__t_create_remote_for_Google_cloud_storage_DRA___47___nearline_buckets.mdwn
+++ b/doc/bugs/Can__39__t_create_remote_for_Google_cloud_storage_DRA___47___nearline_buckets.mdwn
@@ -40,3 +40,5 @@ initremote test (checking bucket...) git-annex: S3Error {s3StatusCode = Status {
 
 # End of transcript or log.
 """]]
+
+> This is a dup of [[todo/Nearline_support]] ; [[done]] --[[Joey]]
diff --git a/doc/bugs/Google_Cloud_Storage_Nearline.mdwn b/doc/bugs/Google_Cloud_Storage_Nearline.mdwn
index 41c3f2f..4aadc85 100644
--- a/doc/bugs/Google_Cloud_Storage_Nearline.mdwn
+++ b/doc/bugs/Google_Cloud_Storage_Nearline.mdwn
@@ -20,3 +20,5 @@ Mac OS X, git-annex version: 5.20150219-g52daae5
 
 # End of transcript or log.
 """]]
+
+> This is a dup of [[todo/Nearline_support]] ; [[done]] --[[Joey]]
diff --git a/doc/todo/Nearline_support/comment_1_185e4cce55ac26756e74c668d0fe2a8c._comment b/doc/todo/Nearline_support/comment_1_185e4cce55ac26756e74c668d0fe2a8c._comment
index 48b571c..ec6bfc5 100644
--- a/doc/todo/Nearline_support/comment_1_185e4cce55ac26756e74c668d0fe2a8c._comment
+++ b/doc/todo/Nearline_support/comment_1_185e4cce55ac26756e74c668d0fe2a8c._comment
@@ -3,12 +3,8 @@
  subject="""comment 1"""
  date="2015-03-16T17:47:18Z"
  content="""
-I have not read anything about this yet, but there is another bug report
+I have not read anything about this yet, but there is another post
 which seems to indicate that the S3 interface could be used with git-annex,
 if it were possible to set storageclass=NEARLINE, which it is currently
 not due to a limitation with the aws library git-annex is using.
-
-<>
-
-So, I think I'll close this todo as a dup of that.
-"""]]
+""]]
diff --git a/doc/todo/Nearline_support/comment_2_1b985981eb2c3cb4db6a66f5d7360d12._comment b/doc/todo/Nearline_support/comment_2_1b985981eb2c3cb4db6a66f5d7360d12._comment
deleted file mode 100644
index 18bd816..0000000
--- a/doc/todo/Nearline_support/comment_2_1b985981eb2c3cb4db6a66f5d7360d12._comment
+++ /dev/null
@@ -1,7 +0,0 @@
-[[!comment format=mdwn
- username="anarcat"
- subject="link missing"
- date="2015-03-17T21:15:23Z"
- content="""
-did you mean to link to a specific todo item here?
-"""]]
diff --git a/doc/todo/Nearline_support/comment_4_ae360f07fb87d63f09725b43b85cb210._comment b/doc/todo/Nearline_support/comment_4_ae360f07fb87d63f09725b43b85cb210._comment
new file mode 100644
index 0000000..d01955f
--- /dev/null
+++ b/doc/todo/Nearline_support/comment_4_ae360f07fb87d63f09725b43b85cb210._comment
@@ -0,0 +1,9 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 4"""
+ date="2015-03-26T16:04:01Z"
+ content="""
+This is waiting on support in the AWS library git-annex uses.
+
+<https://github.com/aristidb/aws/issues/155>
+"""]]

response
diff --git a/doc/forum/annex.largefiles:_two_quesitons/comment_1_75fc6cd2315e9ad6897b94bcc527ddc1._comment b/doc/forum/annex.largefiles:_two_quesitons/comment_1_75fc6cd2315e9ad6897b94bcc527ddc1._comment
new file mode 100644
index 0000000..2be567c
--- /dev/null
+++ b/doc/forum/annex.largefiles:_two_quesitons/comment_1_75fc6cd2315e9ad6897b94bcc527ddc1._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T15:56:59Z"
+ content="""
+1. No, annex.largefiles is a local git repository configuration.
+
+2. If you have a specific file in mind, and it is currently stored in the
+annex, you can always `git annex unannex $file` and then `git annex add` it
+back, which will re-check the current annex.largefiles configuration.
+"""]]

close
diff --git a/doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn b/doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn
index 04da164..8b9bb75 100644
--- a/doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn
+++ b/doc/bugs/stderr_of_special_external_remotes_is_swallowed.mdwn
@@ -6,3 +6,5 @@ complicates troubleshooting of custom special remotes since annex seems to swall
 
 5.20150302
 
+> I have debugged external special remotes using stdderr, so I 
+> know this is not the case. [[done]] --[[Joey]]

close
diff --git a/doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn b/doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn
index 0147578..68c875f 100644
--- a/doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn
+++ b/doc/bugs/git_pack-objects_eats_all_teh_ram.mdwn
@@ -17,3 +17,5 @@ git-annex version: 5.20141024-g613f396
 
 $ uname -a
 Linux raspberrypi 3.18.5+ #744 PREEMPT Fri Jan 30 18:19:07 GMT 2015 armv6l GNU/Linux
+
+> [[done]]; not a git-annex bug AFAICS. --[[Joey]]

another question that almost answeres itself
diff --git a/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_1_995f3b8cf511921719774f8911e24907._comment b/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_1_995f3b8cf511921719774f8911e24907._comment
new file mode 100644
index 0000000..f04d38b
--- /dev/null
+++ b/doc/forum/How_to_delete_a_file_in_direct_mode__63__/comment_1_995f3b8cf511921719774f8911e24907._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T15:45:22Z"
+ content="""
+**direct** mode gets its name, because you can **direct**ly operate on files
+with commands like "rm" or "mv /tmp".
+
+So, to delete a file, you use such a command as you normally would.
+
+`git annex status` can be used in direct mode since `git status` does not
+work.
+
+Perhaps you should read the documentation: [[/direct_mode]]
+"""]]

improve import duplicate docs
diff --git a/doc/git-annex-import.mdwn b/doc/git-annex-import.mdwn
index 4d2c055..43e6196 100644
--- a/doc/git-annex-import.mdwn
+++ b/doc/git-annex-import.mdwn
@@ -13,11 +13,18 @@ the annex. Individual files to import can be specified.
 If a directory is specified, the entire directory is imported.
   
         	git annex import /media/camera/DCIM/*
-  
-By default, importing two files with the same contents from two different
-locations will result in both files being added to the repository.
-(With all checksumming backends, including the default SHA256E,
-only one copy of the data will be stored.)
+
+When importing files, there's a possibility of importing a duplicate
+of a file that is already known to git-annex -- its content is either
+present in the local repository already, or git-annex knows of anther
+repository that contains it.
+
+By default, importing a duplicate of a known file will result in
+a new filename being added to the repository, so the duplicate file
+is present in the repository twice. (With all checksumming backends,
+including the default SHA256E, only one copy of the data will be stored.)
+
+Several options can be used to adjust handling of duplicate files.
 
 # OPTIONS
 
@@ -32,19 +39,18 @@ only one copy of the data will be stored.)
 
 * `--deduplicate`
 
-  Only import files whose content has not been seen before by git-annex.
-
-  Duplicate files will be deleted from the import location.
+  Only import files that are not duplicates;
+  duplicate files will be deleted from the import location.
 
 * `--skip-duplicates`
 
-  Only import files whose content has not been seen before by git-annex,
-  but avoid deleting duplicate files.
+  Only import files that are not duplicates; and avoid deleting
+  duplicate files from the import location.
 
 * `--clean-duplicates`
 
   Does not import any files, but any files found in the import location
-  that are duplicates of content in the annex are deleted.
+  that are duplicates are deleted.
 
 * file matching options
 
diff --git a/doc/todo/inject_on_import/comment_2_205ecbc7401f99fc83719acbf5da174e._comment b/doc/todo/inject_on_import/comment_2_205ecbc7401f99fc83719acbf5da174e._comment
new file mode 100644
index 0000000..acd661f
--- /dev/null
+++ b/doc/todo/inject_on_import/comment_2_205ecbc7401f99fc83719acbf5da174e._comment
@@ -0,0 +1,26 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2015-03-26T15:28:45Z"
+ content="""
+Well, you've found an edge case here. 
+
+It behaves as documented as long as the file being imported is located in some
+repository know to git-annex. The file content does not have to be present in
+the local repository for it to behave as documented.
+
+In your case, the file being imported has a symlink in the git repo, but
+git-annex knows about 0 annexed copies of the file, so it's treated as
+if it's a new file and not a duplicate.
+
+Since import is working at the key level, there's not a good way to look up
+that there are some symlinks in the git repo even though the content is
+gone. And even if there was, I think I'd be uncomfortable with it deleting
+the file as "duplicate" when its content is not available in any known
+repository. The only behavior improvement might be to import the content
+but not make a redundant symlink in this case.
+
+I think it's best to change the documentation. I've added a new
+paragraph that more exactly and clearly explains what duplicate files
+are for the purposes of importing.
+"""]]

response
diff --git a/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_1_d3da4ce5cfea6c0a3277e83e0181102d._comment b/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_1_d3da4ce5cfea6c0a3277e83e0181102d._comment
new file mode 100644
index 0000000..80cc5a3
--- /dev/null
+++ b/doc/forum/notify-start_and_notify-finish_for_the_assistant/comment_1_d3da4ce5cfea6c0a3277e83e0181102d._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 1"""
+ date="2015-03-26T15:22:32Z"
+ content="""
+You can pass the --notify-start and --notify-finish to the assistant
+when starting it up if you want to.
+
+It would perhaps be worth adding a config option so it could remember
+persistently to notify.
+"""]]

foo
diff --git a/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment b/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
index b7d90ae..3708a51 100644
--- a/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
+++ b/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
@@ -9,4 +9,7 @@ remember that there is an open issue reported in a comment somewhere?
 And include failure text,
 so I don't have to download some png over dialup, and can git grep for it,
 etc.
+
+Not to mention that I'll have to go back and clean out this thread later,
+so that whatever the bug is won't pollute this page after it's fixed..
 """]]

not how to to file a bug yoh, you know better...
diff --git a/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment b/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
new file mode 100644
index 0000000..b7d90ae
--- /dev/null
+++ b/doc/submodules/comment_2_4fd2838159eb255155f9a47c119f7792._comment
@@ -0,0 +1,12 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 2"""
+ date="2015-03-26T15:18:36Z"
+ content="""
+@Yaroslav, could you open a bug report about it, so I don't have to somehow
+remember that there is an open issue reported in a comment somewhere?
+
+And include failure text,
+so I don't have to download some png over dialup, and can git grep for it,
+etc.
+"""]]

question answered itself?
diff --git a/doc/forum/copy_and_move__63__/comment_1_a24b1ab4608fcf8129c9890a5ae9e943._comment b/doc/forum/copy_and_move__63__/comment_1_a24b1ab4608fcf8129c9890a5ae9e943._comment
new file mode 100644
index 0000000..3af1a21
--- /dev/null
+++ b/doc/forum/copy_and_move__63__/comment_1_a24b1ab4608fcf8129c9890a5ae9e943._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""the obvious answer"""
+ date="2015-03-26T15:17:05Z"
+ content="""
+`git annex move file --to remote`
+"""]]

Improve error message when --in @date is used and there is no reflog for the git-annex branch.
diff --git a/Annex/Branch.hs b/Annex/Branch.hs
index 7cd86c5..7411e70 100644
--- a/Annex/Branch.hs
+++ b/Annex/Branch.hs
@@ -38,6 +38,7 @@ import Annex.Index
 import qualified Git
 import qualified Git.Command
 import qualified Git.Ref
+import qualified Git.RefLog
 import qualified Git.Sha
 import qualified Git.Branch
 import qualified Git.UnionMerge
@@ -205,7 +206,13 @@ getRaw :: FilePath -> Annex String
 getRaw = getRef fullname
 
 getHistorical :: RefDate -> FilePath -> Annex String
-getHistorical date = getRef (Git.Ref.dateRef fullname date)
+getHistorical date file =
+	-- This check avoids some ugly error messages when the reflog
+	-- is empty.
+	ifM (null <$> inRepo (Git.RefLog.get' [Param "-n1"] fullname))
+		( error ("No reflog for " ++ fromRef fullname)
+		, getRef (Git.Ref.dateRef fullname date) file
+		)
 
 getRef :: Ref -> FilePath -> Annex String
 getRef ref file = withIndex $ decodeBS <$> catFile ref file
diff --git a/Git/RefLog.hs b/Git/RefLog.hs
index f3a9dad..7c20047 100644
--- a/Git/RefLog.hs
+++ b/Git/RefLog.hs
@@ -14,9 +14,14 @@ import Git.Sha
 
 {- Gets the reflog for a given branch. -}
 get :: Branch -> Repo -> IO [Sha]
-get b = mapMaybe extractSha . lines <$$> pipeReadStrict
-	[ Param "log"
-	, Param "-g"
-	, Param "--format=%H"
-	, Param (fromRef b)
-	]
+get = get' []
+
+get' :: [CommandParam] -> Branch -> Repo -> IO [Sha]
+get' ps b = mapMaybe extractSha . lines <$$> pipeReadStrict ps'
+  where
+	ps' = 
+		[ Param "log"
+		, Param "-g"
+		, Param "--format=%H"
+		, Param (fromRef b)
+		] ++ ps
diff --git a/debian/changelog b/debian/changelog
index 7add96d..79810d5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,8 @@ git-annex (5.20150318) UNRELEASED; urgency=medium
   * --auto is no longer a global option; only get, drop, and copy
     accept it. (Not a behavior change unless you were passing it to a
     command that ignored it.)
+  * Improve error message when --in @date is used and there is no
+    reflog for the git-annex branch.
 
  -- Joey Hess <id@joeyh.name>  Thu, 19 Mar 2015 17:05:32 -0400
 
diff --git a/doc/bugs/Using_date_matching_options_gives_scary_error_messaes_on_empty_reflog.mdwn b/doc/bugs/Using_date_matching_options_gives_scary_error_messaes_on_empty_reflog.mdwn
index 487849f..006de83 100644
--- a/doc/bugs/Using_date_matching_options_gives_scary_error_messaes_on_empty_reflog.mdwn
+++ b/doc/bugs/Using_date_matching_options_gives_scary_error_messaes_on_empty_reflog.mdwn
@@ -31,3 +31,5 @@ git-annex: fd:9: hFlush: resource vanished (Broken pipe)
 
 # End of transcript or log.
 """]]
+
+> [[fixed|done]] --[[Joey]]

responses
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_44a912174bfbe128ae40bef2a5b351c7._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_44a912174bfbe128ae40bef2a5b351c7._comment
new file mode 100644
index 0000000..3b3dafb
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_44a912174bfbe128ae40bef2a5b351c7._comment
@@ -0,0 +1,20 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 14"""
+ date="2015-03-26T14:43:11Z"
+ content="""
+@Abdó, @Markus, you suggested using submodules. git-annex recently added
+support for submodules, in version 5.20150317. May still be a little
+rough.
+
+@diafygi, `git annex add .` defaults to not adding dotfiles. This is
+documented, and there is a --include-dotfiles switch, or you can explicitly
+list the dotfiles you want to add.
+
+@Bruno, most of your questions are answered by the thread which appears
+before them.
+
+(I think this bug report may be reaching the end of its usefulness, since
+people seem to want to use it to pile on about a bunch of unrelated topics.
+Please keep this on topic.)
+"""]]

dedup
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_abc380c53f7a20b0dbb34c4a8d434867._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_abc380c53f7a20b0dbb34c4a8d434867._comment
deleted file mode 100644
index 0e36b8c..0000000
--- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_14_abc380c53f7a20b0dbb34c4a8d434867._comment
+++ /dev/null
@@ -1,22 +0,0 @@
-[[!comment format=mdwn
- username="https://www.google.com/accounts/o8/id?id=AItOawlXt6nnNs-3uw61EGYtxr_AVhJqXybwLR8"
- nickname="Bruno"
- subject="Why this limitation ?"
- date="2015-03-25T22:33:14Z"
- content="""
-I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not int the root annex, what the problem ?
-
-Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
-
-more, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
-
-Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
-
-It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
-
-This does not affect your excelent work !
-
-Regards
-
-BA
-"""]]
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3b88294fb05e902a41ce0526a016a5f6._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3b88294fb05e902a41ce0526a016a5f6._comment
deleted file mode 100644
index a3ba217..0000000
--- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_15_3b88294fb05e902a41ce0526a016a5f6._comment
+++ /dev/null
@@ -1,22 +0,0 @@
-[[!comment format=mdwn
- username="https://www.google.com/accounts/o8/id?id=AItOawlXt6nnNs-3uw61EGYtxr_AVhJqXybwLR8"
- nickname="Bruno"
- subject="Why this limitation ?"
- date="2015-03-25T22:34:14Z"
- content="""
-I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not int the root annex, what the problem ?
-
-Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
-
-more, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
-
-Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
-
-It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
-
-This does not affect your excelent work !
-
-Regards
-
-BA
-"""]]
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_5bbf1dc7624775a788c8c07912d50a12._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_5bbf1dc7624775a788c8c07912d50a12._comment
deleted file mode 100644
index 3be2abc..0000000
--- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_16_5bbf1dc7624775a788c8c07912d50a12._comment
+++ /dev/null
@@ -1,22 +0,0 @@
-[[!comment format=mdwn
- username="https://www.google.com/accounts/o8/id?id=AItOawlXt6nnNs-3uw61EGYtxr_AVhJqXybwLR8"
- nickname="Bruno"
- subject="Why this limitation ?"
- date="2015-03-25T22:35:13Z"
- content="""
-I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not int the root annex, what the problem ?
-
-Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
-
-more, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
-
-Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
-
-It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
-
-This does not affect your excelent work !
-
-Regards
-
-BA
-"""]]
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment
deleted file mode 100644
index 2a7b01e..0000000
--- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment
+++ /dev/null
@@ -1,21 +0,0 @@
-[[!comment format=mdwn
- username="badele"
- subject="Why this limitation ?"
- date="2015-03-26T06:50:40Z"
- content="""
-I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not in the root annex, what the problem ?
-
-Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
-
-More, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
-
-Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
-
-It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
-
-This does not affect your excelent work !
-
-Regards
-
-BA
-"""]]
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment
deleted file mode 100644
index b5d14c8..0000000
--- a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment
+++ /dev/null
@@ -1,21 +0,0 @@
-[[!comment format=mdwn
- username="badele"
- subject="Why this limitation ?"
- date="2015-03-26T06:53:46Z"
- content="""
-I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not in the root annex, what the problem ?
-
-Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
-
-More, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
-
-Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
-
-It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
-
-This does not affect your excelent work !
-
-Regards
-
-BA
-"""]]

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_8_8ceba673ca31e8e0139bc2d9f0c07ebb._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_8_8ceba673ca31e8e0139bc2d9f0c07ebb._comment
new file mode 100644
index 0000000..9fa8031
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_8_8ceba673ca31e8e0139bc2d9f0c07ebb._comment
@@ -0,0 +1,30 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-26T09:29:48Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it
+seems to be happening only with VFAT (e.g not ext). Retracing my
+steps here is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment: Why this limitation ?
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment
new file mode 100644
index 0000000..b5d14c8
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_18_48b1518eb5bc0219fee0629c5d69bb75._comment
@@ -0,0 +1,21 @@
+[[!comment format=mdwn
+ username="badele"
+ subject="Why this limitation ?"
+ date="2015-03-26T06:53:46Z"
+ content="""
+I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not in the root annex, what the problem ?
+
+Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
+
+More, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
+
+Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
+
+It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
+
+This does not affect your excelent work !
+
+Regards
+
+BA
+"""]]

Added a comment: Why this limitation ?
diff --git a/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment
new file mode 100644
index 0000000..2a7b01e
--- /dev/null
+++ b/doc/bugs/Can__39__t_add_a_git_repo_to_git_annex:___34__Invalid_path_repo__47__.git__47__X__34___for_many_X/comment_17_2ecac77793d1daf899c0cdfb37a7eeb5._comment
@@ -0,0 +1,21 @@
+[[!comment format=mdwn
+ username="badele"
+ subject="Why this limitation ?"
+ date="2015-03-26T06:50:40Z"
+ content="""
+I do not understand this limitation ! Why the git-annex exclude the **.git** directory. If the .git is not in the root annex, what the problem ?
+
+Effectively, for me, this limitation is a big problem for archive my working directory (it's contain a some .git folders)
+
+More, is there a command to showing the files not in the annex after executing \"git annex add .\" exist ?
+
+Because it's dangerous to believe that the data is in backup, but in the reality they have not saved
+
+It's a pity, that powerful archiver tool is limited by himself, it lacks some features to be perfectly.
+
+This does not affect your excelent work !
+
+Regards
+
+BA
+"""]]

diff --git a/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn b/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn
index f30e9b8..7e95224 100644
--- a/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn
+++ b/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn
@@ -12,3 +12,20 @@ I expected to maybe type `git status` to see the missing file and later confirm
     fatal: This operation must be run in a work tree
 
 What should I be doing?
+
+
+
+My use case is that I'm organising my media in a staging area called **uploadme/**.
+
+At this staging area, I add all the media into git-annex and then I go to work pruning, editing & [adding metadata](https://github.com/muennich/sxiv/blob/master/exec/key-handler#L29).
+
+# Pruning
+
+If I find an image I don't like I move it to `/tmp`.
+
+I expected to maybe type `git status` to see the missing file and later confirm that I don't want it. But when I type `git status` I get:
+
+    X1C3:~/media/uploadme$ git status
+    fatal: This operation must be run in a work tree
+
+What should I be doing?

Another silly query
diff --git a/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn b/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn
new file mode 100644
index 0000000..f30e9b8
--- /dev/null
+++ b/doc/forum/How_to_delete_a_file_in_direct_mode__63__.mdwn
@@ -0,0 +1,14 @@
+My use case is that I'm organising my media in a staging area called **uploadme/**.
+
+At this staging area, I add all the media into git-annex and then I go to work pruning, editing & [adding metadata](https://github.com/muennich/sxiv/blob/master/exec/key-handler#L29).
+
+# Pruning
+
+If I find an image I don't like I move it to `/tmp`.
+
+I expected to maybe type `git status` to see the missing file and later confirm that I don't want it. But when I type `git status` I get:
+
+    X1C3:~/media/uploadme$ git status
+    fatal: This operation must be run in a work tree
+
+What should I be doing?

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment
new file mode 100644
index 0000000..dcd3c08
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_7_ceb4393bce56f8ee11e3275122be054f._comment
@@ -0,0 +1,30 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-25T23:21:28Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it
+seems to be happening only with VFAT (e.g not ext). Retracing my
+steps here is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment
new file mode 100644
index 0000000..de99129
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_6_6cfc89e6d8c6dd8ce24c00fb03a12ab6._comment
@@ -0,0 +1,30 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-25T23:20:02Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it
+seems to be happening only with VFAT (e.g not ext). Retracing my
+steps here is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment
new file mode 100644
index 0000000..63d34f1
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_5_508e2bdf51a2fbc867e090e8c39d27a9._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="comment 5"
+ date="2015-03-25T23:18:42Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it seems to be happening 
+only with VFAT (e.g not ext). Retracing my steps here is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment
new file mode 100644
index 0000000..3abc6ad
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_4_8c1bab7bee9e4c50ca5445cf8a70885a._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-25T23:17:13Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
+Retracing my steps here  is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment
new file mode 100644
index 0000000..d32468e
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_3_ef67171141927da28926e655017de8c4._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-25T23:16:31Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
+Retracing my steps here  is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]

Added a comment: Details
diff --git a/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment
new file mode 100644
index 0000000..55fe1a2
--- /dev/null
+++ b/doc/bugs/Assistant:_synchronisation_between_two_regular_repositories_hangs_/comment_2_424c99e24f4ef256cfdc15727d102aa7._comment
@@ -0,0 +1,29 @@
+[[!comment format=mdwn
+ username="clement"
+ subject="Details"
+ date="2015-03-25T23:16:00Z"
+ content="""
+I tried I again with different usb sticks and filesystems, and it seems to be happening only with VFAT (e.g not ext)
+Retracing my steps here  is what I do:
+
+1. Create a repository on my local machine
+
+2. Create a non bare repository on usb, and combine the two
+
+3. Add a file on my machine
+
+4. It doesn't synchronise, and I get the missing index error
+
+
+It happens the other way around too, if I
+
+1. Create a regular repository on usb
+
+2. Try to create a paired repository on my machine, I get a straight up
+
+       Internal Server Error
+
+       /mnt/usb/annexdir/.git/index: copyFile: does not exist (No such file or directory)
+
+
+"""]]