From b5ccfa70239e159675cdfea6438075715d62707c Mon Sep 17 00:00:00 2001
From: acous <acous@web>
Date: Tue, 7 Jul 2015 22:25:40 +0000
Subject: [PATCH 01/13] Added a comment

---
 .../comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment    | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 doc/forum/Trouble_adding_ssh_remote_using_assistant_on_windows/comment_2_3ec8af32b8148d31aaa3ba781b4dcf89._comment

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 0000000000..c16f7e3775
--- /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.
+"""]]

From 6bc3771b66507fc66e432e428ab2ee9dd058d710 Mon Sep 17 00:00:00 2001
From: ghen1 <ghen1@web>
Date: Wed, 8 Jul 2015 03:58:25 +0000
Subject: [PATCH 02/13]

---
 .../MD5_and_MD5E_backends_no_longer_available__63__.mdwn     | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 doc/forum/MD5_and_MD5E_backends_no_longer_available__63__.mdwn

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 0000000000..9927743d42
--- /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/).

From da61ec46f0b59379b11b57767e62b2ed8e3a9af5 Mon Sep 17 00:00:00 2001
From: ghen1 <ghen1@web>
Date: Wed, 8 Jul 2015 04:08:28 +0000
Subject: [PATCH 03/13] Added a comment

---
 .../comment_1_fac49a6d3f6a18c9925c34521221307d._comment    | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 doc/tips/Repositories_with_large_number_of_files/comment_1_fac49a6d3f6a18c9925c34521221307d._comment

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 0000000000..42550a0645
--- /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.
+"""]]

From 894415228b33f0fae9a837c10500563bee51e134 Mon Sep 17 00:00:00 2001
From: "dirk.schmidt@045f26624b94d351628bbb315f94150d627fb18b"
 <dirkschmidt@web>
Date: Wed, 8 Jul 2015 12:49:02 +0000
Subject: [PATCH 04/13] Added a comment: Webapp don open

---
 ...omment_5_2bdb436f35c659316193b89ee6e52fcb._comment | 11 +++++++++++
 1 file changed, 11 insertions(+)
 create mode 100644 doc/design/assistant/webapp/comment_5_2bdb436f35c659316193b89ee6e52fcb._comment

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 0000000000..b1592af20b
--- /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 ?
+"""]]

From c98135f39f26cb9975a2876675f900f2c8ce67c6 Mon Sep 17 00:00:00 2001
From: konubinix <konubinix@web>
Date: Wed, 8 Jul 2015 19:33:35 +0000
Subject: [PATCH 05/13] Added a comment: Thank you for your answer

---
 ...nt_2_fc57759cfcec0c454ab80ef8e324aa91._comment | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 doc/bugs/Interrupted_command_broke_encfs_repository/comment_2_fc57759cfcec0c454ab80ef8e324aa91._comment

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 0000000000..2f1b0e43d4
--- /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.
+"""]]

From b25a819dc64e10d0453ebdecfc85bc656e72589b Mon Sep 17 00:00:00 2001
From: sfowijowa <sfowijowa@web>
Date: Wed, 8 Jul 2015 23:28:50 +0000
Subject: [PATCH 06/13]

---
 ...rotected_gpg_keypair_without_password_prompt__63__.mdwn | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 doc/forum/Use_password_protected_gpg_keypair_without_password_prompt__63__.mdwn

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 0000000000..1ef6345bb9
--- /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

From ad8194d1df6493e17d7e5bd0159e26b18f213370 Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Wed, 8 Jul 2015 19:40:49 -0400
Subject: [PATCH 07/13] devblog

---
 .../day_297__optparse-applicative.mdwn        | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 doc/devblog/day_297__optparse-applicative.mdwn

diff --git a/doc/devblog/day_297__optparse-applicative.mdwn b/doc/devblog/day_297__optparse-applicative.mdwn
new file mode 100644
index 0000000000..0885f0db41
--- /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.

From 4eab9f79091067c26db7e9f24d72125dce16b11c Mon Sep 17 00:00:00 2001
From: "dave@2ab82f485adf7e2ce787066e35f5f9789bff430b" <dave@web>
Date: Thu, 9 Jul 2015 00:07:32 +0000
Subject: [PATCH 08/13] Added a comment: apt-get build-dep fails

---
 ..._c8370525547b435d963a2c1192a21124._comment | 93 +++++++++++++++++++
 1 file changed, 93 insertions(+)
 create mode 100644 doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment

diff --git a/doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment b/doc/install/fromsource/comment_49_c8370525547b435d963a2c1192a21124._comment
new file mode 100644
index 0000000000..c0561861ed
--- /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.
+"""]]

From 1d3cb925d6a275483ea04f071918d6a1a25e54bf Mon Sep 17 00:00:00 2001
From: "peteraward@bd1992bc6d8ba02a8614d531c5b2e4df9b8815c6" <peteraward@web>
Date: Fri, 10 Jul 2015 00:40:43 +0000
Subject: [PATCH 09/13]

---
 ...high_cpu_usage_in_cat-file_and_webapp.mdwn | 314 ++++++++++++++++++
 1 file changed, 314 insertions(+)
 create mode 100644 doc/bugs/high_cpu_usage_in_cat-file_and_webapp.mdwn

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 0000000000..d2dd2bbce9
--- /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)
+"""]]

From bda6a020e6bd3b31e6ba2db1a9a4619c492f4efc Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Fri, 10 Jul 2015 16:39:05 -0400
Subject: [PATCH 10/13] prep release

---
 debian/changelog | 26 +++++++++++++-------------
 git-annex.cabal  |  2 +-
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index a357e3fe66..5a2a8efc37 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,15 @@
-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,
@@ -19,21 +27,13 @@ git-annex (5.20150618) UNRELEASED; urgency=medium
   * Support git's undocumented core.sharedRepository=2 value, which
     is equivilant 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/git-annex.cabal b/git-annex.cabal
index 941067f5de..d999e60d3c 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>

From 92de60c4901f38e3158f2a11c686dc4c7c6f7570 Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Fri, 10 Jul 2015 16:52:53 -0400
Subject: [PATCH 11/13] fix man format

---
 doc/git-annex-unused.mdwn | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/doc/git-annex-unused.mdwn b/doc/git-annex-unused.mdwn
index f37b60be0f..c299715253 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
 

From 30746339556b68286e1d2fd0e28cdfb41ba456ac Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Fri, 10 Jul 2015 16:52:58 -0400
Subject: [PATCH 12/13] typo

---
 debian/changelog | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 5a2a8efc37..586128bf3a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -25,7 +25,7 @@ git-annex (5.20150710) unstable; 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.
   * When building on linux, pass --as-needed to linker to avoid linking
     with unused shared libraries including libyaml.

From 8fd7052e5fd47b7d9b361f21d1c5add13372523a Mon Sep 17 00:00:00 2001
From: Joey Hess <joeyh@joeyh.name>
Date: Fri, 10 Jul 2015 17:02:37 -0400
Subject: [PATCH 13/13] add news item for git-annex 5.20150710

---
 doc/news/version_5.20150508.mdwn | 51 --------------------------------
 doc/news/version_5.20150710.mdwn | 34 +++++++++++++++++++++
 2 files changed, 34 insertions(+), 51 deletions(-)
 delete mode 100644 doc/news/version_5.20150508.mdwn
 create mode 100644 doc/news/version_5.20150710.mdwn

diff --git a/doc/news/version_5.20150508.mdwn b/doc/news/version_5.20150508.mdwn
deleted file mode 100644
index 0f3cb8fbb8..0000000000
--- 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 0000000000..02035fa34e
--- /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