summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-07-10 17:07:54 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-07-10 17:07:54 -0400
commit0e1dfc32af1e8b0d40798cda650af168ca4290d0 (patch)
treee8b0c9f3728b2452a19afe371c94d8192b838c33
parent44956f3f6c58b253c188ce12a170a30dbdc06fe1 (diff)
parent0b0d169c9011500a6e1dd44f5712d7bdca1992b1 (diff)
Merge branch 'master' into optparse-applicative
Conflicts: debian/changelog
-rw-r--r--debian/changelog28
-rw-r--r--doc/bugs/Interrupted_command_broke_encfs_repository/comment_2_fc57759cfcec0c454ab80ef8e324aa91._comment15
-rw-r--r--doc/bugs/high_cpu_usage_in_cat-file_and_webapp.mdwn314
-rw-r--r--doc/design/assistant/webapp/comment_5_2bdb436f35c659316193b89ee6e52fcb._comment11
-rw-r--r--doc/devblog/day_297__optparse-applicative.mdwn25
-rw-r--r--doc/forum/MD5_and_MD5E_backends_no_longer_available__63__.mdwn5
-rw-r--r--doc/forum/Trouble_adding_ssh_remote_using_assistant_on_windows/comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment7
-rw-r--r--doc/forum/Use_password_protected_gpg_keypair_without_password_prompt__63__.mdwn7
-rw-r--r--doc/git-annex-unused.mdwn31
-rw-r--r--doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment93
-rw-r--r--doc/news/version_5.20150508.mdwn51
-rw-r--r--doc/news/version_5.20150710.mdwn34
-rw-r--r--doc/tips/Repositories_with_large_number_of_files/comment_1_fac49a6d3f6a18c9925c34521221307d._comment7
-rw-r--r--git-annex.cabal2
14 files changed, 550 insertions, 80 deletions
diff --git a/debian/changelog b/debian/changelog
index e0a4de90f..118ff330c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,10 +5,18 @@
running: source <(git-annex --bash-completion-script git-annex)
* version --raw now works when run outside a git repository.
-git-annex (5.20150618) UNRELEASED; urgency=medium
+git-annex (5.20150710) unstable; urgency=medium
+ * add: Stage symlinks the same as git add would, even if they are not a
+ link to annexed content.
+ * sync: When annex.autocommit=false, avoid making any commit of local
+ changes, while still merging with remote to the extent possible.
+ * unused: --used-refspec can now be configured to look at refs in the
+ reflog. This provides a way to not consider old versions of files to be
+ unused after they have reached a specified age, when the old refs in
+ the reflog expire.
* log: Fix reversion introduced in version 5.20150528 that broke this command.
- * assistant --autostart: First any daemons that are already running,
+ * assistant --autostart: First stop any daemons that are already running,
which might be left over from a previous login session and so unable to
use the ssh agent of a new login session.
* assistant: Fix local pairing to not include newline in ssh pubkey,
@@ -24,23 +32,15 @@ git-annex (5.20150618) UNRELEASED; urgency=medium
This bug affected git-annex unused, and potentially also transitions
running code and other things.
* Support git's undocumented core.sharedRepository=2 value, which
- is equivilant to "world", and is set when a repo was created using
+ is equivalent to "world", and is set when a repo was created using
git init --shared=world.
- * On linux, pass --as-needed to linker to avoid linking with unused
- shared libraries including libyaml.
+ * When building on linux, pass --as-needed to linker to avoid linking
+ with unused shared libraries including libyaml.
* import: Fix failure of cross-device import on Windows.
* merge: Avoid creating the synced/master branch.
- * add: Stage symlinks the same as git add would, even if they are not a
- link to annexed content.
- * sync: When annex.autocommit=false, avoid making any commit of local
- changes, while still merging with remote to the extent possible.
- * unused: --used-refspec can now be configured to look at refs in the
- reflog. This provides a way to not consider old versions of files to be
- unused after they have reached a specified age, when the old refs in
- the reflog expire.
* Removed support for optparse-applicative versions older than 0.10.
- -- Joey Hess <id@joeyh.name> Thu, 02 Jul 2015 12:31:14 -0400
+ -- Joey Hess <id@joeyh.name> Fri, 10 Jul 2015 16:36:42 -0400
git-annex (5.20150617) unstable; urgency=medium
diff --git a/doc/bugs/Interrupted_command_broke_encfs_repository/comment_2_fc57759cfcec0c454ab80ef8e324aa91._comment b/doc/bugs/Interrupted_command_broke_encfs_repository/comment_2_fc57759cfcec0c454ab80ef8e324aa91._comment
new file mode 100644
index 000000000..2f1b0e43d
--- /dev/null
+++ b/doc/bugs/Interrupted_command_broke_encfs_repository/comment_2_fc57759cfcec0c454ab80ef8e324aa91._comment
@@ -0,0 +1,15 @@
+[[!comment format=mdwn
+ username="konubinix"
+ subject="Thank you for your answer"
+ date="2015-07-08T19:33:35Z"
+ content="""
+The filesystem I use is ext4. I don't think the ext4 module of the linux kernel
+present on my version of Android would be much different of the one on my
+computer.
+
+Therefore I guess I shall investigate in encfs. It is a pity there is no
+alternative allowing to keep a directory encrypted without requiring
+administrative privileges.
+
+Thank you again.
+"""]]
diff --git a/doc/bugs/high_cpu_usage_in_cat-file_and_webapp.mdwn b/doc/bugs/high_cpu_usage_in_cat-file_and_webapp.mdwn
new file mode 100644
index 000000000..d2dd2bbce
--- /dev/null
+++ b/doc/bugs/high_cpu_usage_in_cat-file_and_webapp.mdwn
@@ -0,0 +1,314 @@
+### Please describe the problem.
+
+I've been running git-annex in the background for a few weeks now (my laptop is at home, occasionally gets suspended, but not for the past few days), and this morning (around 9:30am), I noticed I could hear its fan. Looking at CPU usage in htop, "git-annex webapp" was using ~18% and "git --git-dir=/home/flowblok/annex/.git --work-tree=/home/flowblok/annex -c core.bare=false cat-file --batch" was using ~46%.
+
+The repository is in direct mode.
+It has one remote which it copies to over the network with "annex-rsync-upload-options = --bwlimit 10".
+The last fsck ran at 4am, and finished (with one failure, which I can easily recover from) by 4:30am (I guess I should find out why it didn't notify me in any way).
+
+### What steps will reproduce the problem?
+
+Not a clue!
+Though hopefully I've given enough information below for you to figure out what went wrong: let me know if you need anything else.
+
+### What version of git-annex are you using? On what operating system?
+
+Debian Jessie
+
+$ uname -a
+Linux moash 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt9-3~deb8u1 (2015-04-24) x86_64 GNU/Linux
+
+$ git-annex version
+git-annex version: 5.20141125
+build flags: Assistant Webapp Webapp-secure Pairing Testsuite S3 WebDAV Inotify DBus DesktopNotify XMPP DNS Feeds Quvi TDFA CryptoHash
+key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SKEIN256E SKEIN512E SHA256 SHA1 SHA512 SHA224 SHA384 SKEIN256 SKEIN512 WORM URL
+remote types: git gcrypt S3 bup directory rsync web webdav tahoe glacier ddar hook external
+
+### Please provide any additional information below.
+
+[[!format sh """
+# strace -p $PIDOF_GIT_CATFILE
+open("/home/flowblok/annex/.git/objects/04/13fe78e4f9b37348b5fd03cbe5eabdbcaec068", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=683, ...}) = 0
+mmap(NULL, 683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 683) = 0
+open("/home/flowblok/annex/.git/objects/c0/4c0a1d5b43f82c50cf095e42d28d74f0cfc494", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=132, ...}) = 0
+mmap(NULL, 132, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 132) = 0
+brk(0x1b5b000) = 0x1b5b000
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 70) = 0
+write(1, "2521eb645b1fcac7b6b55551114fe2d6"..., 49) = 49
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 70) = 0
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+write(1, "1435997202.486434s 0 5c33e13f-ed"..., 58) = 58
+munmap(0x7f9ead5a0000, 70) = 0
+write(1, "\n", 1) = 1
+read(0, "refs/heads/git-annex:eec/e95/SHA"..., 4096) = 116
+lstat("/home/flowblok/annex/.git/refs/heads/git-annex", {st_mode=S_IFREG|0600, st_size=41, ...}) = 0
+open("/home/flowblok/annex/.git/refs/heads/git-annex", O_RDONLY) = 3
+read(3, "f9d2dc8d54151d01a27c7989a1fc7983"..., 255) = 41
+read(3, "", 214) = 0
+close(3) = 0
+lstat("/home/flowblok/annex/.git/refs/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/tags/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/heads/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex/HEAD", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+open("/home/flowblok/annex/.git/objects/f9/d2dc8d54151d01a27c7989a1fc798320034a69", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=207, ...}) = 0
+mmap(NULL, 207, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 207) = 0
+open("/home/flowblok/annex/.git/objects/65/dd2889161d7002f1d5f94587ab9bd0746d6f61", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=98827, ...}) = 0
+mmap(NULL, 98827, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ea4c03000
+close(3) = 0
+brk(0x1b81000) = 0x1b81000
+munmap(0x7f9ea4c03000, 98827) = 0
+open("/home/flowblok/annex/.git/objects/d7/bc8b27aad64c59effa77eae026778582761fae", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=550, ...}) = 0
+mmap(NULL, 550, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 550) = 0
+open("/home/flowblok/annex/.git/objects/d8/00f4d59828022b9ee556b6f3758832da6bfb71", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=131, ...}) = 0
+mmap(NULL, 131, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 131) = 0
+brk(0x1b5b000) = 0x1b5b000
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 71) = 0
+write(1, "ac9ee326d36283143f9b3b38687870df"..., 49) = 49
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 71) = 0
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+write(1, "1435997292.091244s 0 5c33e13f-ed"..., 58) = 58
+munmap(0x7f9ead5a0000, 71) = 0
+write(1, "\n", 1) = 1
+read(0, "refs/heads/git-annex:c54/719/SHA"..., 4096) = 116
+lstat("/home/flowblok/annex/.git/refs/heads/git-annex", {st_mode=S_IFREG|0600, st_size=41, ...}) = 0
+open("/home/flowblok/annex/.git/refs/heads/git-annex", O_RDONLY) = 3
+read(3, "f9d2dc8d54151d01a27c7989a1fc7983"..., 255) = 41
+read(3, "", 214) = 0
+close(3) = 0
+lstat("/home/flowblok/annex/.git/refs/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/tags/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/heads/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex/HEAD", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+open("/home/flowblok/annex/.git/objects/f9/d2dc8d54151d01a27c7989a1fc798320034a69", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=207, ...}) = 0
+mmap(NULL, 207, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 207) = 0
+open("/home/flowblok/annex/.git/objects/65/dd2889161d7002f1d5f94587ab9bd0746d6f61", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=98827, ...}) = 0
+mmap(NULL, 98827, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ea4c03000
+close(3) = 0
+brk(0x1b81000) = 0x1b81000
+munmap(0x7f9ea4c03000, 98827) = 0
+open("/home/flowblok/annex/.git/objects/04/13fe78e4f9b37348b5fd03cbe5eabdbcaec068", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=683, ...}) = 0
+mmap(NULL, 683, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 683) = 0
+open("/home/flowblok/annex/.git/objects/c0/4c0a1d5b43f82c50cf095e42d28d74f0cfc494", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=132, ...}) = 0
+mmap(NULL, 132, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 132) = 0
+brk(0x1b5b000) = 0x1b5b000
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 70) = 0
+write(1, "2521eb645b1fcac7b6b55551114fe2d6"..., 49) = 49
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 70) = 0
+open("/home/flowblok/annex/.git/objects/25/21eb645b1fcac7b6b55551114fe2d69e095896", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=70, ...}) = 0
+mmap(NULL, 70, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+write(1, "1435997202.486434s 0 5c33e13f-ed"..., 58) = 58
+munmap(0x7f9ead5a0000, 70) = 0
+write(1, "\n", 1) = 1
+read(0, "refs/heads/git-annex:eec/e95/SHA"..., 4096) = 116
+lstat("/home/flowblok/annex/.git/refs/heads/git-annex", {st_mode=S_IFREG|0600, st_size=41, ...}) = 0
+open("/home/flowblok/annex/.git/refs/heads/git-annex", O_RDONLY) = 3
+read(3, "f9d2dc8d54151d01a27c7989a1fc7983"..., 255) = 41
+read(3, "", 214) = 0
+close(3) = 0
+lstat("/home/flowblok/annex/.git/refs/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/tags/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/heads/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex/HEAD", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+open("/home/flowblok/annex/.git/objects/f9/d2dc8d54151d01a27c7989a1fc798320034a69", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=207, ...}) = 0
+mmap(NULL, 207, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 207) = 0
+open("/home/flowblok/annex/.git/objects/65/dd2889161d7002f1d5f94587ab9bd0746d6f61", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=98827, ...}) = 0
+mmap(NULL, 98827, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ea4c03000
+close(3) = 0
+brk(0x1b81000) = 0x1b81000
+munmap(0x7f9ea4c03000, 98827) = 0
+open("/home/flowblok/annex/.git/objects/d7/bc8b27aad64c59effa77eae026778582761fae", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=550, ...}) = 0
+mmap(NULL, 550, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 550) = 0
+open("/home/flowblok/annex/.git/objects/d8/00f4d59828022b9ee556b6f3758832da6bfb71", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=131, ...}) = 0
+mmap(NULL, 131, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 131) = 0
+brk(0x1b5b000) = 0x1b5b000
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 71) = 0
+write(1, "ac9ee326d36283143f9b3b38687870df"..., 49) = 49
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 71) = 0
+open("/home/flowblok/annex/.git/objects/ac/9ee326d36283143f9b3b38687870df6a888938", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=71, ...}) = 0
+mmap(NULL, 71, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+write(1, "1435997292.091244s 0 5c33e13f-ed"..., 58) = 58
+munmap(0x7f9ead5a0000, 71) = 0
+write(1, "\n", 1) = 1
+read(0, "refs/heads/git-annex:c54/719/SHA"..., 4096) = 116
+lstat("/home/flowblok/annex/.git/refs/heads/git-annex", {st_mode=S_IFREG|0600, st_size=41, ...}) = 0
+open("/home/flowblok/annex/.git/refs/heads/git-annex", O_RDONLY) = 3
+read(3, "f9d2dc8d54151d01a27c7989a1fc7983"..., 255) = 41
+read(3, "", 214) = 0
+close(3) = 0
+lstat("/home/flowblok/annex/.git/refs/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/tags/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/heads/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+lstat("/home/flowblok/annex/.git/refs/remotes/refs/heads/git-annex/HEAD", 0x7ffc82e9e580) = -1 ENOENT (No such file or directory)
+stat("/home/flowblok/annex/.git/packed-refs", {st_mode=S_IFREG|0600, st_size=1049, ...}) = 0
+open("/home/flowblok/annex/.git/objects/f9/d2dc8d54151d01a27c7989a1fc798320034a69", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=207, ...}) = 0
+mmap(NULL, 207, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ead5a0000
+close(3) = 0
+munmap(0x7f9ead5a0000, 207) = 0
+open("/home/flowblok/annex/.git/objects/65/dd2889161d7002f1d5f94587ab9bd0746d6f61", O_RDONLY|O_NOATIME) = 3
+fstat(3, {st_mode=S_IFREG|0400, st_size=98827, ...}) = 0
+mmap(NULL, 98827, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9ea4c03000
+close(3) = 0
+brk(0x1b81000) = 0x1b81000
+munmap(0x7f9ea4c03000, 98827) = 0
+# (truncated, since it just repeats over and over for a total of 613759 lines)
+
+# strace -p $PIDOF_GITANNEX_WEBAPP
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+futex(0x417c1dc, FUTEX_WAIT_PRIVATE, 65, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
+--- SIGVTALRM {si_signo=SIGVTALRM, si_code=SI_TIMER, si_timerid=0, si_overrun=0, si_value={int=0, ptr=0}} ---
+rt_sigreturn() = 202
+# (ands lots more of the same)
+"""]]
diff --git a/doc/design/assistant/webapp/comment_5_2bdb436f35c659316193b89ee6e52fcb._comment b/doc/design/assistant/webapp/comment_5_2bdb436f35c659316193b89ee6e52fcb._comment
new file mode 100644
index 000000000..b1592af20
--- /dev/null
+++ b/doc/design/assistant/webapp/comment_5_2bdb436f35c659316193b89ee6e52fcb._comment
@@ -0,0 +1,11 @@
+[[!comment format=mdwn
+ username="dirk.schmidt@045f26624b94d351628bbb315f94150d627fb18b"
+ nickname="dirk.schmidt"
+ subject="Webapp don open"
+ date="2015-07-08T12:49:01Z"
+ content="""
+Hey there,
+i am using Ubuntu 14.04
+I have disabled all my repositories and now i cannot open the webapp any more.
+Any suggestions ?
+"""]]
diff --git a/doc/devblog/day_297__optparse-applicative.mdwn b/doc/devblog/day_297__optparse-applicative.mdwn
new file mode 100644
index 000000000..0885f0db4
--- /dev/null
+++ b/doc/devblog/day_297__optparse-applicative.mdwn
@@ -0,0 +1,25 @@
+Now working on converting git-annex to use
+[optparse-applicative](https://github.com/pcapriotti/optparse-applicative)
+for its command line parsing. I've wanted to do this for a long time,
+because the current code for options is generally horrible, runs in
+IO, and is not at all type safe, while optparse-applicative has wonderful
+composable parsers and lets each subcommand have its own data type
+repesenting all its options.
+
+What pushed me over the edge is that optparse-applicative has automatic
+bash completion!
+
+ # source <(git-annex --bash-completion-script `which git-annex`)
+ # git-annex fsck -
+ --all --key -S
+ --from --more -U
+
+Since nobody has managed to write a full bash completion for git-annex
+before, let alone keep it up-to-date with changes to the code, automating
+the problem away is a really nice win. :)
+
+The conversion is a rather huge undertaking; the diff is already over 3000
+lines large after 8 hours of work, and I'm maybe 1/3rd done, with
+the groundwork laid (except for global options still todo) and a few
+subcommands converted. This won't land for this week's release; it'll
+need a lot of testing before it'll be ready for any release.
diff --git a/doc/forum/MD5_and_MD5E_backends_no_longer_available__63__.mdwn b/doc/forum/MD5_and_MD5E_backends_no_longer_available__63__.mdwn
new file mode 100644
index 000000000..9927743d4
--- /dev/null
+++ b/doc/forum/MD5_and_MD5E_backends_no_longer_available__63__.mdwn
@@ -0,0 +1,5 @@
+I set the backend to MD5E with git config, but when I try to import files I get this error:
+
+ git-annex: unknown backend MD5E
+
+MD5 doesn't work either. Have these been removed as backend options? They are listed [here](http://git-annex.branchable.com/backends/).
diff --git a/doc/forum/Trouble_adding_ssh_remote_using_assistant_on_windows/comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment b/doc/forum/Trouble_adding_ssh_remote_using_assistant_on_windows/comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment
new file mode 100644
index 000000000..c16f7e377
--- /dev/null
+++ b/doc/forum/Trouble_adding_ssh_remote_using_assistant_on_windows/comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="acous"
+ subject="comment 2"
+ date="2015-07-07T22:25:40Z"
+ content="""
+Thanks, that did the trick. Am I right to assume that git-remote-gcrypt is not compatible with windows? I have cygwin set up which I could try to install it into, but I expect git-annex-assistant only has access to stuff available from the standard command prompt.
+"""]]
diff --git a/doc/forum/Use_password_protected_gpg_keypair_without_password_prompt__63__.mdwn b/doc/forum/Use_password_protected_gpg_keypair_without_password_prompt__63__.mdwn
new file mode 100644
index 000000000..1ef6345bb
--- /dev/null
+++ b/doc/forum/Use_password_protected_gpg_keypair_without_password_prompt__63__.mdwn
@@ -0,0 +1,7 @@
+Hi.
+
+I couldn't find a way to pass the passphrase, required to open the gpg keypair for an encrypted special remote, to "git annex sync --content".
+I need this for my backup script. Is it possible to use an environment variable or a passphrase file?
+
+Best regards,
+sfowijowa
diff --git a/doc/git-annex-unused.mdwn b/doc/git-annex-unused.mdwn
index f37b60be0..c29971525 100644
--- a/doc/git-annex-unused.mdwn
+++ b/doc/git-annex-unused.mdwn
@@ -49,22 +49,25 @@ additions and removals of refs. For example:
This adds all refs/heads/ refs, as well as the previous version
of HEAD. It also adds all tags, except for old-tag.
-This refspec is processed by starting with an empty set of refs,
+The refspec is processed by starting with an empty set of refs,
and walking the list in order from left to right.
-* Each + using a glob is matched against all relevant refs
- (a subset of `git show-ref`) and all matching refs are added
- to the set.
- For example, "+refs/remotes/*" adds all remote refs.
-* Each + without a glob adds the literal value to the set.
- For example, "+HEAD^" adds "HEAD^".
-* Each - is matched against the set of refs accumulated so far.
- Any matching refs are removed from the set.
-* "reflog" adds all the refs from the reflog. This will make past versions
- of files not be considered to be unused until the ref expires from the
- reflog (by default for 90 days). Note that this may make git-annex unused
- take some time to complete, it if needs to check every ref from the
- reflog.
+Each + using a glob is matched against all relevant refs
+(a subset of `git show-ref`) and all matching refs are added
+to the set.
+For example, "+refs/remotes/*" adds all remote refs.
+
+Each + without a glob adds the literal value to the set.
+For example, "+HEAD^" adds "HEAD^".
+
+Each - is matched against the set of refs accumulated so far.
+Any matching refs are removed from the set.
+
+"reflog" adds all the refs from the reflog. This will make past versions
+of files not be considered to be unused until the ref expires from the
+reflog (by default for 90 days). Note that this may make git-annex unused
+take some time to complete, it if needs to check every ref from the
+reflog.
# SEE ALSO
diff --git a/doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment b/doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment
new file mode 100644
index 000000000..c0561861e
--- /dev/null
+++ b/doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment
@@ -0,0 +1,93 @@
+[[!comment format=mdwn
+ username="dave@2ab82f485adf7e2ce787066e35f5f9789bff430b"
+ nickname="dave"
+ subject="apt-get build-dep fails"
+ date="2015-07-09T00:07:32Z"
+ content="""
+ hobbes@namagiri:~/src$ sudo apt-get build-dep git-annex
+ Reading package lists... Done
+ Building dependency tree
+ Reading state information... Done
+ E: Build-Depends dependency for git-annex cannot be satisfied because the package libghc-hamlet-dev cannot be found
+
+Hmm, deprecated in favor of libghc-shakespear-dev, according to http://hackage.haskell.org/package/hamlet ...
+
+ hobbes@namagiri:~/src/apt-get-source-git-annex$ grep -iR build-depends.*hamlet|tr , \\n
+ git-annex_5.20141125.dsc:Build-Depends: debhelper (>= 9)
+ ghc (>= 7.4)
+ cabal-install
+ libghc-mtl-dev (>= 2.1.1)
+ libghc-missingh-dev
+ libghc-data-default-dev
+ libghc-hslogger-dev
+ libghc-pcre-light-dev
+ libghc-sha-dev
+ libghc-cryptohash-dev
+ libghc-dataenc-dev
+ libghc-utf8-string-dev
+ libghc-hs3-dev (>= 0.5.6)
+ libghc-dav-dev (>= 1.0) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 powerpc]
+ libghc-quickcheck2-dev
+ libghc-monad-control-dev (>= 0.3)
+ libghc-exceptions-dev (>= 0.6)
+ libghc-transformers-dev
+ libghc-unix-compat-dev
+ libghc-dlist-dev
+ libghc-uuid-dev
+ libghc-json-dev
+ libghc-aeson-dev
+ libghc-ifelse-dev
+ libghc-bloomfilter-dev
+ libghc-edit-distance-dev
+ libghc-hinotify-dev [linux-any]
+ libghc-stm-dev (>= 2.3)
+ libghc-dbus-dev (>= 0.10.3) [linux-any]
+ libghc-fdo-notify-dev (>= 0.3) [linux-any]
+ libghc-yesod-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-yesod-static-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-yesod-default-dev [i386 amd64 kfreebsd-amd64 powerpc]
+ libghc-hamlet-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-shakespeare-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-clientsession-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-warp-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-warp-tls-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-wai-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-wai-extra-dev [i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc]
+ libghc-securemem-dev
+ libghc-byteable-dev
+ libghc-dns-dev
+ libghc-case-insensitive-dev
+ libghc-http-types-dev
+ libghc-http-conduit-dev
+ libghc-blaze-builder-dev
+ libghc-crypto-api-dev
+ libghc-network-multicast-dev
+ libghc-network-info-dev [linux-any kfreebsd-any]
+ libghc-safesemaphore-dev
+ libghc-network-protocol-xmpp-dev (>= 0.4.3-1+b1)
+ libghc-gnutls-dev (>= 0.1.4)
+ libghc-xml-types-dev
+ libghc-async-dev
+ libghc-feed-dev (>= 0.3.9.2)
+ libghc-regex-tdfa-dev [!mipsel !s390]
+ libghc-regex-compat-dev [mipsel s390]
+ libghc-tasty-dev (>= 0.7) [!sparc]
+ libghc-tasty-hunit-dev [!sparc]
+ libghc-tasty-quickcheck-dev [!sparc]
+ libghc-tasty-rerun-dev [!sparc]
+ libghc-optparse-applicative-dev [!sparc]
+ lsof [!kfreebsd-i386 !kfreebsd-amd64 !hurd-any]
+ ikiwiki
+ perlmagick
+ git (>= 1:2.0)
+ rsync
+ wget
+ curl
+ openssh-client
+ git-remote-gcrypt (>= 0.20130908-6)
+ llvm-3.4 [armel armhf]
+
+I think that's the bug, right there: *git-annex_5.20141125.dsc*.
+
+I hope this helps.
+"""]]
diff --git a/doc/news/version_5.20150508.mdwn b/doc/news/version_5.20150508.mdwn
deleted file mode 100644
index 0f3cb8fbb..000000000
--- a/doc/news/version_5.20150508.mdwn
+++ /dev/null
@@ -1,51 +0,0 @@
-git-annex 5.20150508 released with [[!toggle text="these changes"]]
-[[!toggleable text="""
- * Improve behavior when a git-annex command is told to operate
- on a file that doesn't exist. It will now continue to other
- files specified after that on the command line, and only error out at
- the end.
- * S3: Enable debug logging when annex.debug or --debug is set.
- * S3: git annex info will show additional information about a S3 remote
- (endpoint, port, storage class)
- * S3: Let git annex enableremote be used, without trying to recreate
- a bucket that should already exist.
- * S3: Fix incompatability with bucket names used by hS3; the aws library
- cannot handle upper-case bucket names. git-annex now converts them to
- lower case automatically.
- * import: Check for gitignored files before moving them into the tree.
- (Needs git 1.8.4 or newer.)
- * import: Don't stop entire import when one file fails due to being
- gitignored or conflicting with something in the work tree.
- * import: Before removing a duplicate file in --deduplicate or
- --clean-duplicates mode, verify that enough copies of its content still
- exist.
- * Improve integration with KDE's file manager to work with dolphin
- version 14.12.3 while still being compatable with 4.14.2.
- Thanks, silvio.
- * assistant: Added --autostop to complement --autostart.
- * Work around wget bug #784348 which could cause it to clobber git-annex
- symlinks when downloading from ftp.
- * Support checking ftp urls for file presence.
- * Fix bogus failure of fsck --fast.
- * fsck: Ignore error recording the fsck in the activity log,
- which can happen when running fsck in a read-only repository.
- Closes: #[698559](http://bugs.debian.org/698559)
- (fsck can still need to write to the repository if it find problems,
- but a successful fsck can be done read-only)
- * Improve quvi 0.4 output parsing to handle cases wher there is no known
- filename extension. This is currently the case when using quvi with
- youtube. In this case, the extension ".m" will be used.
- * Dropped support for older versions of yesod, warp, and dbus than the ones
- in Debian Jessie.
- * Switch from the obsolete dataenc library for base64 encoding to sandi.
- (Thanks, Magnus Therning)
- * Debian's ghc now supports TH on arm! Adjust build dependencies
- to build the webapp on arm, and enable DAV support on arm. \o/
- * Adjust some other arch specific build dependencies that are now
- available on more architectures in Devian unstable.
- * Windows: Remove cygwin ssh, the newer version of which has stopped
- honoring the setting of HOME. Instead, copy msysgit's ssh into PATH.
- Note that setting up a remote ssh server using password authentication
- is known to be broken in this release on Windows.
- * Windows: Roll back to an older version of rsync from cygwin.
- The newer version has some dependency on a newer ssh from cygwin."""]] \ No newline at end of file
diff --git a/doc/news/version_5.20150710.mdwn b/doc/news/version_5.20150710.mdwn
new file mode 100644
index 000000000..02035fa34
--- /dev/null
+++ b/doc/news/version_5.20150710.mdwn
@@ -0,0 +1,34 @@
+git-annex 5.20150710 released with [[!toggle text="these changes"]]
+[[!toggleable text="""
+ * add: Stage symlinks the same as git add would, even if they are not a
+ link to annexed content.
+ * sync: When annex.autocommit=false, avoid making any commit of local
+ changes, while still merging with remote to the extent possible.
+ * unused: --used-refspec can now be configured to look at refs in the
+ reflog. This provides a way to not consider old versions of files to be
+ unused after they have reached a specified age, when the old refs in
+ the reflog expire.
+ * log: Fix reversion introduced in version 5.20150528 that broke this command.
+ * assistant --autostart: First stop any daemons that are already running,
+ which might be left over from a previous login session and so unable to
+ use the ssh agent of a new login session.
+ * assistant: Fix local pairing to not include newline in ssh pubkey,
+ which is rejected on the other end for security reasons.
+ * assistant: Fix ANNEX\_SHELL\_DIR written to ~/.ssh/authorized\_keys
+ in local pairing to be the absolute path to the repository, not "."
+ This was a reversion caused by the relative path changes in 5.20150113.
+ * Brought back the setkey plumbing command that was removed in 2011, since
+ we found a use case for it. Note that the command's syntax was changed
+ for consistency.
+ * bugfix: Pass --full-tree when using git ls-files to get a list of files
+ on the git-annex branch, so it works when run in a subdirectory.
+ This bug affected git-annex unused, and potentially also transitions
+ running code and other things.
+ * Support git's undocumented core.sharedRepository=2 value, which
+ is equivalent to "world", and is set when a repo was created using
+ git init --shared=world.
+ * When building on linux, pass --as-needed to linker to avoid linking
+ with unused shared libraries including libyaml.
+ * import: Fix failure of cross-device import on Windows.
+ * merge: Avoid creating the synced/master branch.
+ * Removed support for optparse-applicative versions older than 0.10."""]] \ No newline at end of file
diff --git a/doc/tips/Repositories_with_large_number_of_files/comment_1_fac49a6d3f6a18c9925c34521221307d._comment b/doc/tips/Repositories_with_large_number_of_files/comment_1_fac49a6d3f6a18c9925c34521221307d._comment
new file mode 100644
index 000000000..42550a064
--- /dev/null
+++ b/doc/tips/Repositories_with_large_number_of_files/comment_1_fac49a6d3f6a18c9925c34521221307d._comment
@@ -0,0 +1,7 @@
+[[!comment format=mdwn
+ username="ghen1"
+ subject="comment 1"
+ date="2015-07-08T04:08:28Z"
+ content="""
+This is some excellent information. Thank you.
+"""]]
diff --git a/git-annex.cabal b/git-annex.cabal
index fec1bd40d..905b945ae 100644
--- a/git-annex.cabal
+++ b/git-annex.cabal
@@ -1,5 +1,5 @@
Name: git-annex
-Version: 5.20150617
+Version: 5.20150710
Cabal-Version: >= 1.8
License: GPL-3
Maintainer: Joey Hess <id@joeyh.name>