diff --git a/debian/.gitattributes b/debian/.gitattributes
new file mode 100644
index 0000000..6a03163
--- /dev/null
+++ b/debian/.gitattributes
@@ -0,0 +1 @@
+changelog merge=dpkg-mergechangelogs
diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000..5bbf4ef
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,19 @@
+.debhelper/
+*.debhelper
+*.debhelper.log
+*.substvars
+/files
+/git-all/
+/git-cvs/
+/git-daemon-run/
+/git-daemon-sysvinit/
+/git-doc/
+/git-email/
+/git-gui/
+/git-man/
+/git-mediawiki/
+/git-svn/
+/git/
+/gitk/
+/gitweb/
+/tmp/
diff --git a/debian/README.emacs b/debian/README.emacs
new file mode 100644
index 0000000..e893018
--- /dev/null
+++ b/debian/README.emacs
@@ -0,0 +1,24 @@
+The git-el package previously provided the following modules for Emacs
+support:
+
+* git.el:
+
+  Status manager that displayed the state of all the files of the
+  project and provided access to the most frequently used Git
+  commands. Its interface was modeled after the pcl-cvs mode.
+
+  Modern alternatives include Magit, available from the elpa-magit
+  package, and the VC-mode backend for Git that is part of standard
+  Emacs distributions.
+
+* git-blame.el:
+
+  A wrapper for "git blame" written before Emacs's own vc-annotate
+  mode, which can be invoked using C-x v g, learned to invoke
+  "git blame".
+
+* vc-git.el:
+
+  This file used to contain the VC-mode backend for Git, but it is no
+  longer distributed with Git. It is now maintained as part of Emacs
+  and included in standard Emacs distributions.
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..ce13c78
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,85 @@
+Git sources for Debian
+----------------------
+
+The git Debian package sources are available through git, and
+through 'apt-get source git'.  Getting the sources through git
+should be preferred:
+
+ # apt-get install git  # if not yet done
+
+ $ git clone https://repo.or.cz/r/git/debian.git/ git
+ $ cd git
+
+After cloning the repository, you have checked out the debian-sid
+branch, ready to be used by dpkg-buildpackage, e.g.
+
+ $ dpkg-buildpackage -i -rfakeroot -uc -us
+
+If you want to make changes in the ./debian/ subdirectory, this is the
+correct branch to work on.  After making changes, document them in
+debian/changelog, and commit through 'git add' and 'git commit', or 'git
+commit -a', or similar.  If you think the changes should be incorporated
+into the standard Debian package, create the patch[es] through 'git
+format-patch', and send them to the Debian Bug Tracking System, e.g.
+
+ $ vi debian/rules
+ $ debchange -pi
+ $ git commit -a
+ $ git format-patch HEAD^
+
+
+If you want to make changes to the upstream git sources, first checkout
+the release+patches branch
+
+ $ git checkout -b release+patches origin/release+patches
+
+The release+patches branch holds patches on top of the current release
+version that is packaged for Debian/unstable. The current release
+version is available in the release branch.  If you are interested, you
+can checkout this branch too
+
+ $ git checkout -b release origin/release
+
+When releasing a new Debian package based on a new upstream release, the
+release branch will be fastforwarded, and the release+patches branch is
+rewound and rebased on the new HEAD of the release branch.  This is done
+by
+
+ $ git checkout release
+ $ git merge v1.6.5
+ $ git checkout release+patches
+ $ git rebase release
+
+You generally don't need to do that, but beware that the release+patches
+branch is rewound occasionally.
+
+After checking out the release+patches branch, make the desired changes
+to the upstream sources, and commit them.  To integrate the changes into
+the Debian package, extract these changes, and change to the debian-sid
+branch (Note: the file extension for the patches is '.diff', use 'git
+config --add format.suffix .diff' to make that the default)
+
+ $ git format-patch release..release+patches
+ $ git checkout debian-sid
+
+Now move the extracted patches into the debian/patches/ directory, add
+their filenames to debian/patches/series, add a meaningful message to
+debian/changelog, and commit the changes to the debian-sid branch:
+
+ $ ls ????-*.diff >> debian/patches/series
+ $ mv ????-*.diff debian/patches/
+ $ git add debian/patches
+ $ debchange -pi
+ $ git add debian/changelog
+ $ git commit
+
+Again, if you think the changes should be incorporated into the standard
+Debian package, create the patch[es] from the debian-sid branch through
+'git format-patch', send them to the Debian Bug Tracking System.
+
+There's a mailing list to coordinate work on the git-core packages, if
+you're interested in helping please subscribe to the
+<debian-package-git> mailing list by sending an email to
+<debian-package-git-subscribe@list.smarden.org>.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 10 Apr 2010 12:28:52 +0000
diff --git a/debian/apache2/gitweb.conf b/debian/apache2/gitweb.conf
new file mode 100644
index 0000000..cb914bc
--- /dev/null
+++ b/debian/apache2/gitweb.conf
@@ -0,0 +1,19 @@
+<IfModule mod_alias.c>
+  <IfModule mod_mime.c>
+    <IfModule mod_cgi.c>
+      Define ENABLE_GITWEB
+    </IfModule>
+    <IfModule mod_cgid.c>
+      Define ENABLE_GITWEB
+    </IfModule>
+  </IfModule>
+</IfModule>
+
+<IfDefine ENABLE_GITWEB>
+  Alias /gitweb /usr/share/gitweb
+
+  <Directory /usr/share/gitweb>
+    Options +FollowSymLinks +ExecCGI
+    AddHandler cgi-script .cgi
+  </Directory>
+</IfDefine>
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..ca53fd3
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,6712 @@
+git (1:2.43.0+next.20231221-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3460e3d6.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Tue, 26 Dec 2023 07:29:41 -0800
+
+git (1:2.43.0+next.20231215-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ebba9660.
+
+ -- Calvin Wan <calvinwan@google.com>  Sat, 16 Dec 2023 00:01:10 +0000
+
+git (1:2.43.0+next.20231120-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 3155946c.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 26 Nov 2023 18:00:52 -0800
+
+git (1:2.43.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.43.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 26 Nov 2023 17:32:42 -0800
+
+git (1:2.42.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.41.0.txt, RelNotes/2.42.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 27 Sep 2023 09:55:42 -0700
+
+git (1:2.40.1+next.20230427-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f1e218fc.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 28 Apr 2023 15:23:37 -0700
+
+git (1:2.40.1+next.20230424-1) experimental; urgency=medium
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit c816e09b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 25 Apr 2023 10:23:47 -0700
+
+git (1:2.40.1-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.40.1.txt; addresses
+    CVE-2023-25652, CVE-2023-25815 CVE-2023-29007).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 25 Apr 2023 10:16:34 -0700
+
+git (1:2.40.0+next.20230319-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 86825d00.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Mar 2023 18:25:55 -0700
+
+git (1:2.40.0+next.20230313-1) experimental; urgency=low
+
+  [ Jonathan Tan ]
+  * new snapshot, taken from upstream commit f938b093.
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Mar 2023 16:59:19 -0700
+
+git (1:2.40.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.40.0.txt).
+  * debian/git-doc.doc-base.{git-index-format,git-pack-format,git-protocol}:
+    remove from documentation index, as the main git(1) reference
+    manual is the main entry point to find these.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Mar 2023 16:50:00 -0700
+
+git (1:2.39.2-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload (only changes to git-doc).
+  * Correct paths in git-doc doc-base control files (Closes: #1023255)
+
+ -- Matthew Vernon <matthew@debian.org>  Tue, 28 Feb 2023 09:25:32 +0000
+
+git (1:2.39.2+next.20230215-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 279f198d.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 15 Feb 2023 17:26:32 -0800
+
+git (1:2.39.2-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.39.2.txt).  Addresses
+    CVE-2023-22490 and CVE-2023-23946.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 15 Feb 2023 17:08:12 -0800
+
+git (1:2.39.1-0.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * New upstream stable release (Closes: #1029114)
+    Fixes CVE-2022-23521 and CVE-2022-41903.
+
+ -- Aron Xu <aron@debian.org>  Thu, 26 Jan 2023 13:43:04 +0800
+
+git (1:2.39.1+next.20230209-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 21b0678d.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 10 Feb 2023 12:23:46 -0800
+
+git (1:2.39.1+next.20230203-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bfd45094.
+
+ -- Glen Choo <chooglen@google.com>  Mon, 06 Feb 2023 02:43:30 +0000
+
+git (1:2.39.1+next.20230126-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cb327c4b.
+
+ -- Glen Choo <chooglen@google.com>  Fri, 27 Jan 2023 02:24:32 +0000
+
+git (1:2.39.1+next.20230121-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fc5497dd.
+
+ -- Glen Choo <chooglen@google.com>  Mon, 23 Jan 2023 16:17:30 +0000
+
+git (1:2.39.1+next.20230117-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit d4c25cc7.
+
+ -- Calvin Wan <calvinwan@google.com>  Wed, 18 Jan 2023 21:46:29 +0000
+
+git (1:2.39.0+next.20230105-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2a6d74b5.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 06 Jan 2023 14:54:09 -0800
+
+git (1:2.39.0+next.20221226-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 74172e4d.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Tue, 27 Dec 2022 12:57:21 -0800
+
+git (1:2.39.0+next.20221220-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a5737674.
+
+ -- Calvin Wan <calvinwan@google.com>  Thu, 22 Dec 2022 22:38:54 +0000
+
+git (1:2.39.0+next.20221216-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 31fb33b8.
+
+ -- Glen Choo <chooglen@google.com>  Fri, 16 Dec 2022 18:32:46 +0000
+
+git (1:2.39.0+next.20221212-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 84b9a713.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Dec 2022 13:02:04 -0800
+
+git (1:2.39.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.39.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Dec 2022 12:53:44 -0800
+
+git (1:2.38.1+next.20221115-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 9dadac03.
+
+ -- Glen Choo <chooglen@google.com>  Thu, 17 Nov 2022 22:11:54 +0000
+
+git (1:2.38.1+next.20221108-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0f3c55d4.
+
+ -- Calvin Wan <calvinwan@google.com>  Fri, 11 Nov 2022 21:27:50 +0000
+
+git (1:2.38.1+next.20221103-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 58b659f9.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 04 Nov 2022 15:52:40 -0700
+
+git (1:2.38.1+next.20221031-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 9c842762.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 Oct 2022 18:49:59 -0700
+
+git (1:2.38.1-1) unstable; urgency=medium
+
+  * new upstream release (closes: #1022046; see RelNotes/2.38.0.txt,
+    RelNotes/2.38.1.txt).
+    * Addresses the security issue CVE-2022-39253: cloning an
+      attacker-controlled local repository could store arbitrary files
+      in the ".git" directory of the destination repository.
+
+      Thanks to Cory Snider of Mirantis for reporting this
+      vulnerability and Taylor Blau for the mitigation.
+
+    * Addresses CVE-2022-39260: a long command string passed to a `git
+      shell` configured to support custom commands could overflow and
+      run arbitrary code.
+
+      Thanks to Kevin Backhouse of GitHub for reporting this
+      vulnerability and Kevin Backhouse, Jeff King, and Taylor Blau
+      for mitigating it.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 Oct 2022 18:32:00 -0700
+
+git (1:2.37.2+next.20220812-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 9ff673ca.
+  * remove separate doc-base entries for format and protocol docs
+    that moved to the main reference manual.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 12 Aug 2022 19:48:49 -0700
+
+git (1:2.37.2-1) unstable; urgency=low
+
+  * new upstream release (closes: #1016723; see RelNotes/2.37.0.txt,
+    RelNotes/2.37.1.txt, RelNotes/2.37.2.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 12 Aug 2022 19:27:24 -0700
+
+git (1:2.36.1+next.20220505-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 7c58a9bb.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 May 2022 12:47:11 -0700
+
+git (1:2.36.1-1) unstable; urgency=low
+
+  * new upstream point release (closes: #1010720; see
+    RelNotes/2.36.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 May 2022 12:43:15 -0700
+
+git (1:2.36.0+next.20220504-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b0908517.
+
+ -- Glen Choo <chooglen@google.com>  Fri, 06 May 2022 17:13:03 +0000
+
+git (1:2.36.0+next.20220428-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e40c2bad.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 29 Apr 2022 14:09:36 -0700
+
+git (1:2.36.0+next.20220417-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit b9c8b46e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 22 Apr 2022 16:52:04 -0700
+
+git (1:2.36.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.36.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 22 Apr 2022 16:43:03 -0700
+
+git (1:2.36.0~rc2+next.20220414-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8af0fa9b.
+
+ -- Calvin Wan <calvinwan@google.com>  Fri, 15 Apr 2022 20:05:56 +0000
+
+git (1:2.36.0~rc2+next.20220411-1.1) experimental; urgency=medium
+
+  * debian/patches: update version number to reflect the last set
+    of updates.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 12 Apr 2022 22:47:38 -0700
+
+git (1:2.36.0~rc2+next.20220411-1) experimental; urgency=medium
+
+  * merge branch debian-sid.
+  * new upstream release candidate (see RelNotes/2.36.0.txt).
+  * new snapshot, taken from upstream commit 64f902a3.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 12 Apr 2022 22:30:42 -0700
+
+git (1:2.35.2-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.35.2.txt).
+    * Addresses the security issue CVE-2022-24765: Git users might
+      have found themselves unexpectedly in a Git worktree, e.g. when
+      another user created a repository in `/tmp/.git`, in a mounted
+      network drive or in a scratch space. Having a Git-aware prompt
+      that runs `git status` (or `git diff`) and navigating to a
+      directory which is supposedly not a Git worktree, or opening
+      such a directory in an IDE with Git support such as VS Code,
+      could then run commands specified by that other user.
+
+      Thanks to 俞晨东 for discovering this vulnerability and
+      Johannes Schindelin for the mitigation.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 12 Apr 2022 21:25:57 -0700
+
+git (1:2.35.1+next.20220211-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 83b2b277.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Feb 2022 10:02:19 -0800
+
+git (1:2.35.1+next.20220128-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+
+  [ Glen Choo ]
+  * new snapshot, taken from upstream commit 69c8d714.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Feb 2022 08:33:52 -0800
+
+git (1:2.35.1-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.35.0.txt, RelNotes/2.35.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Feb 2022 08:24:39 -0800
+
+git (1:2.35.0~rc2+next.20220123-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8bbb0825.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Mon, 24 Jan 2022 11:13:14 -0800
+
+git (1:2.35.0~rc0+next.20220112-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 00780c9a.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 14 Jan 2022 11:33:10 -0800
+
+git (1:2.34.1+next.20220106-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 22d0c6cc.
+
+ -- Glen Choo <chooglen@google.com>  Fri, 07 Jan 2022 22:27:40 +0000
+
+git (1:2.34.1+next.20211227-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 55b058a8.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 30 Dec 2021 13:55:35 -0800
+
+git (1:2.34.1+next.20211221-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c39506ec.
+
+ -- Josh Steadmon <steadmon@google.com>  Thu, 23 Dec 2021 09:42:08 -0800
+
+git (1:2.34.1+next.20211215-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a2b2bfdf.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Thu, 16 Dec 2021 13:51:01 -0800
+
+git (1:2.34.1+next.20211208-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 9b7440fa.
+
+ -- Glen Choo <chooglen@google.com>  Fri, 10 Dec 2021 20:33:23 +0000
+
+git (1:2.34.1+next.20211202-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 76aa8bc2.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 03 Dec 2021 15:14:33 -0800
+
+git (1:2.34.1+next.20211124-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit a245620fa.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Nov 2021 11:08:41 -0800
+
+git (1:2.34.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.34.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Nov 2021 11:04:56 -0800
+
+git (1:2.34.0+next.20211119-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit b44f4d0e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 20 Nov 2021 13:27:13 -0800
+
+git (1:2.34.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.34.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 20 Nov 2021 13:14:45 -0800
+
+git (1:2.33.1+next.20211025-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 21588131.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Oct 2021 15:23:00 -0700
+
+git (1:2.33.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.33.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Oct 2021 15:02:19 -0700
+
+git (1:2.33.0+next.20211006-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 6e70778d.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 08 Oct 2021 12:22:25 -0700
+
+git (1:2.33.0+next.20210929-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 93a45727.
+
+ -- Jonathan Nieder <jrn@google.com>  Mon, 04 Oct 2021 10:36:38 -0700
+
+git (1:2.33.0+next.20210923-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4c38ced6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 24 Sep 2021 16:16:02 -0700
+
+git (1:2.33.0+next.20210915-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 46640cef.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 17 Sep 2021 10:44:23 -0700
+
+git (1:2.33.0+next.20210908-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 1972c593.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 10 Sep 2021 11:07:23 -0700
+
+git (1:2.33.0+next.20210901-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3052b894.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 03 Sep 2021 12:15:15 -0700
+
+git (1:2.33.0+next.20210824-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ba50c8fa.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Mon, 30 Aug 2021 11:55:57 -0700
+
+git (1:2.33.0+next.20210819-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c128427f.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 20 Aug 2021 12:22:58 -0700
+
+git (1:2.33.0+next.20210816-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 9b09ab0c.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Aug 2021 18:10:05 -0700
+
+git (1:2.33.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.33.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Aug 2021 17:54:01 -0700
+
+git (1:2.32.0+next.20210606-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 935e5933.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 06 Jun 2021 14:41:59 -0700
+
+git (1:2.32.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.32.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 06 Jun 2021 14:34:33 -0700
+
+git (1:2.32.0~rc2+next.20210531-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Josh Steadmon ]
+  * new snapshot, taken from upstream commit af103e12.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 May 2021 15:13:57 -0700
+
+git (1:2.32.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * remove git-el package (closes: #987264, #984931).  Since version
+    1:2.18.0~rc2-1, it only contained modules that error out with a
+    message pointing to other Emacs packages.  Nowadays users can
+    use the README.emacs file from the git package for that instead.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 May 2021 15:02:28 -0700
+
+git (1:2.32.0~rc0+next.20210521-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 9fa02ecf.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 21 May 2021 10:01:15 -0700
+
+git (1:2.32.0~rc0+next.20210520-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 928e72b8.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 20 May 2021 13:24:45 -0700
+
+git (1:2.32.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.32.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 20 May 2021 13:20:15 -0700
+
+git (1:2.31.1+next.20210514-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 46aad6cb.
+
+ -- Mingyu Wu <mwu@google.com>  Fri, 14 May 2021 11:24:46 -0700
+
+git (1:2.31.1+next.20210507-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit d2f1c929.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 07 May 2021 15:40:25 -0700
+
+git (1:2.31.1+next.20210430-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 51e8a6a4.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 30 Apr 2021 10:13:44 -0700
+
+git (1:2.31.1+next.20210420-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 47e6f169.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 23 Apr 2021 10:13:30 -0700
+
+git (1:2.31.1+next.20210417-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 6c1eba8e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Apr 2021 09:55:01 -0700
+
+git (1:2.31.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.31.1.txt).
+  * install dashed commands to /usr/lib again (thx Sven Joachim;
+    closes: #985416).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Apr 2021 09:23:57 -0700
+
+git (1:2.31.0+next.20210315-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 576ba9dc.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 Mar 2021 19:38:52 -0700
+
+git (1:2.31.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.31.0.txt).
+  * install dashed commands to /usr/libexec instead of /usr/lib (thx
+    Chris Lamb for suggesting it through lintian).
+  * remove compatibility code and NEWS.Debian entries that supported
+    upgrades from versions before 1.7.9.5 (the version in Ubuntu
+    12.04, which reached the end of extended security maintenance in
+    April, 2019).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 Mar 2021 19:32:17 -0700
+
+git (1:2.31.0~rc2+next.20210309-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 7f717746.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 Mar 2021 17:59:29 -0800
+
+git (1:2.30.2-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.30.2.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 Mar 2021 17:45:38 -0800
+
+git (1:2.31.0~rc2+next.20210304-1) experimental; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.31.0.txt).
+  * new snapshot, taken from upstream commit cd05c9c8.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 04 Mar 2021 21:46:50 -0800
+
+git (1:2.30.1+next.20210217-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b4fecdf3.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 19 Feb 2021 13:16:18 -0800
+
+git (1:2.30.1+next.20210212-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 45526154.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Feb 2021 22:03:16 -0800
+
+git (1:2.30.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.30.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Feb 2021 21:55:22 -0800
+
+git (1:2.30.0+next.20210203-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 56c4b15f.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 05 Feb 2021 12:47:20 -0800
+
+git (1:2.30.0+next.20210126-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8a0d178c.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 29 Jan 2021 11:51:55 -0800
+
+git (1:2.30.0+next.20210115-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 02bc6937.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Jan 2021 11:16:18 -0800
+
+git (1:2.30.0+next.20210114-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5a11de01.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 15 Jan 2021 12:01:40 -0800
+
+git (1:2.30.0+next.20210113-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a3ce2791.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Wed, 13 Jan 2021 16:55:14 -0800
+
+git (1:2.30.0+next.20210106-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2bfb1c46.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 08 Jan 2021 11:12:16 -0800
+
+git (1:2.30.0+next.20201227-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit d98b1dd5.
+  * install dashed commands to /usr/libexec instead of /usr/lib (thx
+    Chris Lamb for suggesting it through lintian).
+  * remove compatibility code and NEWS.Debian entries that supported
+    upgrades from versions before 1.7.9.5 (the version in Ubuntu
+    12.04, which reached the end of extended security maintenance in
+    April, 2019).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 28 Dec 2020 20:16:26 -0800
+
+git (1:2.30.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.30.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 28 Dec 2020 16:22:30 -0800
+
+git (1:2.30.0~rc2+next.20201223-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 0e31cd0e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 23 Dec 2020 15:50:14 -0800
+
+git (1:2.30.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 23 Dec 2020 15:17:54 -0800
+
+git (1:2.30.0~rc1+next.20201218-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 5298b911.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 21 Dec 2020 14:07:36 -0800
+
+git (1:2.30.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.30.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 21 Dec 2020 13:58:04 -0800
+
+git (1:2.30.0~rc0+next.20201215-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bcca9488.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Thu, 17 Dec 2020 10:49:52 -0800
+
+git (1:2.29.2+next.20201208-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 45daf877.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 11 Dec 2020 10:44:53 -0800
+
+git (1:2.29.2+next.20201203-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fbc64c5a.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 04 Dec 2020 10:11:50 -0800
+
+git (1:2.29.2+next.20201125-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a3fc446d.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Mon, 30 Nov 2020 10:14:05 -0800
+
+git (1:2.29.2+next.20201119-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 04529851.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 20 Nov 2020 10:03:14 -0800
+
+git (1:2.29.2+next.20201112-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit aff20da3.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 13 Nov 2020 09:58:36 -0800
+
+git (1:2.29.2+next.20201104-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dc112182.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 06 Nov 2020 10:06:53 -0800
+
+git (1:2.29.2+next.20201030-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 5d2a92d1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Nov 2020 09:40:42 -0800
+
+git (1:2.29.2-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.29.2.txt).
+  * debian/copyright: remove unused BSD-2-Clause text.  The last part
+    of Git under that license was removed in v2.29.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Nov 2020 09:33:37 -0800
+
+git (1:2.29.1+next.20201023-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit e80a0c04.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Oct 2020 17:52:28 -0700
+
+git (1:2.29.1-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.29.0.txt).
+  * update debian/copyright.
+  * debian/control: Build-Depends: debhelper-compat (= 10)
+    * debian/rules: run "dh --without autoreconf" to speed up build,
+      since we don't use the autotools-generated configure script.
+  * git-el: install elisp for the "emacs" flavor, too (thx Zack Weinberg;
+    closes: #972871).  Breaks: emacsen-common (<< 3.0.0~) to avoid
+    triggering on older systems where "emacs" was a virtual package.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Oct 2020 17:25:55 -0700
+
+git (1:2.29.0~rc2+next.20201015-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 374f81d7.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 16 Oct 2020 13:44:36 -0700
+
+git (1:2.29.0~rc1+next.20201008-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fa9743e5.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 09 Oct 2020 11:32:41 -0700
+
+git (1:2.28.0+next.20201004-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a647a899.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 04 Oct 2020 16:14:43 -0700
+
+git (1:2.28.0+next.20200922-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8561365e.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 25 Sep 2020 13:28:28 -0700
+
+git (1:2.28.0+next.20200916-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b0816b6e.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 18 Sep 2020 15:20:06 -0700
+
+git (1:2.28.0+next.20200910-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 6f77f65b.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 11 Sep 2020 10:09:59 -0700
+
+git (1:2.28.0+next.20200903-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f4bc123c.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Tue, 08 Sep 2020 10:18:43 -0700
+
+git (1:2.28.0+next.20200827-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e36021ee.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 28 Aug 2020 12:21:56 -0700
+
+git (1:2.28.0+next.20200819-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5ffc5be6.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 21 Aug 2020 09:43:34 -0700
+
+git (1:2.28.0+next.20200813-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 1956fa8f.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 14 Aug 2020 07:52:32 -0700
+
+git (1:2.28.0+next.20200807-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ed08abb6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Aug 2020 09:19:04 -0700
+
+git (1:2.28.0+next.20200801-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b10cc799.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Mon, 03 Aug 2020 10:04:30 -0700
+
+git (1:2.28.0+next.20200726-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 6104cc2f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Jul 2020 11:09:03 -0700
+
+git (1:2.28.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.28.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Jul 2020 11:02:01 -0700
+
+git (1:2.28.0~rc2+next.20200722-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit d0b3904b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 22 Jul 2020 17:54:50 -0700
+
+git (1:2.28.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 22 Jul 2020 17:36:57 -0700
+
+git (1:2.28.0~rc1+next.20200716-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit e9626dbb.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 17 Jul 2020 18:54:10 -0700
+
+git (1:2.28.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 17 Jul 2020 18:40:53 -0700
+
+git (1:2.28.0~rc0+next.20200709-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Josh Steadmon ]
+  * new snapshot, taken from upstream commit f9edc3c8.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 Jul 2020 15:09:34 -0700
+
+git (1:2.28.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.28.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 Jul 2020 15:03:55 -0700
+
+git (1:2.27.0+next.20200701-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c38d7665.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 06 Jul 2020 16:30:15 -0700
+
+git (1:2.27.0+next.20200629-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 050319c2.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Jun 2020 17:03:48 -0700
+
+git (1:2.27.0+next.20200625-1) experimental; urgency=low
+
+  [ Emily Shaffer ]
+  * new snapshot, taken from upstream commit b9a2d1a0.
+
+  [ Jonathan Nieder ]
+  * debian/patches: contrib/subtree: adjust test to change in
+    fmt-merge-msg (thx Đoàn Trần Công Danh).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Jun 2020 15:02:20 -0700
+
+git (1:2.27.0+next.20200618-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e8ba1cc9.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 19 Jun 2020 10:11:29 -0700
+
+git (1:2.27.0+next.20200610-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c72c7da6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 11 Jun 2020 16:54:09 -0700
+
+git (1:2.27.0+next.20200602-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ba653c62.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 05 Jun 2020 10:43:25 -0700
+
+git (1:2.27.0+next.20200531-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit e193c7cf.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 Jun 2020 10:16:03 -0700
+
+git (1:2.27.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.27.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 Jun 2020 10:05:06 -0700
+
+git (1:2.27.0~rc2+next.20200527-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit aada2199.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 29 May 2020 11:28:53 -0700
+
+git (1:2.27.0~rc2+next.20200526-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 90737beb.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 26 May 2020 14:29:10 -0700
+
+git (1:2.27.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate (closes: #757402).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 26 May 2020 14:27:25 -0700
+
+git (1:2.27.0~rc0+next.20200515-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+
+  [ Jonathan Tan ]
+  * new snapshot, taken from upstream commit de8f92d6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 May 2020 17:37:24 -0700
+
+git (1:2.27.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.27.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 May 2020 16:57:41 -0700
+
+git (1:2.26.2+next.20200508-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0e0b3e54.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 08 May 2020 15:57:56 -0700
+
+git (1:2.26.2+next.20200429-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e9eca65c.
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 01 May 2020 11:01:55 -0700
+
+git (1:2.26.2+next.20200422-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 744177e7.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 24 Apr 2020 11:39:46 -0700
+
+git (1:2.26.2+next.20200419-1.1) experimental; urgency=low
+
+  * update version number (thx Jonathan Tan for catching it).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Apr 2020 11:36:52 -0700
+
+git (1:2.26.2+next.20200419-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit f8c07b1a.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Apr 2020 11:11:25 -0700
+
+git (1:2.26.2-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.26.2.txt).
+    * Addresses the security issue CVE-2020-11008.
+
+      With a crafted URL that contains a newline or empty host, or
+      lacks a scheme, the credential helper machinery can be fooled
+      into providing credential information that is not appropriate
+      for the protocol in use and host being contacted.
+
+      Unlike the vulnerability fixed in 2.26.1, the credentials are
+      not for a host of the attacker's choosing.  Instead, they are
+      for an unspecified host, based on how the configured
+      credential helper handles an absent "host" parameter.
+
+      The attack has been made impossible by refusing to work with
+      underspecified credential patterns.
+
+      Thanks to Carlo Arenas for reporting that Git was still
+      vulnerable, Felix Wilhelm for providing the proof of concept
+      demonstrating this issue, and Jeff King for promptly providing
+      a corrected fix.
+
+      Tested using the proof of concept at
+      https://crbug.com/project-zero/2021.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Apr 2020 10:44:09 -0700
+
+git (1:2.26.1+next.20200415-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 55bc3eb7.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 15 Apr 2020 17:19:41 -0700
+
+git (1:2.26.1+next.20200413-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit d4255e2b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Apr 2020 13:41:43 -0700
+
+git (1:2.26.1-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.26.1.txt).
+    * Addresses the security issue CVE-2020-5260.
+
+      With a crafted URL that contains a newline, the credential
+      helper machinery can be fooled to supply credential information
+      for the wrong host.  The attack has been made impossible by
+      forbidding a newline character in any value passed via the
+      credential protocol.
+
+      Thanks to Felix Wilhelm of Google Project Zero for finding
+      this vulnerability and Jeff King for fixing it.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Apr 2020 10:29:38 -0700
+
+git (1:2.26.0+next.20200331-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Josh Steadmon ]
+  * new snapshot, taken from upstream commit 2183baf0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Apr 2020 10:22:23 -0700
+
+git (1:2.26.0-2) unstable; urgency=low
+
+  * fixes to the (newly default) rebase --merge backend:
+    * honor GIT_REFLOG_ACTION (thx Ian Jackson and Elijah Newren;
+      closes: #955152).
+    * avoid "nothing to do" error when fast-forwarding a branch with
+      rebase.abbreviateCommands=true (thx Jan Alexander Steffens and
+      Alban Gruin).
+  * debian/control: downgrade Recommends by git-all on git-daemon-run
+    to Suggests. The git-all package is a "batteries included" full
+    installation of Git. Automatically running a daemon is not useful
+    to most of its users.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Apr 2020 10:09:37 -0700
+
+git (1:2.26.0+next.20200325-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 33ef6b2f.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 27 Mar 2020 11:49:30 -0700
+
+git (1:2.26.0+next.20200322-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Jonathan Tan ]
+  * new snapshot, taken from upstream commit b8618d28.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Mar 2020 13:27:35 -0700
+
+git (1:2.26.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.26.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Mar 2020 13:19:36 -0700
+
+git (1:2.26.0~rc2+next.20200316-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit e327a582.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Mar 2020 21:22:22 -0700
+
+git (1:2.26.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.26.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Mar 2020 21:17:23 -0700
+
+git (1:2.25.1+next.20200303-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5e7596f4.
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Mon, 09 Mar 2020 14:26:25 -0700
+
+git (1:2.25.1+next.20200219-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 975e00fa.
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 28 Feb 2020 14:29:35 -0800
+
+git (1:2.25.1+next.20200216-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit fbce0eb8.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 18 Feb 2020 17:33:55 -0800
+
+git (1:2.25.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.25.1.txt).
+  * update debian/copyright.
+  * debian/control: remove Gerrit Pape from the Maintainer field,
+    as requested. Thanks to Gerrit for putting together this
+    package in a way that has been pleasant to maintain.
+  * debian/rules: use "dpkg-architecture" instead of "uname -m" to
+    retrieve host arch.  This makes the resulting "git version
+    --build-options" more predictable when building for i386 on an
+    amd64 machine (thx to Ceridwen for detecting this in reprotest).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 18 Feb 2020 17:26:36 -0800
+
+git (1:2.25.0+next.20200212-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cffb4d69
+
+ -- Emily Shaffer <emilyshaffer@google.com>  Fri, 14 Feb 2020 11:52:21 -0800
+
+git (1:2.25.0+next.20200205-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bab2e86b
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Fri, 07 Feb 2020 19:40:50 +0000
+
+git (1:2.25.0+next.20200130-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 125e21eb
+
+ -- Jonathan Tan <jonathantanmy@google.com>  Mon, 03 Feb 2020 20:20:25 +0000
+
+git (1:2.25.0+next.20200116-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3f081b08.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 22 Jan 2020 01:08:18 +0000
+
+git (1:2.25.0+next.20200113-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Emily Shaffer ]
+  * new snapshot, taken from upstream commit 760bfbb3
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Jan 2020 03:03:11 +0000
+
+git (1:2.25.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.25.0.txt).
+  * build against Python 3 (thx Steve Langasek, closes: #948832).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Jan 2020 02:58:47 +0000
+
+git (1:2.25.0~rc2+next.20200110-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 21a285fb
+
+ -- Josh Steadmon <steadmon@google.com>  Fri, 10 Jan 2020 15:07:58 -0800
+
+git (1:2.25.0~rc2+next.20200108-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 32a0a45a.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 08 Jan 2020 22:12:09 -0800
+
+git (1:2.25.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 08 Jan 2020 16:08:27 -0800
+
+git (1:2.25.0~rc1+next.20200102-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * merge branch debian-sid.
+
+  [ Jonathan Tan ]
+  * new snapshot, taken from upstream commit 88dfdc41
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 Jan 2020 15:16:40 -0800
+
+git (1:2.25.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 Jan 2020 15:12:18 -0800
+
+git (1:2.25.0~rc0+next.20191226-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit ca9f1ec9
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 27 Dec 2019 15:12:33 -0800
+
+git (1:2.25.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.25.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 27 Dec 2019 15:08:51 -0800
+
+git (1:2.24.1+next.20191209-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 99f4b37f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 10 Dec 2019 13:24:43 -0800
+
+git (1:2.24.1-1) unstable; urgency=low
+
+  * update to use upstream tarball for 2.24.1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 10 Dec 2019 13:21:59 -0800
+
+git (1:2.24.0-2) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.24.1.txt).
+    * Addresses the security issues CVE-2019-1348, CVE-2019-1349,
+      CVE-2019-1350, CVE-2019-1351, CVE-2019-1352, CVE-2019-1353,
+      CVE-2019-1354, and CVE-2019-1387.
+
+      Credit for finding these vulnerabilities goes to Microsoft
+      Security Response Center, in particular to Nicolas Joly. Fixes
+      were provided by Jeff King and Johannes Schindelin with help
+      from Garima Singh.
+
+    * Addresses CVE-2019-19604, arbitrary code execution via the
+      "update" field in .gitmodules.
+
+      Credit for finding this vulnerability goes to Joern
+      Schneeweisz from GitLab.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 Dec 2019 06:20:25 +0000
+
+git (1:2.24.0+next.20191202-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8f36a354.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 03 Dec 2019 18:34:14 -0800
+
+git (1:2.24.0+next.20191125-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 34dc348e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Nov 2019 11:22:41 -0800
+
+git (1:2.24.0+next.20191121-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a6e4e5af.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 22 Nov 2019 13:55:19 -0800
+
+git (1:2.24.0+next.20191110-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 50b2267a.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Nov 2019 08:34:37 -0800
+
+git (1:2.24.0+next.20191104-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 9d3f5f5b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 03 Nov 2019 22:19:25 -0800
+
+git (1:2.24.0-1) unstable; urgency=medium
+
+  * new upstream release (see RelNotes/2.24.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 03 Nov 2019 22:16:20 -0800
+
+git (1:2.24.0~rc2+next.20191030-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 50e10028.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 30 Oct 2019 13:52:46 -0700
+
+git (1:2.24.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 30 Oct 2019 12:52:19 -0700
+
+git (1:2.24.0~rc1+next.20191024-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit b1bccd3e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 24 Oct 2019 16:24:11 -0700
+
+git (1:2.24.0~rc1-1) unstable; urgency=medium
+
+  * new upstream release candidate.
+    * test-tool: read --total as an int, not uint64 (thx John Paul Adrian
+      Glaubitz; closes: #942674)
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 24 Oct 2019 15:44:01 -0700
+
+git (1:2.24.0~rc0+next.20191018-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 954a8626.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Oct 2019 15:18:12 -0700
+
+git (1:2.24.0~rc0-1) unstable; urgency=medium
+
+  * new upstream release candidate (see RelNotes/2.24.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Oct 2019 15:15:37 -0700
+
+git (1:2.23.0+next.20191011-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b869b98d.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 11 Oct 2019 10:51:22 -0700
+
+git (1:2.23.0+next.20191004-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 56cf767b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 04 Oct 2019 09:45:50 -0700
+
+git (1:2.23.0+next.20190930-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 78d2f28e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 30 Sep 2019 10:12:37 -0700
+
+git (1:2.23.0+next.20190918-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 18eeb5a2.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 20 Sep 2019 13:48:25 -0700
+
+git (1:2.23.0+next.20190917-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b967887a.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 17 Sep 2019 15:37:52 -0700
+
+git (1:2.23.0+next.20190909-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c4317032.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 13 Sep 2019 07:41:40 -0700
+
+git (1:2.23.0+next.20190907-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c6a4ce50.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 Sep 2019 11:31:44 -0700
+
+git (1:2.23.0+next.20190826-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0b9fbb37.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Aug 2019 23:49:46 -0700
+
+git (1:2.23.0+next.20190816-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 17f5b755.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 18 Aug 2019 17:13:15 -0700
+
+git (1:2.23.0-1) unstable; urgency=medium
+
+  * new upstream release (see RelNotes/2.23.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 18 Aug 2019 16:58:15 -0700
+
+git (1:2.23.0~rc1+next.20190807-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bd704faa.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 07 Aug 2019 22:50:27 -0700
+
+git (1:2.23.0~rc1+next.20190802-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit deed8033.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 02 Aug 2019 17:25:50 -0700
+
+git (1:2.23.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+    * tests: sort output of hashmap iteration (closes: #933519)
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 02 Aug 2019 17:21:22 -0700
+
+git (1:2.23.0~rc0+next.20190729-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 4dedae46.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Jul 2019 17:11:14 -0700
+
+git (1:2.23.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.23.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Jul 2019 17:07:53 -0700
+
+git (1:2.22.0+next.20190725-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0f2c4a37.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Jul 2019 10:32:07 -0700
+
+git (1:2.22.0+next.20190719-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 10230214.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 Jul 2019 10:24:26 -0700
+
+git (1:2.22.0+next.20190715-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 960e92d2.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 Jul 2019 17:12:38 -0700
+
+git (1:2.22.0+next.20190703-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 264f2c81.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 Jul 2019 11:05:50 -0700
+
+git (1:2.22.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.21.0.txt, RelNotes/2.22.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 Jul 2019 10:50:51 -0700
+
+git (1:2.22.0+next.20190701-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f4b79421.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 Jul 2019 15:42:19 -0700
+
+git (1:2.22.0+next.20190617-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 172b71a6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 19 Jun 2019 16:08:43 -0700
+
+git (1:2.22.0+next.20190607-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit d8fdbe21.
+  * new upstream release (see RelNotes/2.22.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Jun 2019 09:25:22 -0700
+
+git (1:2.22.0~rc3+next.20190603-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 20b46463.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 04 Jun 2019 11:43:14 -0700
+
+git (1:2.22.0~rc2+next.20190530-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f4fbbf30.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 03 Jun 2019 11:26:48 -0700
+
+git (1:2.22.0~rc1+next.20190529-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5d7573a1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 29 May 2019 13:58:03 -0700
+
+git (1:2.22.0~rc1+next.20190519-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3120a182.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 May 2019 11:51:24 -0700
+
+git (1:2.22.0~rc0+next.20190513-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e745c3d2.
+  * new upstream release candidate (see RelNotes/2.22.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 May 2019 10:49:50 -0700
+
+git (1:2.21.0+next.20190425-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f2820cf0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 25 Apr 2019 16:10:28 -0700
+
+git (1:2.21.0+next.20190422-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bc5ef9b4.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 24 Apr 2019 19:19:32 -0700
+
+git (1:2.21.0+next.20190410-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 511ec345.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 10 Apr 2019 08:03:32 -0700
+
+git (1:2.21.0+next.20190320-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f8f67871.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 20 Mar 2019 14:07:40 -0700
+
+git (1:2.21.0+next.20190311-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 810b269d.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Mar 2019 11:46:45 -0700
+
+git (1:2.21.0+next.20190305-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 471c308f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 05 Mar 2019 11:20:56 -0800
+
+git (1:2.21.0+next.20190224-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f09ad664.
+  * new upstream release (see RelNotes/2.21.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Feb 2019 13:02:40 -0800
+
+git (1:2.21.0~rc2+next.20190219-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a7da99ff.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 21 Feb 2019 11:32:14 -0800
+
+git (1:2.21.0~rc0+next.20190208-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 878e2cd3.
+  * new upstream release candidate (see RelNotes/2.21.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Feb 2019 09:00:03 -0800
+
+git (1:2.20.1+next.20190205-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b4d0f1c6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 06 Feb 2019 10:31:47 -0800
+
+git (1:2.20.1+next.20190129-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fbb209ba.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 29 Jan 2019 14:41:58 -0800
+
+git (1:2.20.1+next.20190118-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit aa96b0ce.
+  * debian/control: specify branch in Vcs-Git field.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 21 Jan 2019 22:36:12 -0800
+
+git (1:2.20.1-2) unstable; urgency=low
+
+  * package git-gui: actually Suggests: meld for mergetool support;
+    describe what meld is used for in package description (thx Jens
+    Reyer; closes: #707790).
+  * package gitweb: Depends: libhttp-date-perl | libtime-parsedate-perl
+    instead of ... | libtime-modules-perl (thx gregor herrmann; closes:
+    #879165).
+  * debian/control: use https in Vcs-Browser URL.
+  * debian/rules: build and test quietly if DEB_BUILD_OPTIONS=terse.
+  * debian/control: Standards-Version: 4.3.0.1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 21 Jan 2019 22:32:28 -0800
+
+git (1:2.20.1+next.20190110-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 9e740568.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Jan 2019 11:09:39 -0800
+
+git (1:2.20.1+next.20190104-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit d81d796e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 07 Jan 2019 10:19:58 -0800
+
+git (1:2.20.1+next.20181228-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 81188d93.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 02 Jan 2019 11:09:53 -0800
+
+git (1:2.20.1+next.20181215-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 653613c7.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 16 Dec 2018 16:56:12 -0800
+
+git (1:2.20.1-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.20.1.txt).
+  * package git-gui: Suggests: meld for mergetool support (thx Jens
+    Reyer; closes: #707790).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 16 Dec 2018 16:53:30 -0800
+
+git (1:2.20.0+next.20181209-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit bc1bbc6f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Dec 2018 11:13:11 -0800
+
+git (1:2.20.0-1) unstable; urgency=medium
+
+  * new upstream release (see RelNotes/2.20.0.txt).
+  * package git: Recommends: ca-certificates for https support (thx HJ;
+    closes: #915644).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Dec 2018 11:07:26 -0800
+
+git (1:2.20.0~rc2+next.20181201-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit dbc3b298.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 02 Dec 2018 12:16:37 -0800
+
+git (1:2.20.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+    * rebase: specify 'rebase -i' in reflog for interactive rebase
+      (closes: #914695).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 02 Dec 2018 12:11:19 -0800
+
+git (1:2.20.0~rc1+next.20181124-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit f8505762.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 25 Nov 2018 11:51:58 -0800
+
+git (1:2.20.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.20.0.txt).
+  * debian/rules: target clean: don't remove t/t4256/1/mailinfo.c.orig.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 25 Nov 2018 11:47:53 -0800
+
+git (1:2.20.0~rc1+next.20181121-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+  * new snapshot, taken from upstream commit 1dd7ef35.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 22 Nov 2018 14:56:40 -0800
+
+git (1:2.19.2-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.19.2.txt).
+    * run-command: do not fall back to cwd when command is not in $PATH.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 22 Nov 2018 14:48:49 -0800
+
+git (1:2.20.0~rc0+next.20181119-1) experimental; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.20.0.txt).
+  * new snapshot, taken from upstream commit c7a69e6b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Nov 2018 10:38:44 -0800
+
+git (1:2.19.1+next.20181107-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8438c0b2.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Nov 2018 16:55:39 -0800
+
+git (1:2.19.1+next.20181105-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4ecb1133.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Nov 2018 10:41:19 -0800
+
+git (1:2.19.1+next.20181029-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4563a0d9.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Oct 2018 14:59:57 -0700
+
+git (1:2.19.1+next.20181026-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0250525e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 26 Oct 2018 11:58:28 -0700
+
+git (1:2.19.1+next.20181019-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 500967bb.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 Oct 2018 10:47:18 -0700
+
+git (1:2.19.1+next.20181018-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f89fd5e6.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 18 Oct 2018 09:54:16 -0700
+
+git (1:2.19.1+next.20181012-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 152ad8e3.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 12 Oct 2018 15:45:50 -0700
+
+git (1:2.19.1+next.20181009-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f3a00b50.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 Oct 2018 16:14:34 -0700
+
+git (1:2.19.1+next.20181005-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit e82ca0e5.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 05 Oct 2018 10:17:54 -0700
+
+git (1:2.19.1-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.19.1.txt,
+    CVE-2018-17456).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 05 Oct 2018 10:10:45 -0700
+
+git (1:2.19.0+next.20180924-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 76f2f5c1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 Oct 2018 15:45:31 -0700
+
+git (1:2.19.0+next.20180921-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 01d371f7.
+  * debian/patches/0002-Revert-doc-Makefile-drop-doc-diff-...diff:
+    remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 24 Sep 2018 09:10:54 -0700
+
+git (1:2.19.0+next.20180914-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 18242da7.
+  * debian/patches/0002-Revert-doc-Makefile-drop-doc-diff-...diff:
+    new; remove unnecessary doc-diff --clean step in "make clean"
+    that requires git to already be installed.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 17 Sep 2018 11:35:59 -0700
+
+git (1:2.19.0+next.20180910-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dd90340f.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Sep 2018 13:39:24 -0700
+
+git (1:2.19.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.19.0.txt).
+  * debian/patches/0001-*, 0002-*: remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Sep 2018 13:33:45 -0700
+
+git (1:2.19.0~rc2+next.20180907-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit dfd0a480.
+  * debian/patches:
+    * 0001-http-backend-allow-empty-CONTENT_LENGTH: remove; applied
+      upstream.
+    * 0002-Revert-Merge-branch-sb-submodule-core-worktree.diff:
+      remove; fixed upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 09 Sep 2018 21:37:19 -0700
+
+git (1:2.19.0~rc2-2) unstable; urgency=low
+
+  * debian/patches:
+    * 0001-http-backend-allow-empty-CONTENT_LENGTH: new from
+      upstream: http-backend: treat empty CONTENT_LENGTH as absent
+      (closes: #907587).
+    * 0002-Revert-Merge-branch-sb-submodule-core-worktree.diff: new
+      from upstream: stop setting and unsetting core.worktree in
+      submodules, since the code to do so does not handle submodules
+      with an embedded .git directory (thx Allan Sandfeld Jensen).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 09 Sep 2018 19:08:55 -0700
+
+git (1:2.19.0~rc2+next.20180904-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5ba43deb.
+  * debian/rules: target clean: don't remove t/t4256/1/mailinfo.c.orig.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 04 Sep 2018 16:47:38 -0700
+
+git (1:2.19.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 04 Sep 2018 15:47:54 -0700
+
+git (1:2.19.0~rc1+next.20180828-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e57e33db.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Aug 2018 13:52:49 -0700
+
+git (1:2.19.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.19.0.txt).
+  * debian/control: Standards-Version: 4.1.5.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Aug 2018 13:48:50 -0700
+
+git (1:2.19.0~rc0+next.20180820-1) experimental; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.19.0.txt).
+  * new snapshot, taken from upstream commit 281dcd1b.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Aug 2018 18:27:45 -0700
+
+git (1:2.18.0+next.20180815-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a543ac7c.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 15 Aug 2018 18:13:11 -0700
+
+git (1:2.18.0+next.20180808-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ffc8e1a3.
+  * debian/patches/0002-subtree-test-*.diff, 0003-subtree-test-*.diff:
+    remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 09 Aug 2018 16:20:15 -0700
+
+git (1:2.18.0+next.20180724-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a71716f1.
+  * debian/patches/0002-subtree-test-add-missing-to-chain.diff,
+    0003-subtree-test-simplify-preparation-of-expected-results.diff:
+    new from upstream: correct "git subtree" tests to pass with the
+    new es/chain-lint-in-subshell checks.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 30 Jul 2018 12:25:28 -0700
+
+git (1:2.18.0+next.20180718-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5c9ce644.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Jul 2018 14:05:57 -0700
+
+git (1:2.18.0+next.20180711-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 985f88cf.
+  * debian/control: Standards-Version: 4.1.5.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Jul 2018 12:34:37 -0700
+
+git (1:2.18.0+next.20180629-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fac676df.
+  * debian/control: Standards-Version: 4.1.4.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Jul 2018 14:02:30 -0700
+
+git (1:2.18.0+next.20180622-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ad0ab374.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Jun 2018 12:54:30 -0700
+
+git (1:2.18.0+next.20180621-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3de2645b.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 21 Jun 2018 15:52:22 -0700
+
+git (1:2.18.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.18.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 21 Jun 2018 15:25:50 -0700
+
+git (1:2.18.0~rc2+next.20180619-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit d175cea4.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 20 Jun 2018 13:55:34 -0700
+
+git (1:2.18.0~rc2-2) unstable; urgency=low
+
+  * debian/control: Breaks: dgit (<< 5.1~) that lacks support
+    for working-tree-encoding attribute (thx Ian Jackson;
+    closes: #901897).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 20 Jun 2018 10:22:51 -0700
+
+git (1:2.18.0~rc2+next.20180614-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 013aa691.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Jun 2018 09:28:50 -0700
+
+git (1:2.18.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * debian/README.emacs: describe removed emacs support.
+  * debian/control: package git-el: describe transitional
+    modules; Recommends: elpa-magit.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Jun 2018 09:19:59 -0700
+
+git (1:2.18.0~rc1+next.20180611-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cf134e62.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Jun 2018 12:49:49 -0700
+
+git (1:2.18.0~rc1+next.20180604-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 61856ae6.
+  * new upstream release candidate (see RelNotes/2.18.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 04 Jun 2018 11:22:42 -0700
+
+git (1:2.17.1+next.20180529-1) experimental; urgency=high
+
+  * new snapshot, taken from upstream commit 55be9478.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 29 May 2018 10:32:30 -0700
+
+git (1:2.17.1-1) unstable; urgency=high
+
+  * new upstream point release to fix CVE-2018-11235, arbitary code
+    execution via submodule names in .gitmodules (see RelNotes/2.17.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 28 May 2018 17:37:54 -0700
+
+git (1:2.17.0+next.20180522-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f22659ad.
+  * debian/README.emacs: describe removed emacs support.
+  * debian/control: package git-el: describe transitional
+    modules; Recommends: elpa-magit.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 22 May 2018 15:23:21 -0700
+
+git (1:2.17.0+next.20180420-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b46fe60e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Apr 2018 11:45:03 -0700
+
+git (1:2.17.0+next.20180411-1) experimental; urgency=medium
+
+  * new snapshot, taken from upstream commit ded63e76.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 11 Apr 2018 10:12:19 -0700
+
+git (1:2.17.0+next.20180402-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0c872631.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Apr 2018 13:00:14 -0700
+
+git (1:2.17.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.17.0.txt).
+  * debian/rules: add NO_USE_CPAN_FALLBACKS=1 to OPTS to avoid
+    installing bundled copies of perl modules.
+  * debian/control: Build-Depends: libmailtools-perl, liberror-perl;
+    git-email: Depends: libmailtools-perl for Mail::Address.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Apr 2018 12:58:14 -0700
+
+git (1:2.17.0~rc1+next.20180323-2) experimental; urgency=low
+
+  * debian/patches: add back emacs modules that were removed from
+    contrib/emacs.
+  * add back git-el package to buy time to figure out a better
+    migration path (thx Ami Fischman; see #893734).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 27 Mar 2018 10:16:19 -0700
+
+git (1:2.17.0~rc1+next.20180323-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ba9d0f25.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Mar 2018 10:16:42 -0700
+
+git (1:2.17.0~rc1+next.20180322-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4a561d2c.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Mar 2018 10:00:08 -0700
+
+git (1:2.16.3-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.16.3.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Mar 2018 09:56:37 -0700
+
+git (1:2.17~rc0+next.20180315-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 781580f0.
+  * remove the git-el package since better alternatives exist
+    (vc-annotate, vc-git, and magit) and the Git-provided Emacs lisp
+    modules have been removed upstream.
+  * README.emacs: describe alternatives to Git-provided elisp modules.
+  * debian/control: git: Breaks: git-el to ensure it is cleaned up on
+    upgrade; git: Suggests: elpa-magit.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Mar 2018 15:47:24 -0700
+
+git (1:2.16.2+next.20180309-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 6dcf76e1.
+  * debian/rules: add NO_USE_CPAN_FALLBACKS=1 to OPTS to avoid
+    installing bundled copies of perl modules.
+  * debian/control: Build-Depends: libmailtools-perl, liberror-perl.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Mar 2018 12:18:28 -0700
+
+git (1:2.16.2+next.20180302-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 70988797.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Mar 2018 11:07:50 -0800
+
+git (1:2.16.2+next.20180221-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2e18187d.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Feb 2018 14:27:27 -0800
+
+git (1:2.16.2-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.16.2.txt).
+  * debian/control: correct spelling of openssh-client in Breaks
+    relation.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Feb 2018 13:53:02 -0800
+
+git (1:2.16.1+next.20180209-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4437f3f1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Feb 2018 11:37:35 -0800
+
+git (1:2.16.1+next.20180123-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit de0f0111.
+  * merge branch debian-sid.
+  * debian/rules: stop installing bundled copy of CPAN Error and
+    Mail::Address perl modules.
+  * debian/control: git-email: Depends: libmailtools-perl for
+    Mail::Address.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Feb 2018 22:12:43 -0800
+
+git (1:2.16.1-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.16.txt, RelNotes/2.16.1.txt).
+  * debian/control: Breaks: openssh-client (<< 1:6.8) since the latter
+    lacks support for the "-G" option (thx Bryan Turner; see
+    https://crbug.com/git/7).
+  * debian/patches/git-gui-Sort-entries-in-optimized-tclIndex.diff:
+    remove; applied upstream.
+  * debian/rules: do not install contrib/**/.gitattributes to
+    /usr/share/doc (thx Paul Wise and Bastien Roucaries for suggesting
+    it through lintian).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Feb 2018 12:27:37 -0800
+
+git (1:2.16.1+next.20180121-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 94e5d3ea.
+  * new upstream release (see RelNotes/2.16.0.txt).
+  * new upstream point release (see RelNotes/2.16.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 Jan 2018 07:18:22 -0800
+
+git (1:2.16.0~rc2+next.20180112-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 09355b53.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 16 Jan 2018 14:20:45 -0800
+
+git (1:2.16.0~rc1+next.20180105-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 530d649a.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 Jan 2018 12:35:37 -0800
+
+git (1:2.16.0~rc0+next.20171228-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4a4ac836.
+  * new upstream release candidate (see RelNotes/2.16.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 02 Jan 2018 14:23:08 -0800
+
+git (1:2.15.1+next.20171219-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cfbfd45e.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 22 Dec 2017 17:37:37 -0800
+
+git (1:2.15.1-3) unstable; urgency=low
+
+  * debian/rules: remove remnants of git-core package that prevented
+    building twice in a row (thx Andreas Beckmann; closes: #884890).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 22 Dec 2017 17:13:42 -0800
+
+git (1:2.15.1+next.20171214-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b9897f46.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Dec 2017 10:21:55 -0800
+
+git (1:2.15.1+next.20171208-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5279b801.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Dec 2017 10:23:09 -0800
+
+git (1:2.15.1+next.20171128-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 9478a660.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 29 Nov 2017 13:56:17 -0800
+
+git (1:2.15.1-2) unstable; urgency=low
+
+  * gitweb: Recommends: 'apache2 (>= 2.4.6-4~) | lynx | httpd' instead
+    of ... | lynx-cur | ... (thx Łukasz Zemczak; see #490265).
+  * debian/control: Standards-Version: 4.1.2.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Dec 2017 09:45:31 -0800
+
+git (1:2.15.1-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.15.1.txt).
+  * debian/control: Build-Depends-Indep: asciidoc (>= 8.6.10).
+  * debian/control: Standards-Version: 4.1.1.1.
+  * debian/patches:
+    * Normalize-generated-asciidoc-timestamps-...diff: remove; no
+      longer needed (thx Anders Kaseorg; see #782294).
+    * git-gui-Sort-entries-in-optimized-tclIndex.diff: update to
+      upstream version.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 29 Nov 2017 13:49:38 -0800
+
+git (1:2.15.0+next.20171127-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2ccb3012.
+  * debian/patches/0002-Documentation-allow-overriding-...diff: remove;
+    no longer needed (thx Anders Kaseorg; see #782294).
+  * debian/control: Build-Depends-Indep: asciidoc (>= 8.6.10).
+  * debian/patches/0003-git-gui-sort-entries-in-optimized-tclIndex.diff:
+    remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Nov 2017 15:54:15 -0800
+
+git (1:2.15.0+next.20171121-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 466bffb3.
+  * debian/patches: update Normalize-generated-asciidoc-...diff,
+    git-gui-Sort-entries-in-optimized-tclIndex.diff to the latest
+    versions from upstream.
+  * debian/control: Standards-Version: 4.1.0.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 21 Nov 2017 16:17:21 -0800
+
+git (1:2.15.0+next.20171120-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 77a2e0dd.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Nov 2017 16:28:14 -0800
+
+git (1:2.15.0+next.20171113-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0d8980c5.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 Nov 2017 10:46:00 -0800
+
+git (1:2.15.0+next.20171106-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f294e3d9.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 06 Nov 2017 10:55:54 -0800
+
+git (1:2.15.0+next.20171030-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c27cc4da.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 30 Oct 2017 11:09:29 -0700
+
+git (1:2.15.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.15.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 30 Oct 2017 10:56:56 -0700
+
+git (1:2.15.0~rc2+next.20171023-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7e34df94.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Oct 2017 10:23:48 -0700
+
+git (1:2.15.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 23 Oct 2017 10:15:45 -0700
+
+git (1:2.15.0~rc1+next.20171016-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2b38de12.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Oct 2017 09:34:35 -0700
+
+git (1:2.15.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * remove transitional git-core package (thx Holger Levsen;
+    closes: #878189).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Oct 2017 09:29:08 -0700
+
+git (1:2.15.0~rc0+next.20171009-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 36b669ed.
+  * merge branch debian-sid.
+  * update upstream changelog.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 Oct 2017 10:16:34 -0700
+
+git (1:2.15.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.15.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 09 Oct 2017 10:13:35 -0700
+
+git (1:2.14.2+next.20171002-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cf0c6797.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 02 Oct 2017 10:31:16 -0700
+
+git (1:2.14.2+next.20170926-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 60be5d43.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 26 Sep 2017 11:24:06 -0700
+
+git (1:2.14.2-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.14.1.txt).  Among other
+    changes, this fixes a remote shell command execution vulnerability
+    via CVS protocol:
+    - git-shell: drop cvsserver support by default
+    - git-cvsserver: harden backtick captures against user input
+
+  Thanks to joernchen of Phenoelit for discovering, reporting, and
+  fixing this vulnerability, and to Junio C Hamano and Jeff King for
+  the fixes to related issues.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Sep 2017 18:23:18 -0700
+
+git (1:2.14.1+next.20170925-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2c7b836f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 25 Sep 2017 13:09:10 -0700
+
+git (1:2.14.1+next.20170914-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 8fa685d3.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Sep 2017 10:51:50 -0700
+
+git (1:2.14.1+next.20170910-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit bb119729.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Sep 2017 10:19:08 -0700
+
+git (1:2.14.1+next.20170826-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f28d3303.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 28 Aug 2017 10:18:34 -0700
+
+git (1:2.14.1-3) unstable; urgency=low
+
+  * git.README.Debian: remove obsolete instructions about setting up a
+    server to handle rsync:// protocol.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 28 Aug 2017 10:08:04 -0700
+
+git (1:2.14.1+next.20170811-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b18f417b.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Aug 2017 12:30:36 -0700
+
+git (1:2.14.1-2) unstable; urgency=low
+
+  * debian/control: git-daemon-sysvinit: Priority: optional.
+  * debian/control: clarify how to decide between git-daemon-run and
+    git-daemon-sysvinit in package descriptions.
+  * debian/control: Standards-Version: 4.0.1.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 14 Aug 2017 12:14:32 -0700
+
+git (1:2.14.1-1) unstable; urgency=high
+
+  * new upstream point release to fix CVE-2017-1000117, arbitrary
+    code execution issues via URLs (see RelNotes/2.14.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 10 Aug 2017 09:16:20 -0700
+
+git (1:2.14.0+next.20170804-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 98096fd7.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 07 Aug 2017 11:36:48 -0700
+
+git (1:2.14.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.14.0.txt).
+  * debian/patches/0001-pre-rebase-hook-capture-documentation-...diff:
+    remove; applied upstream.
+  * build against PCRE v2 if available at build time (thx to Ævar
+    Arnfjörð Bjarmason for the suggestion).  Build-Depends:
+    libpcre2-dev | libpcre3-dev.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 07 Aug 2017 11:31:25 -0700
+
+git (1:2.14.0~rc1+next.20170727-1) experimental; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.14.0.txt).
+  * new snapshot, taken from upstream commit d1ce394f.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 Jul 2017 09:04:45 -0700
+
+git (1:2.14.0~rc0+next.20170721-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 1c36432d.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 24 Jul 2017 10:44:03 -0700
+
+git (1:2.14.0~rc0+next.20170713-1) experimental; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.14.0.txt).
+  * new snapshot, taken from upstream commit d933b75a.
+  * debian/patches/0001-pre-rebase-hook-capture...diff: remove;
+    applied upstream.
+  * merge branch debian-sid.
+  * debian/.gitattributes: debian/changelog can be treated as a
+    dpkg-format changelog file during merges.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 17 Jul 2017 12:21:36 -0700
+
+git (1:2.13.3-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.13.3.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 17 Jul 2017 12:16:44 -0700
+
+git (1:2.13.2+next.20170709-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7449e964.
+  * correct date in previous changelog entry.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Jul 2017 10:32:11 -0700
+
+git (1:2.13.2+next.20170630-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 7f5404b1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 30 Jun 2017 16:20:43 -0700
+
+git (1:2.13.2-3) unstable; urgency=low
+
+  * remove git-arch package.  It depended on GNU Arch, which has not
+    been maintained upstream for more than 10 years (thx Adrian
+    Bunk; closes: #866059).
+  * debian/rules: do not allow flaky git-svn tests t9128.4 or t9167.3
+    to cause the build to fail, either (closes: #865789).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 30 Jun 2017 16:11:06 -0700
+
+git (1:2.13.2+next.20170626-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new snapshot, taken from upstream commit 09c95d1e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Jun 2017 15:25:13 -0700
+
+git (1:2.13.2-2) unstable; urgency=low
+
+  * git-email: use perl in dependency instead of perl-modules (thx
+    Damyan Ivanov for suggesting it through lintian).
+  * debian/rules: do not allow flaky git-svn test t9128.3 to cause
+    the build to fail (closes: #865789).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Jun 2017 15:17:48 -0700
+
+git (1:2.13.2+next.20170624-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dfeb3b87.
+  * merge branch debian-sid.
+  * always build against PCRE v2 if libpcre2-dev is installed at
+    build time instead of using build profiles to decide.  No longer
+    Build-Depends: dpkg-dev (>= 1.17.14) or debhelper (>=
+    9.20141010).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Jun 2017 12:20:13 -0700
+
+git (1:2.13.2-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.13.2.txt).
+  * git-email: Depends: perl-modules (>> 5.21.5) | libnet-smtp-ssl-perl
+    for starttls support instead of unconditionally requiring
+    Net::SMTP::SSL (thx Dennis Kaarsemaker).
+  * debian/rules: skip HTML documentation generation when
+    DEB_BUILD_OPTIONS=nodoc.
+  * debian/copyright: use https form of Format URL.
+  * debian/control: Standards-Version: 4.0.0.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 26 Jun 2017 11:47:14 -0700
+
+git (1:2.13.1+next.20170621-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit de00cce3.
+  * merge branch debian-sid.
+  * build against PCRE v2 (thx to Ævar Arnfjörð Bjarmason for the
+    suggestion).  The package can be built with "dpkg-buildpackage
+    -Ppcre1" to use v1 again.  Build-Depends: dpkg-dev (>= 1.17.14),
+    debhelper (>= 9.20141010).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 21 Jun 2017 16:24:14 -0700
+
+git (1:2.13.1-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.12.0.txt, RelNotes/2.13.0.txt).
+  * debian/patches/xdiff-Do-not-enable-XDF_FAST_HASH-by-default.diff,
+    shell-disallow-repo-names-beginning-with-dash.patch: remove; applied
+    upstream.
+  * update debian/copyright
+  * debian/rules: run tests once and always produce verbose output.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 21 Jun 2017 15:42:17 -0700
+
+git (1:2.13.1+next.20170615-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7e3b11ae.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Jun 2017 10:20:50 -0700
+
+git (1:2.13.1+next.20170610-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3df88200.
+  * update upstream changelog.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Jun 2017 11:48:46 -0700
+
+git (1:2.13.1+next.20170605-1) experimental; urgency=low
+
+  * new upstream point release (see RelNotes/2.13.1.txt).
+  * new snapshot, taken from upstream commit b3defc5c.
+  * debian/patches/send-email-Net-SMTP-...diff: remove; applied
+    upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Jun 2017 09:13:22 -0700
+
+git (1:2.13.0+next.20170530-2) experimental; urgency=low
+
+  * debian/patches/send-email-Net-SMTP-...diff: new; git send-email:
+    do not use Net::SMTP for starttls unless the module is new enough
+    to support it.  Otherwise "git send-email" fails with "Can't
+    locate object method "starttls"" when run with Perl versions
+    before v5.21.5 (thx Eric Biggers).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 31 May 2017 17:33:17 -0700
+
+git (1:2.13.0+next.20170530-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 27d5fe0c.
+  * debian/patches/0005-t5550-use-write_script-to-generate...diff,
+    ..., 0018-usage.c-drop-set_error_handle.diff: remove; applied
+    upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 30 May 2017 14:33:58 -0700
+
+git (1:2.13.0+next.20170520-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit db65acc8.
+  * debian/patches: apply bw/forking-and-threading series
+    from upstream to avoid a deadlock when using alternative
+    malloc implementations (thx Brandon Williams).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 May 2017 11:24:16 -0700
+
+git (1:2.13.0+next.20170509-1) experimental; urgency=low
+
+  * new upstream release (see RelNotes/2.13.0.txt).
+  * debian/patches/shell-disallow-repo-names-beginning-with-dash.patch:
+    remove; applied upstream.
+  * new snapshot, taken from upstream commit 4ebf3021.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 May 2017 12:29:07 -0700
+
+git (1:2.11.0-4) unstable; urgency=low
+
+  [ Alan Jenkins ]
+  * git: remove Recommends: rsync (closes #862435).
+  * git-arch: Depends: rsync.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 15 May 2017 12:13:38 -0700
+
+git (1:2.13.0~rc2+next.20170508-2) experimental; urgency=high
+
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 May 2017 16:38:03 -0700
+
+git (1:2.11.0-3) unstable; urgency=high
+
+  * Do not allow git helpers run via git-shell to launch a pager
+    (CVE-2017-8386).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 09 May 2017 16:23:17 -0700
+
+git (1:2.13.0~rc2+next.20170508-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * new snapshot, taken from upstream commit 57267f22.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 May 2017 11:07:45 -0700
+
+git (1:2.13.0~rc1+next.20170430-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * new snapshot, taken from upstream commit 07d810a7.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 May 2017 11:33:03 -0700
+
+git (1:2.13.0~rc0+next.20170423-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * new snapshot, taken from upstream commit 87b47781.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 24 Apr 2017 09:40:50 -0700
+
+git (1:2.12.2+next.20170416-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 2cccc811.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 17 Apr 2017 15:40:22 -0700
+
+git (1:2.12.2+next.20170411-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0e3151a2.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 11 Apr 2017 16:09:45 -0700
+
+git (1:2.12.2+next.20170330-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7642488e.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 03 Apr 2017 11:42:30 -0700
+
+git (1:2.12.2+next.20170324-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 063fe858.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Mar 2017 10:07:46 -0700
+
+git (1:2.12.1+next.20170322-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit e9c3154c.
+  * debian/patches/0005-connect_work_tree_and_git_dir-...diff, ...,
+    0023-builtin-read-tree-add-recurse-submodules-switch.diff: remove;
+    applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 22 Mar 2017 18:55:20 -0700
+
+git (1:2.12.1+next.20170320-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ab5fba24.
+  * update debian/copyright.
+  * debian/patches: update sb/checkout-recurse-submodules series
+    from upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 20 Mar 2017 15:59:22 -0700
+
+git (1:2.12.0+next.20170312-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 23dc2f6d.
+  * debian/patches: update sb/checkout-recurse-submodules series
+    from upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 13 Mar 2017 17:29:07 -0700
+
+git (1:2.12.0+next.20170303-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a2ecc848 (closes: #857008).
+  * debian/patches: update sb/checkout-recurse-submodules series
+    from upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 07 Mar 2017 15:15:18 -0800
+
+git (1:2.12.0~rc1+next.20170216-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 5b76565f.
+  * update debian/copyright.
+  * debian/patches/0010-remote-helpers-avoid-blind-fall-back-...diff:
+    remove; applied upstream.
+  * debian/patches/0003-submodule-prepare-for-recursive-...diff, ...,
+    0007-Teach-checkout-to-recursively-checkout-submodules.diff:
+    replace with the upstream sb/checkout-recurse-submodules series.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 17 Feb 2017 14:47:45 -0800
+
+git (1:2.11.0+next.20170110-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 087da7b7.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 11 Jan 2017 23:04:53 -0800
+
+git (1:2.11.0+next.20161227-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c69c2f50.
+  * debian/patches/0010-remote-helpers-avoid-blind-fall-back-...diff:
+    new from upstream: allow "git ls-remote" and "archive --remote"
+    to run outside of any git repository again (closes: #849681).
+  * debian/rules: run tests once and always produce verbose output.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 29 Dec 2016 16:38:07 -0800
+
+git (1:2.11.0+next.20161222-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 1ede815b.
+  * debian/patches/xdiff-Do-not-enable-XDL_FAST_HASH-by-default.diff:
+    remove; fixed upstream.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 27 Dec 2016 15:31:55 -0800
+
+git (1:2.11.0-2) unstable; urgency=medium
+
+  * gitweb: Depends: libcgi-pm-perl; Build-Depends: libcgi-pm-perl
+    (thx Mikko Rasa; closes: #847961).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 27 Dec 2016 15:17:12 -0800
+
+git (1:2.11.0+next.20161205-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit fb549caa.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Dec 2016 14:01:07 -0800
+
+git (1:2.11.0-1) unstable; urgency=medium
+
+  * New upstream release (see RelNotes/2.11.0.txt).
+  * debian/patches/git-sh-setup-Restore-sourcability-from-outside-script.diff:
+    remove; applied upstream.
+  * Replace
+    debian/patches/Documentation-omit-asciidoc-footer-on-generated-input.diff
+    with the more upstreamable
+    debian/patches/Normalize-generated-asciidoc-timestamps-with-SOURCE_D.diff.
+  * debian/patches/git-gui-Sort-entries-in-optimized-tclIndex.diff,
+    debian/patches/xdiff-Do-not-enable-XDL_FAST_HASH-by-default.diff:
+    Further improvements to build reproducibility.
+
+ -- Anders Kaseorg <andersk@mit.edu>  Wed, 30 Nov 2016 23:34:59 -0500
+
+git (1:2.11.0~rc1+next.20161116-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 51e66c2f.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 16 Nov 2016 14:37:11 -0800
+
+git (1:2.10.2-3) unstable; urgency=medium
+
+  * debian/rules: Split override_dh_installdocs into -arch and -indep
+    parts.  (Closes: #843393)
+
+ -- Anders Kaseorg <andersk@mit.edu>  Wed, 16 Nov 2016 16:12:02 -0500
+
+git (1:2.11.0~rc1+next.20161111-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 34139e25.
+  * merge branch debian-sid.
+  * git-sh-setup-Restore-sourcability-from-outside-script.diff:
+    remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 12 Nov 2016 15:20:11 -0800
+
+git (1:2.10.2-2) unstable; urgency=medium
+
+  * Add missing upstream changelog entries from v2.10.2.
+  * gitweb: Add version to Breaks: apache2.2-common (<< 2.3~).
+  * git-mediawiki: Shorten description.
+  * Link extra license files to common-licenses.
+  * Invoke dpkg-maintscript-helper dir_to_symlink correctly.
+    (Closes: #843011)
+  * debian/patches/Documentation-omit-asciidoc-footer-on-generated-input.diff:
+    Omit the “last updated” footer when processing asciidoc inputs that
+    are generated at build time.  (Closes: #813912)
+
+ -- Anders Kaseorg <andersk@mit.edu>  Sat, 05 Nov 2016 07:20:14 -0400
+
+git (1:2.10.2-1) unstable; urgency=medium
+
+  * New upstream point release (see RelNotes/2.10.2.txt).
+    - imap-send: Tell cURL to use imap:// or imaps:// (Closes: #648329)
+  * Run asciidoc in TZ=UTC to improve the reproducibility of documentation
+    footer timestamps.
+  * debian/patches/git-sh-setup-Restore-sourcability-from-outside-script.diff:
+    Restore sourcability of git-sh-setup from outside scripts.
+    (Closes: #842477)
+
+ -- Anders Kaseorg <andersk@mit.edu>  Sat, 29 Oct 2016 22:44:37 -0400
+
+git (1:2.10.1-1) unstable; urgency=medium
+
+  * New upstream release (see RelNotes/2.10.0.txt, RelNotes/2.10.1.txt).
+    (Closes: #840800)
+  * debian/rules: Fix clean target to remove GIT-VERSION-FILE and
+    contrib/subtree build products.  (Closes: #834870)
+  * Fix a missing reference in /usr/share/doc-base/everyday-git.
+    (Closes: #836516)
+  * Migrate patches to 3.0 (quilt) format.  (Closes: #834566)
+  * Migrate packaging to Debhelper.  (Closes: #834886)
+  * Replace perl-modules dependency with perl.
+  * git-daemon-sysvinit: Depend lsb-base (>= 3.0-6) for
+    /lib/lsb/init-functions.
+
+ -- Anders Kaseorg <andersk@mit.edu>  Fri, 14 Oct 2016 21:47:15 -0400
+
+git (1:2.9.3-1) unstable; urgency=medium
+
+  * New upstream release (see RelNotes/2.8.2.txt, RelNotes/2.8.3.txt,
+    RelNotes/2.9.0.txt, RelNotes/2.9.1.txt, RelNotes/2.9.2.txt,
+    RelNotes/2.9.3.txt).
+
+ -- Anders Kaseorg <andersk@mit.edu>  Tue, 16 Aug 2016 16:32:47 -0400
+
+git (1:2.8.1+next.20160414-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit eae769a9.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Apr 2016 17:36:55 -0700
+
+git (1:2.8.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0003-0007-srv-be-more-tolerant-of-broken-DNS-replies.diff:
+    remove.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Apr 2016 17:23:33 -0700
+
+git (1:2.8.0~rc3+next.20160316-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 39d40208.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 16 Mar 2016 20:06:28 -0700
+
+git (1:2.8.0~rc3-1) unstable; urgency=medium
+
+  * new upstream release candidate (see RelNotes/2.8.0.txt).
+    * harden against on-stack and on-heap buffer overflows (CVE-2016-2324,
+      CVE-2016-2315; closes: #818318).
+  * debian/git.docs: update for README -> README.md renaming.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 16 Mar 2016 18:28:12 -0700
+
+git (1:2.7.0+next.20160112-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dc08a195.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 19 Jan 2016 11:09:41 -0800
+
+git (1:2.7.0-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 19 Jan 2016 11:04:08 -0800
+
+git (1:2.7.0~rc3+next.20151228-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0ac5344e.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 04 Jan 2016 12:38:25 -0800
+
+git (1:2.7.0~rc3-1) unstable; urgency=low
+
+  * new upstream release candidate (see RelNotes/2.7.0.txt).
+  * debian/control: Standards-Version: 3.9.6.0.
+  * debian/control: use HTTPS for Homepage URL.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 04 Jan 2016 12:25:50 -0800
+
+git (1:2.7.0~rc0+next.20151210-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4a846af9.
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 10 Dec 2015 16:12:36 -0800
+
+git (1:2.6.4-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.6.4.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 10 Dec 2015 16:07:19 -0800
+
+git (1:2.6.3+next.20151204-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 362d2fc2.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 08 Dec 2015 12:04:36 -0800
+
+git (1:2.6.3-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.6.3.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 08 Dec 2015 12:02:26 -0800
+
+git (1:2.6.2+next.20151022-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b049f0a3.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Oct 2015 12:03:54 -0700
+
+git (1:2.6.2-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/2.6.2.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 23 Oct 2015 11:52:44 -0700
+
+git (1:2.6.1+next.20151009-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c021fdf2.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 12 Oct 2015 12:34:00 -0700
+
+git (1:2.6.1-1) unstable; urgency=high
+
+  * new upstream point release (see RelNotes/2.6.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 Oct 2015 11:16:05 -0700
+
+git (1:2.6.0+next.20150928-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dd505504.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 29 Sep 2015 13:01:23 -0700
+
+git (1:2.6.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.6.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 29 Sep 2015 12:55:19 -0700
+
+git (1:2.6.0~rc2+next.20150917-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3dd15c02.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Sep 2015 12:56:24 -0700
+
+git (1:2.5.3-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.5.2.txt, 2.5.3.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Sep 2015 12:36:49 -0700
+
+git (1:2.6.0~rc0+next.20150902-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f624c3db.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 02 Sep 2015 16:31:01 -0700
+
+git (1:2.5.1-1) unstable; urgency=medium
+
+  * new upstream point release (see RelNotes/2.5.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 28 Aug 2015 14:27:25 -0700
+
+git (1:2.5.0+next.20150817-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ab176083.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 19 Aug 2015 14:56:07 -0700
+
+git (1:2.5.0+next.20150803-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f5e568e3.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 10 Aug 2015 11:54:26 -0700
+
+git (1:2.5.0+next.20150727-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0029c496.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Jul 2015 11:02:30 -0700
+
+git (1:2.5.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.5.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Jul 2015 10:47:13 -0700
+
+git (1:2.5.0~rc2+next.20150720-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 76e840be.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 21 Jul 2015 12:53:22 -0700
+
+git (1:2.4.6-1) unstable; urgency=medium
+
+  * new upstream release (see RelNotes/2.[234].*.txt).
+  * debian/rules: use install-html target for git-subtree docs
+    (see #768795).
+  * gitweb: Pre-Depends: dpkg 1.16.1 for -noawait support.
+  * gitweb.apache2.conf: make configuration conditional on MIME
+    support (thx Uwe Storbeck; closes: #775236).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 21 Jul 2015 12:08:09 -0700
+
+git (1:2.1.4-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Use interest-noawait triggers for gitweb to avoid a
+    trigger cycle.  (Closes: #774607)
+
+ -- Niels Thykier <niels@thykier.net>  Mon, 02 Feb 2015 19:42:37 +0100
+
+git (1:2.4.3+next.20150611-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4eafbef7.
+  * debian/diff/008-subtree-test-complete-chains.diff: new; subtree
+    test: add "&&" where appropriate to avoid clobbering early
+    failures with later successes (thx Jeff King for enforcing this
+    in test-lib.sh).
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 12 Jun 2015 16:39:11 -0700
+
+git (1:2.1.4+next.20141218-2) experimental; urgency=low
+
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 19 Dec 2014 18:41:35 -0800
+
+git (1:2.1.4-2) unstable; urgency=medium
+
+  * update gitweb configuration for Apache 2.4:
+    * apache2.conf:
+      * make configuration conditional on CGI and alias support.
+      * put explicit '+' before FollowSymLinks option.
+    * README.Debian: update with new configuration file path.
+      Mention CGI support requirement.
+    * prerm: fix typo in last line (it should be "fi", not "then").
+    * update version number in conffile handling code to handle
+      upgrades within testing.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 19 Dec 2014 17:52:50 -0800
+
+git (1:2.1.4+next.20141218-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 41e5f3a7.
+  * merge branch debian-sid.
+  * debian/diff/0009-*, 0010-*: remove; applied upstream.
+  * debian/rules: use install-html target for git-subtree docs.
+    This avoids installing git-subtree.html to the git-man
+    package, as we have done by mistake since v2.2.0-rc0
+    (closes: #768795).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 19 Dec 2014 16:28:19 -0800
+
+git (1:2.1.4-1) unstable; urgency=medium
+
+  * new upstream point release (CVE-2014-9390).
+    * checkout: tighten exit code handling on errors.
+    * avoid writing filenames to the work tree that some filesystems
+      do not distinguish from ".git".
+      * reject ".gIt" and other path components that case-fold
+        to ".git" in "git checkout", "git add", and "git fsck".
+      * new '[core] protectHFS' setting to reject path components
+        such as ".Git\u200f" that HFS+ folds to ".git" in
+        "git checkout" and "git add".  Always reject such paths
+        in "git fsck".  (U+200F is the Unicode right-to-left
+        mark.)
+      * new '[core] protectNTFS' setting to reject path components
+        such as ".Git " that NTFS folds to ".git" in "git checkout"
+        and "git add".  Always reject such paths in "git fsck".
+  * gitweb: use apache 2.4-compatible configuration (thx Jean-Michel
+    Nirgal Vourgère for advice; closes: #669292).
+    * rules, conffiles: Apache configuration goes in
+      /etc/apache2/conf-available, not conf.d.
+    * preinst, postinst, postrm: use dpkg-maintscript-helper to
+      rename the conffile and preserve local changes.
+    * postinst, prerm, postrm: use apache2-maintscript-helper if
+      present to load and unload gitweb configuration.
+    * implicit: check for debian/$pkg.triggers.
+    * triggers: re-run postinst when apache2-maintscript-helper is
+      installed.
+    * control:
+      * Pre-Depends: dpkg 1.15.8 for dpkg-maintscript-helper.
+      * Breaks: apache2.2-common because the Apache configuration
+        requires version 2.4.
+  * debian/diff/0009-git-svn-use-SVN-Ra-get_dir2-when-possible.diff:
+    new from upstream: git svn: use get_dir2 instead of get_dir when
+    possible (thx Eric Wong; works around: #767530).
+  * debian/diff/0010-gitweb-hack-around-CGI-s-list-context-...diff:
+    new from upstream: gitweb: be explicit about use of param() in list
+    context, avoiding log noiose with libcgi-pm-perl >= 4.08 and a test
+    failure in t9500-gitweb-standalone-no-errors.sh (thx Reiner
+    Herrmann; closes: #770655).
+  * correct spelling of Roland Mas's name in the 1:2.1.3-1 changelog
+    entry.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 19 Dec 2014 15:55:34 -0800
+
+git (1:2.1.3+next.20141103-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit a3a616cf.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 04 Nov 2014 13:26:52 -0800
+
+git (1:2.1.3-1) unstable; urgency=low
+
+  * new upstream point release.
+    * config --add: avoid segfault when key already has an empty value.
+    * remote-http: avoid failure due to command line length limits when
+      pushing many refs.
+    * fast-import: avoid segfault when trying to clear root tree.
+    * index-pack: reliably detect and error out when encountering
+      duplicate delta base.
+    * gc: do not prune objects only reachable from HEAD .
+    * fsck: be more consistent about exiting nonzero for corruption.
+    * am: tighten check for mbox 'From ' line.
+    * daemon: fix error message when bind() fails.
+    * mergetool: fix --output handling in meld >= 3.12 (see GNOME
+      bug 737869).
+    * gitweb: use start_form instead of startform for compatibility
+      with CGI.pm 4.04 and newer (thx Roland Mas; closes: #765525).
+    * pack-objects: do not write invalid bitmaps when hitting pack
+      size limit.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 04 Nov 2014 13:20:39 -0800
+
+git (1:2.1.1+next.20140919-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7a54a76a.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 Sep 2014 18:03:12 -0700
+
+git (1:2.1.1-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 22 Sep 2014 17:56:49 -0700
+
+git (1:2.1.0+next.20140815-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 7484e3b5.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 15 Aug 2014 16:16:14 -0700
+
+git (1:2.1.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.1.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 15 Aug 2014 16:09:26 -0700
+
+git (1:2.1.0~rc2+next.20140808-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit edb03e5a.
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 08 Aug 2014 16:40:49 -0700
+
+git (1:2.1.0~rc1+next.20140804-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit ae8bc8de.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 05 Aug 2014 14:31:29 -0700
+
+git (1:2.1.0~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 05 Aug 2014 13:59:00 -0700
+
+git (1:2.0.1+next.20140627-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit c6b07181.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 30 Jun 2014 14:46:20 -0700
+
+git (1:2.0.1-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 25 Jun 2014 15:09:25 -0700
+
+git (1:2.0.0+next.20140616-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f681aa8b.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 17 Jun 2014 16:28:45 -0700
+
+git (1:2.0.0-2) unstable; urgency=low
+
+  * debian/rules: drop obsolete THREADED_DELTA_SEARCH setting.
+  * debian/rules: add SANE_TOOL_PATH= INSTALL=install TAR=tar to
+    OPTS to fix the Dyson build (thx Игорь Пашев; closes:
+    #734097).
+  * debian/rules: remove NO_PYTHON=1 now that the git_remote_helpers
+    library has been removed.
+  * debian/rules: remove git-p4 and its documentation from the git,
+    git-man, and git-doc packages.  It depends on Perforce, which is
+    not part of Debian.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 17 Jun 2014 16:17:46 -0700
+
+git (1:2.0.0+next.20140528-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 53183364.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 29 May 2014 14:11:19 -0700
+
+git (1:2.0.0-1) unstable; urgency=low
+
+  * new upstream release (see RelNotes/2.0.0.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 28 May 2014 16:06:41 -0700
+
+git (1:2.0.0~rc4+next.20140520-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 63647d4f.
+  * merge branch debian-sid.
+  * debian/rules: remove git-p4 manpage from the git-man and
+    git-doc packages.  If a separate git-p4 package is created,
+    it should not have to conflict with git-man or git-doc.
+  * debian/rules: adjust for remote-bzr and remote-hg removal
+    from git.git.
+  * debian/control: no longer Build-Depends: bzr, python-bzrlib,
+    locales-all.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 21 May 2014 11:37:23 -0700
+
+git (1:2.0.0~rc4-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * remove source-highlight build dependency since the markup
+    requiring it was removed upstream (thx Anders Kaserog;
+    LP: #1316810).
+  * remove git-bzr package to make room for a package built from
+    https://github.com/felipec/git-remote-bzr.
+    * debian/control: remove references to git-bzr package.
+    * debian/control: remove Build-Depends: bzr, python-bzrlib.
+    * debian/rules: remove rules to build, install, and clean
+      git-remote-bzr.
+    * debian/git-doc.docs: do not install git-remote-bzr.html.
+    * debian/git-remote-bzr.txt, debian/git-bzr.postinst,
+      debian/git-bzr.prerm, debian/git-bzr.README.Debian: remove.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 21 May 2014 11:34:56 -0700
+
+git (1:2.0.0~rc2+next.20140502-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit cfa251bb.
+  * merge branch debian-sid.
+  * debian/rules:
+    * remove NO_PYTHON=1 now that the git_remote_helpers
+      library has been removed.
+    * remove git-p4 command from the git package.  It depends on
+      Perforce, which is not part of Debian.
+    * adjust for remote-bzr and remote-hg promotion from contrib.
+  * debian/control: Build-Depends: python, locales-all.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 06 May 2014 11:11:19 -0700
+
+git (1:2.0.0~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 05 May 2014 17:25:50 -0700
+
+git (1:2.0.0~rc0+next.20140422-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4f984835.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 23 Apr 2014 11:19:16 -0700
+
+git (1:2.0.0~rc0-2) unstable; urgency=low
+
+  [ Anders Kaseorg ]
+  * add source-highlight build dependency (closes: #745591).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 23 Apr 2014 11:09:25 -0700
+
+git (1:2.0.0~rc0+next.20140421-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit acc62aa9.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 22 Apr 2014 11:37:12 -0700
+
+git (1:2.0.0~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0009-contrib-subtree-unset-prefix-before-....diff:
+    remove; applied upstream.
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Apr 2014 17:01:04 -0700
+
+git (1:2.0~next.20140415-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit eaba9156.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 16 Apr 2014 15:08:36 -0700
+
+git (1:1.9.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * wt-status: subject full label string to l10n (thx Raphaël
+      Hertzog; closes: #725777).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 09 Apr 2014 15:15:18 -0700
+
+git (1:2.0~next.20140404-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3e70902d.
+  * debian/diff:
+    * 0009-contrib-subtree-unset-prefix-before-proceeding.diff:
+      remove; applied upstream.
+    * 0010...0015: rename to 0009-*, ..., 0014-*.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 07 Apr 2014 14:52:00 -0700
+
+git (1:2.0~next.20140318-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4596e3a5.
+  * merge branch debian-sid.
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 19 Mar 2014 16:31:37 -0700
+
+git (1:1.9.1-1) unstable; urgency=low
+
+  * new upstream point release.
+
+  [ Jonathan Nieder ]
+  * git-email: Recommends: libio-socket-ssl-perl (>= 1.951) since
+    earlier versions do not use OpenSSL's defaults when ca_path
+    and ca_file are unset.
+
+  [ Gilles Filippini ]
+  * install git-subtree from contrib (closes: #704652).
+  * debian/diff/0009-contrib-subtree-unset-prefix-before-proceeding.diff:
+    new; unset the 'prefix' environment variable before proceeding.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 18 Mar 2014 15:58:46 -0700
+
+git (1:2.0~next.20140214-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit dc9e3eb9.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 18 Feb 2014 08:40:28 -0800
+
+git (1:1.9.0-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 18 Feb 2014 08:31:49 -0800
+
+git (1:2.0~next.20140207-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 34970086.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 07 Feb 2014 16:21:35 -0800
+
+git (1:1.9.0~rc3-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 07 Feb 2014 15:53:52 -0800
+
+git (1:2.0~next.20140127-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 0b1dcb53.
+  * debian/diff/0015...0017: remove; applied upstream.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Jan 2014 16:29:26 -0800
+
+git (1:1.9~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Jan 2014 14:07:56 -0800
+
+git (1:2.0~next.20140123-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit f6678ce9.
+  * update debian/copyright.
+  * merge branch debian-sid.
+  * debian/diff/0015-block-sha1-factor-out-get_be-and-...diff,
+    ..., 0017-ewah-support-platforms-that-require-aligned-...diff:
+    new from upstream: pack-bitmap: avoid unaligned reads on
+    platforms that care (fixes build/selftest failures on sparc
+    and armel).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Jan 2014 13:09:48 -0800
+
+git (1:1.9~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff:
+    * 0001-remove-interpreter-line-from-shell-libraries.diff:
+      remove; applied upstream.
+    * 0002...0009: rename to 0001-*, ..., 0008-*.
+    * 0010-git-remote-mediawiki-do-not-remove-installed-...diff:
+      remove; applied upstream.
+  * debian/rules install: no more need to include DESTDIR in
+    mw-to-git INSTLIBDIR.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 27 Jan 2014 13:05:17 -0800
+
+git (1:2.0~next.20140117-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 6fd479ea.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 21 Jan 2014 12:49:20 -0800
+
+git (1:2.0~next.20140113-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b139ac25.
+  * update debian/copyright.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 16 Jan 2014 17:53:34 -0800
+
+git (1:1.8.5.3-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 16 Jan 2014 16:18:25 -0800
+
+git (1:2.0~next.20140107-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 4cdf8d04.
+  * merge branch debian-sid.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 09 Jan 2014 15:10:22 -0800
+
+git (1:1.8.5.2-2) unstable; urgency=low
+
+  * /etc/bash_completion.d/git-prompt: check for git-sh-prompt
+    and do not source it if git is removed but not purged (thx
+    Craig Small; closes: #726669).
+  * debian/control: package git Breaks: git-buildpackage versions
+    that rely on output from 'git status' without the --porcelain
+    flag (closes: #734223).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 09 Jan 2014 14:46:23 -0800
+
+git (1:2.0~next.20131230-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit b83cf2e7.
+  * debian/rules: drop obsolete THREADED_DELTA_SEARCH setting.
+  * debian/rules: add SANE_TOOL_PATH= INSTALL=install TAR=tar to
+    OPTS to fix the Dyson build (thx Игорь Пашев; closes:
+    #734097).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 Jan 2014 13:30:15 -0800
+
+git (1:2.0~next.20131217-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 3e57c29e.
+  * merge branch debian-sid.
+  * debian/diff/0010-submodule-prepare-for-recursive-...diff, ...,
+    0014-Teach-checkout-to-recursively-checkout-submodules.diff:
+    new from the git-submod-enhancements project: recursively checkout
+    submodules when requested by --recurse-submodules (thx Jens
+    Lehmann; closes: #730521).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 17 Dec 2013 17:13:25 -0800
+
+git (1:1.8.5.2-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 17 Dec 2013 16:31:01 -0800
+
+git (1:2.0~next.20131213-1) experimental; urgency=low
+
+  * new snapshot, taken from upstream commit 523f7c43
+    (closes: #730520).
+  * debian/copyright: document where to get upstream tarball.
+  * debian/diff:
+    * 0001-remove-interpreter-line-from-shell-libraries.diff,
+      0010-git-remote-mediawiki-do-not-remove-installed-...diff:
+      remove; applied upstream.
+    * 0002...0009: rename to 0001-*, ..., 0008-*.
+    * 0009-record-version.diff: new; git and git-gui version
+      strings computed by GIT-VERSION-GEN.
+  * debian/rules install: no more need to include DESTDIR in
+    mw-to-git INSTLIBDIR.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 16 Dec 2013 16:20:23 -0800
+
+git (1:1.8.5.1-1) unstable; urgency=medium
+
+  * new upstream point release.
+    * submodule: do not copy unknown update mode from .gitmodules.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 03 Dec 2013 14:12:55 -0800
+
+git (1:1.8.5-1) unstable; urgency=low
+
+  * new upstream release.
+  * merge branch debian-experimental.
+  * git-daemon-sysvinit: advertise GIT_DAEMON_BASE_PATH in
+    /etc/default/git-daemon (thx Alexander Dahl and Antonio
+    Ospite; closes: #704985).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 30 Nov 2013 11:28:02 -0800
+
+git (1:1.8.5~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+  [ Anders Kaseorg ]
+  * debian/rules: pass $(OPTS) to contrib/mw-to-git/Makefile
+    (closes: #729763).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 21 Nov 2013 16:35:29 -0800
+
+git (1:1.8.5~rc2-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+
+  [ Thorsten Glaser ]
+  * package mw-to-git (closes: #718395).
+    * debian/control: new package git-mediawiki; Depends:
+      libmediawiki-api-perl (>= 0.39), liblwp-protocol-https-perl,
+      libdatetime-format-iso8601-perl; package git now Suggests
+      and git-all Depends: git-mediawiki.
+    * debian/rules: build and install Git::Mediawiki perl module,
+      mediawiki remote helper, and 'git mw' command in
+      git-mediawiki package.
+    * debian/diff/0010-git-remote-mediawiki-do-not-remove-...diff:
+      new from upstream: mw-to-git: do not remove installed files
+      in "clean" target.
+    * debian/git-mediawiki.docs: install git-remote-mediawiki.txt.
+
+  [ Anders Kaseorg ]
+  * debian/diff/0003-transport-expose-git_tcp_connect-...diff:
+    include tcp.h before using tcp functions (closes: #728508).
+
+  [ Jonathan Nieder ]
+  * debian/diff/0012-cvsserver-Determinize-output-to-...diff:
+    remove; applied upstream.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 13 Nov 2013 16:12:29 -0800
+
+
+git (1:1.8.4.4-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 21 Nov 2013 17:51:36 -0800
+
+git (1:1.8.4.3-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 11 Nov 2013 15:51:10 -0800
+
+git (1:1.8.5~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff:
+    * 0001-hooks-post-receive-email-set-encoding-to-utf-8.diff,
+      0002-post-receive-email-defend-against-non-utf8-...diff:
+      remove; applied upstream.
+    * 0003...0012: rename to 0001-*, ..., 0010-*.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 30 Oct 2013 16:01:15 -0700
+
+git (1:1.8.4.2-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0012-cvsserver-Determinize-output-to-...diff:
+    new from upstream: sort cvsserver output to combat Perl 5.18
+    hash randomization (thx Anders Kaseorg; closes: #727226).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 30 Oct 2013 16:00:07 -0700
+
+git (1:1.8.4.1-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream point release.
+  * debian/control: Build-Depends tcl instead of tcl8.5
+    (closes: #725961).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 21 Oct 2013 11:46:45 -0700
+
+git (1:1.8.4-1) experimental; urgency=low
+
+  * new upstream release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 24 Aug 2013 14:50:38 -0700
+
+git (1:1.8.4~rc4-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0012-*, 0013-*: remove; applied upstream.
+  * debian/rules: define .NOTPARALLEL to avoid races between
+    "make" child processes (thx Anders Kaseorg; closes: #720274).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 19 Aug 2013 22:41:08 -0700
+
+git (1:1.8.4~rc3-1) unstable; urgency=low
+
+  * new upstream release candidate.
+    * switch de translation from pure German to German+English.
+  * debian/diff/:
+    * 0012-Revert-git-stash-avoid-data-loss-when-....diff: new
+      from upstream: stash: omit too-slow check for files
+      replaced by directories before stashing.
+    * 0013-Revert-Add-new-shortcut-for-HEAD.diff: new from
+      upstream: treat "@" and names like "refs/heads/@/foo" as
+      ordinary refnames again.
+  * debian/control: Vcs-Git: https://repo.or.cz/r/git/debian.git/
+    (thx brian m. carlson; closes: #719932).
+  * debian/git.README.source: suggest developing against
+    https://repo.or.cz/r/git/debian.git/.
+  * debian/watch: use xz-compressed tars from kernel.org again.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 18 Aug 2013 03:41:49 -0700
+
+git (1:1.8.4~rc2-1) unstable; urgency=low
+
+  * new upstream release candidate.
+    * cat-file: do not split --batch input lines on whitespace
+      (thx Joey Hess; closes: #718517).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 10 Aug 2013 12:25:45 -0700
+
+git (1:1.8.4~rc1-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * debian/watch: point to code.google.com again.
+  * debian/git.preinst:
+    * check that targets in /var/cache/git/* exist when
+      creating symlinks from /var/lib/git/ (thx Steve Cotton and
+      Christoph Anton Mitterer; closes: #718411).
+    * remove spurious '/var/lib/git/*' symlink from the upgrade
+      to 1:1.8.4~rc0-1.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 01 Aug 2013 23:14:58 -0700
+
+git (1:1.8.4~rc0-1) unstable; urgency=low
+
+  * new upstream release candidate.
+  * use /var/lib/git instead of /var/cache/git as default git
+    project root to comply with the Filesystem Hierarchy Standard
+    (thx Julian Gilbey; closes: #483788):
+    * git-daemon.default, git-daemon.in, git-daemon/run: use
+      base path of /var/lib and projectroot of /var/lib/git.
+    * gitweb.conf: $projectroot = "/var/lib/git".
+    * rules: package git: install empty /var/lib/git directory
+      instead of /var/cache/git.
+    * git.README.Debian, git-daemon-run.README.Debian,
+      git-daemon-sysvinit.README.Debian, gitweb.README.Debian:
+      update for the new project root.
+    * git.preinst: install symlinks /var/lib/git/* ->
+      ../../cache/git/*.
+    * git.NEWS.Debian: advertise the change and explain how to
+      adapt to it.
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 30 Jul 2013 19:11:14 -0700
+
+git (1:1.8.3.2-1) unstable; urgency=low
+
+  * new upstream point release (see RelNotes/1.8.3.2.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 01 Jul 2013 19:20:03 -0700
+
+git (1:1.8.3.1-1) unstable; urgency=low
+
+  * merge branch debian-experimental
+  * new upstream point release (see RelNotes/1.8.3.1.txt).
+  * debian/watch: use xz-compressed tarballs from kernel.org.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 12 Jun 2013 07:50:53 -0700
+
+git (1:1.8.3-1) experimental; urgency=low
+
+  * new upstream release (see RelNotes/1.8.3.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 29 May 2013 22:32:40 -0700
+
+git (1:1.8.3~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 19 May 2013 11:49:16 -0700
+
+git (1:1.8.3~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * gitk: "grep diff" pickaxe variant (closes: #589283).
+  * debian/rules: install perl modules with correct permissions
+    (thx Christian Schwartz for suggesting it through lintian).
+  * move "git svn" perl helpers to the git-svn package.
+    * debian/rules: install Git::SVN and Git::SVN::* to the
+      git-svn package, not git.
+    * debian/control: git-svn: Breaks: and Replaces: old git.
+  * debian/rules: install perl module manpages to git-man and
+    git-svn packages, as appropriate.
+  * debian/rules: mark hooks in /usr/share/git-core/contrib/hooks/
+    as executable (thx Olivier Berger; closes: #687391).
+  * debian/control: drop Depends: and Build-Depends: libc6.1
+    (>= 2.10.2-6) [ia64] workaround for #563882, since that bug did
+    not affect any stable release.
+  * debian/control: drop dependencies on pre-Debian 5.0 (lenny)
+    packages.
+    * do not accept libcurl3-gnutls-dev as a substitute for
+      libcurl4-gnutls-dev.
+    * do not accept libsvn-core-perl as a substitute for
+      libsvn-perl.
+    * make asciidoc, docbook-xsl, runit, and tk dependencies
+      unversioned.
+    * git, git-man, git-cvs, git-svn, git-email, gitk: drop Breaks
+      and Replaces against cogito (<< 0.16rc2-0).
+    * git: drop Breaks against old qgit and git-buildpackage.
+    * git: drop Conflicts against git-core (<< 1:1.5.2~rc3-2.).
+    * git-gui: no longer Replaces git-core (<< 1:1.5.2.2-3).
+  * Use source format 3.0 (quilt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 15 May 2013 00:20:06 -0700
+
+git (1:1.8.3~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * log --pretty: avoid undefined behavior in %>, %<, %><'s
+      truncation support (closes: #706400).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 May 2013 23:28:04 -0700
+
+git (1:1.8.3~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * remote-bzr: respect bzr "author" field in import (closes:
+      #705245).
+    * remote-bzr: allow re-add of a deleted file in the same commit
+      (closes: #704913, #704959).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 29 Apr 2013 00:29:14 -0700
+
+git (1:1.8.2.1-1) experimental; urgency=low
+
+  * new upstream point release (see RelNotes/1.8.2.1.txt).
+  * debian/implicit:
+    * check for debian/changelog.upstream.
+    * %.deb-DEBIAN-md5sums depends on /usr/share/doc/$pkg/doc/,
+      doc-base/, and lintian/ directories.
+    * do not remove files named after implicit targets.
+  * debian/rules:
+    * respect <num> in DEB_BUILD_OPTIONS=parallel=<num>.
+    * do not create ./changelog symlink (avoiding a race).
+    * override implicit git-core.deb-docs target, since git-core does
+      not have its own doc/ directory.
+  * debian/README.source: point to git.README.source (thx Helmut
+    Grohne; closes: #704580)
+  * debian/git.NEWS.Debian: add leading spaces before tab for
+    changelog parsers (thx Russ Allbery for suggesting it through
+    lintian).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 08 Apr 2013 00:46:02 -0700
+
+git (1:1.8.2-1) experimental; urgency=low
+
+  * new upstream release (see RelNotes/1.8.2.txt).
+  * package the bzr remote helper (closes: #702697).
+    * debian/control: new package git-bzr; Priority: extra; Provides:
+      git-remote-bzr; Depends: python, python-bzrlib; Conflicts:
+      bzr-git; Build-Depends: bzr, python, python-bzrlib for tests;
+      package git now Suggests and git-all Recommends: git-bzr.
+    * debian/git-remote-bzr.txt: new; explain usage.
+    * debian/rules: build git-remote-bzr documentation, munge script
+      shebang line, and install manpage (git-remote-bzr--git.1.gz)
+      and script (/usr/lib/git-core/git-remote-bzr--git) in git-bzr
+      package.
+    * debian/git-doc.docs: install git-remote-bzr.html.
+    * debian/git-bzr.postinst, debian/git-bzr.prerm: new; provide
+      /usr/bin/git-remote-bzr through the alternatives system.
+    * debian/git-bzr.README.Debian: new; explain how to get started.
+  * debian/control: Standards-Version: 3.9.4.0.
+  * debian/rules: define %.install depending on install-arch or
+    install-indep as appropriate for each package.
+  * debian/implicit: depend on %.install instead of both install-arch
+    and install-indep so "debian/rules binary-arch" does not try to
+    build documentation.
+  * debian/rules build-indep, install-indep: build documentation even
+    if asciidoc is not installed.  Build-Depends: dpkg-dev (>= 1.16.2).
+  * debian/rules: handle DEB_BUILD_OPTIONS=parallel=<num>.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 31 Mar 2013 22:06:58 -0700
+
+git (1:1.8.2~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 09 Mar 2013 00:50:39 -0800
+
+git (1:1.8.2~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * skip readlink() of entries in GIT_CEILING_DIRECTORIES after an
+      empty entry (thx Anders Kaseorg and Michael Haggerty).
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 03 Mar 2013 15:22:27 -0800
+
+git (1:1.8.2~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 02 Mar 2013 13:27:28 -0800
+
+git (1:1.8.2~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * push: require force for refs under refs/tags/.
+    * push: require force for annotated tags.
+  * debian/git.NEWS.Debian: advertise upcoming change to default
+    behavior of argumentless "git push [<remote>]".
+  * git-svn: no longer Depends: libwww-perl (thx RjY; closes:
+    #699536).
+  * update debian/copyright (closes: #699930).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Feb 2013 16:52:57 -0800
+
+git (1:1.8.1.3-1) experimental; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 07 Feb 2013 23:08:48 -0800
+
+git (1:1.8.1.2-1) experimental; urgency=low
+
+  * new upstream point release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 03 Feb 2013 23:01:24 -0800
+
+git (1:1.8.1.1-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * debian/git.NEWS.Debian: bash completion script moved to
+    /usr/share/bash-completion/completions/ (thx Philipp Marek;
+    closes: #698055).
+
+  [ Gerrit Pape ]
+  * new upstream release.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 16 Jan 2013 08:17:53 +0000
+
+git (1:1.8.1-1) experimental; urgency=low
+
+  * new upstream release (see RelNotes/1.8.1.txt).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 31 Dec 2012 18:40:24 -0800
+
+git (1:1.8.1~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * grep: enable perl regex (-P) support (thx Guido Günther; closes:
+    #669376).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 25 Dec 2012 23:40:08 -0800
+
+git (1:1.8.1~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/control: mark all binary packages Multi-Arch: foreign (thx
+    Colin Watson; closes: #694651).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 06 Dec 2012 15:10:21 -0800
+
+git (1:1.8.0-1) experimental; urgency=low
+
+  * new upstream release (see RelNotes/1.7.11.txt, RelNotes/1.7.12.txt,
+    RelNotes/1.8.0.txt)
+    * git-svn: ignore SIGPIPE so serf can recover from HTTP timeouts
+      (closes: #526989).
+    * git-svn: use platform specific auth providers.
+    * git-svn: handle errors and concurrent commits in dcommit
+      (closes: #676904).
+    * am: support --include option.
+    * grep: add a grep.patternType configuration setting.
+    * daemon: --access-hook for authentication logging and policy.
+    * merge-base: expose --is-ancestor helper for scripts.
+    * branch: support --set-upstream-to with simpler syntax than
+      --set-upstream.
+    * format-patch: do not use bogus email addresses in message ids.
+    * http: trim trailing newline from /etc/mailname.
+    * do not ignore port in ssh URLs with ipv6 literals
+      (closes: #646178).
+    * look in ~/.config/git/config (XDG_CONFIG_HOME can override this)
+      before ~/.gitconfig for configuration.
+    * [core] excludesfile and attributes file default to
+      ~/.config/git/ignore and ~/.config/git/attributes.
+    * var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR
+      settings (closes: #666250).
+    * git-blame.el: address elisp warnings from emacs:
+      * use mapc instead of mapchar (closes: #611931).
+      * do not use goto-line in lisp code (closes: #611933).
+      * use with-current-buffer where appropriate (closes: #611932).
+    * cli: add Italian and Vietnamese translations.
+    * push: introduce new push.default mode "simple".  It will be the
+      default in the next major release.
+
+  [ Jonathan Nieder ]
+  * debian/diff:
+    * 0013...0031: remove; applied upstream.
+    * 0012-Makefile-add-a-knob-to-turn-off-...diff: remove; fixed
+      upstream.
+  * debian/rules:
+    * install German translation.
+    * use NO_INSTALL_HARDLINKS=1 instead of NO_HARDLINKS=1 in OPTS
+      (thx Tomáš Myšík and Anders Kaseorg; see #683568).
+    * install-arch: sanity-check that built-ins still do not approach
+      btrfs hardlink limit (see #642603).
+    * git: install git-prompt.sh from contrib/completion to
+      /usr/lib/git-core/git-sh-prompt.
+    * git: install completion script to
+      /usr/share/bash-completion/completions/{git,gitk} instead of
+      /etc/bash_completion.d.  This allows bash-completion 2.0 to load
+      it on the fly when completing arguments to git commands.
+  * debian/control: Breaks: bash-completion (<< 1:1.90-1).
+  * debian/git.preinst, debian/git.postinst, debian/git.postrm:
+    remove /etc/bash_completion.d/git on upgrade if unmodified.
+  * debian/rules, debian/git.conffiles, debian/git-prompt.completion:
+    /etc/bash_completion.d/git-prompt: new; source
+    /usr/lib/git-core/git-sh-prompt so .bashrc files that rely on the
+    completion lib defining __git_ps1 can continue to work (thx Danny
+    Yates and Anders Kaseorg).
+  * debian/git.conffiles: remove /etc/bash_completion.d/git.
+  * update debian/copyright.
+  * debian/control: gitweb: Recommends: libhttp-date-perl or
+    libtime-module-perl for If-Modified-Since support; Build-Depends:
+    same to support test suite.
+  * debian/implicit: use order-only dependencies so "debian/rules
+    binary-arch" does not try to build documentation.
+
+  [ Gerrit Pape ]
+  * new upstream release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 31 Oct 2012 17:58:10 -0700
+
+git (1:1.7.10.4-2) unstable; urgency=low
+
+  * debian/diff:
+    * 0013...0030: new from the upstream 'master' branch: git svn:
+      adapt to svn 1.7 changes:
+      * normalize paths and URLs passed to Subversion (thx Michael G.
+        Schwern; closes: #678137)
+      * use correct "svn cp" syntax when checking git svn's mangling
+        of @-signs in branch names (svn became stricter).
+      * commit filetype changes between a regular file and symlink as
+        replacement (deletion followed by addition) instead of
+        modification of files.  Otherwise, clients pulling the change
+        with "svn update" hit an assertion failure (svn issue 4091).
+    * 0031-git-svn-use-YAML-format-...diff: new from 1.7.11: git svn:
+      use YAML format for mergeinfo cache when possible.
+  * debian/control: git-svn: Depends: libyaml-perl for platform- and
+    version-independent .git/svn/.caches format; Build-Depends:
+    libyaml-perl for tests (thx Tim Retout for the analysis; closes:
+    #587650).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 12 Oct 2012 13:27:36 -0700
+
+git (1:1.7.10.4-1) unstable; urgency=low
+
+  * new upstream point release (thx Jonathan Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 08 Jun 2012 00:04:11 +0000
+
+git (1:1.7.10.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * merge-recursive: don't detect renames of empty files.
+    * fast-import: tighten parsing of datarefs.
+    * diff -c -U0: fix segfault showing start of file.
+  * debian/rules: do not install preliminary German translation.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 11 May 2012 20:20:15 -0500
+
+git (1:1.7.10-1) unstable; urgency=low
+
+  * new upstream release.
+    * merge: use editor by default in interactive sessions
+    * submodules: use relative paths to git dir and worktree.
+    * fast-import: reject "ls" of path with empty components.
+    * cli: add Chinese, Dutch, Portuguese, and Swedish translations.
+    * am: officially deprecate -b/--binary option.
+  * debian/diff:
+    * 0005-gitk-use-symbolic-font-names-sans-and-monospace-when-.diff,
+      0006-gitk-Skip-over-AUTHOR-COMMIT_DATE-when-searching-all-.diff:
+      remove; applied upstream.
+    * 0007...0014: rename to 0005-*, ... 0012-*.
+  * debian/git.README.Debian: make paths in inetd(8) hint
+    consistent with git-daemon-run and git-daemon-sysvinit setup.
+  * debian/control: package git: Suggests: gettext-base for translated
+    output in shell scripts.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 06 Apr 2012 22:28:18 -0500
+
+git (1:1.7.9.5-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/control: git-daemon-sysvinit: Priority: extra (thx Jonathan
+    Nieder; closes: #661317).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 28 Mar 2012 12:30:35 +0000
+
+git (1:1.7.9.4-1) unstable; urgency=low
+
+  * new upstream point release.
+    * commit: skip intent-to-add entries instead of erroring out.
+    * grep -I: let diff attribute override binary file detection.
+    * clone, daemon, http-backend, transport: look for .../foo before
+      .../foo.git in response to requests for .../foo.
+    * rev-list: enable or disable --verify-objects behavior based on
+      the command line instead of uninitialized memory.
+    * checkout -b: allow switching out of an unborn branch (closes:
+      #506480).
+  * debian/diff: clean up patches for upstream.
+    * 0001-hooks-post-receive-email-set-encoding-to-utf-8.diff:
+      hooks/post-receive-email: set content-transfer-encoding as well.
+    * 0002-post-receive-email-defend-against-non-utf8-...diff: new;
+      hooks/post-receive-email: avoid mixed-encoding messages when
+      i18n.logoutputencoding is not utf8 (thx Alexey Shumkin).
+    * 0002-remove-shebang-...diff: rename to 0003-remove-...diff;
+      remove #! line from sh-i18n and rebase--* shell libraries, too
+      (lintian); fix tests' --valgrind support to detect shell
+      libraries without the #! line (thx Jeff King).
+    * 0003-pre-rebase-hook-capture-...diff: simplify (thx Junio C
+      Hamano); rename to 0004-*.
+    * 0004-gitk-use-symbolic-font-names-...diff: rename to 0005-*; use
+      non-symbolic font names on platforms like Mac OS X, Windows, and
+      tk <= 8.4 that lack fontconfig support.
+    * 0005...0008, 0010: rename to 0006-*, ..., 0009-*, 0011-*;
+      clarify descriptions.
+    * 0009-tcp-unify-ipv4-and-ipv6-code-paths.diff, 0011-*: combine;
+      rename to 0010-*.
+    * 0012-transport-optionally-honor-DNS-SRV-records.diff, 0013-*:
+      combine; rename to 0011-*.
+    * 0014, 0015: rename to 0013-*, 0014-*.
+  * debian/git-daemon.init: respect GIT_DAEMON_ENABLE in restart and
+    reload actions (thx Jonathan McCrohan; closes: #663522).
+  * debian/control: git-gui: point to aspell for spell checking support
+    in the package description; Suggests: aspell (thx Jonathan Ballet,
+    closes: #656061).
+  * debian/control: add Vcs-Browser: http://repo.or.cz/w/git/debian.git
+    (thx Jonathan McCrohan; closes: #663451).
+  * debian/control: Standards-Version: 3.9.3.1.
+  * debian/copyright: adopt copyright-format 1.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 14 Mar 2012 02:40:00 -0500
+
+git (1:1.7.9.1-1) unstable; urgency=low
+
+  * new upstream point release.
+    * merge: do not launch an editor on "--no-edit $tag" (thx Guido
+      Günther; closes: #659255).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 14 Feb 2012 15:32:48 -0600
+
+git (1:1.7.9-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream release (closes: #657262).
+  * debian/diff/0016-unix-socket-handle-long-socket-...diff: remove;
+    applied upstream.
+  * debian/changelog: add missing parenthesis to 1:1.7.9~rc1-1 entry.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 27 Jan 2012 21:23:27 -0600
+
+git (1:1.7.9~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff:
+    * 0014-Makefile-add-a-knob-to-...diff: rename to 0015-*.
+    * 0014-srv-be-more-tolerant-of-broken-DNS-replies.diff: new; srv:
+      convert some error conditions to warnings (closes: #649781).
+    * 0016-unix-socket-handle-long-socket-pathnames.diff: new from
+      upstream; credential-cache: handle long socket pathnames (closes:
+      #655288).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 13 Jan 2012 16:10:44 -0600
+
+git (1:1.7.9~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * update debian/copyright.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 06 Jan 2012 17:06:55 -0600
+
+git (1:1.7.8.3-1) unstable; urgency=medium
+
+  * new upstream point release.
+  * debian/git.preinst: on upgrade from git <= 1:1.7.7-1, replace
+    /usr/lib/git-core/git with a copy of itself.  This prevents "are the
+    same file" errors when replacing hard links to the old copy with
+    symlinks using "mv" (thx Jon Dowland and Anders Kaseorg; closes:
+    #654596).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 06 Jan 2012 16:45:46 -0600
+
+git (1:1.7.8.2-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream release.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 29 Dec 2011 01:30:43 -0600
+
+git (1:1.7.8~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 18 Nov 2011 04:09:51 -0600
+
+git (1:1.7.8~rc2-1) experimental; urgency=low
+
+  [ Jonathan Nieder ]
+  * new upstream release candidate.
+  * merge branch debian-sid.
+  * update debian/copyright.
+  * debian/git.preinst: replace hard links to /usr/lib/git-core/git with
+    symlinks before upgrading from git <= 1:1.7.7-1 (thx Antti Kultanen;
+    closes: #645009).
+
+  [ Gerrit Pape ]
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 16 Nov 2011 09:55:47 +0000
+
+git (1:1.7.7.3-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 14 Nov 2011 10:22:34 +0000
+
+git (1:1.7.7.2-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/rules: add separate build-arch and build-indep targets
+    (thx Roger Leigh for suggesting it through lintian).
+  * debian/rules: drop CFLAGS=-O0 workaround for ancient hppa code
+    generation bug (see #426302).
+  * debian/rules: use dpkg-buildflags to retrieve compiler flags
+    (including hardening options).  Build-Depends: dpkg-dev (>= 1.15.7).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 01 Nov 2011 23:41:55 -0500
+
+git (1:1.7.8~rc0-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+    * debian/diff/0001-...diff, 0002-...diff, 0003-...diff: remove;
+      applied upstream (thx Jonathan Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 31 Oct 2011 09:45:53 +0000
+
+git (1:1.7.7.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0003-Makefile-do-not-set-setgid-bit-on-dir...diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 24 Oct 2011 20:27:20 +0000
+
+git (1:1.7.7-2) unstable; urgency=low
+
+  [ Jonathan Nieder ]
+  * debian/git.postinst: check if /usr/share/doc/git/contrib/hooks is a
+    symlink before changing it to one (thx Євгеній Мещеряков; closes:
+    #645005).
+  * debian/diff:
+    * 0001-ident-check-etc-mailname-if-author-email-is-unknown.diff,
+      0007-Makefile-do-not-use-setgid-bit-on-...diff: remove; obsolete.
+    * 0002...0006, 0008...0015: rename to 0005-*, ..., 0017-*.
+    * 0001...0004: new from the upstream 'master' branch:
+      * ident: check /etc/mailname if email is unknown
+      * ident: do not retrieve default ident when unnecessary
+      * init --shared: do not set setgid bit on directories on
+        GNU/kFreeBSD
+      * Makefile: fix permissions of mergetools/ when building from
+        source extracted with permissive umask
+    * 0018-Makefile-add-a-knob-to-turn-off-hardlinks-...diff: new;
+      Makefile: add a knob to disable hardlinks within bindir and
+      gitexecdir.
+  * debian/rules: add NO_HARDLINKS=1 to OPTS (thx Bastian Blank;
+    closes: #642603).
+  * debian/rules: do not rely on umask to set contrib permissions.
+  * update debian/copyright.
+  * debian/watch, debian/copyright: point to code.google.com for now.
+    The upstream tarballs haven't been added back to kernel.org yet.
+  * debian/changelog.upstream, debian/versions.upstream: include
+    v1.7.6.4.
+
+  [ Simon Chopin ]
+  * debian/git.postinst: fix fresh install contrib/hooks cleaning
+    (#645005).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 13 Oct 2011 00:04:49 +0000
+
+git (1:1.7.7-1) unstable; urgency=low
+
+  * new upstream release.
+  * merge branch debian-experimental.
+  * debian/rules, debian/git.postinst: move contrib hooks from
+    /usr/share/doc/git-core/ into /usr/share/git-core/; provide symlink
+    for backward compatibility (closes: #640949).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 09 Oct 2011 21:00:07 +0000
+
+git (1:1.7.7~rc1-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+  * debian/rules: git: skip directories in /usr/lib/git-core/ and
+    /usr/bin/ when stripping programs.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 14 Sep 2011 14:23:10 +0000
+
+git (1:1.7.6.3-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream point release.
+  * debian/diff:
+    * 0007-...diff, ..., 0014-...diff: slightly rework as 0008...0015-*
+      to provide better error reporting (thx Jonathan Nieder).
+    * 0015-Makefile-do-not-use-setgid-bit-on-...diff: rename to 0007-*.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 14 Sep 2011 11:33:23 +0000
+
+git (1:1.7.6-1) experimental; urgency=low
+
+  * new upstream release.
+  * debian/diff:
+    * 0012-daemon-check-for-errors...diff: clarify patch description.
+    * 0013-transport-learn-to-honor-DNS-SRV...diff: rename to 0014-*.
+    * 0013-tcp-make-dns_resolve-return-an-error-code.diff: new; make
+      dns_resolve() pass on return value from getaddrinfo.
+    * 0014-transport-honor-DNS-SRV-records.diff: fix two regressions
+      introduced by this patch when it was added in 1:1.7.6~rc1-1.
+      * use descriptive messages like "Unable to look up
+        git.example.com: Out of memory" to report errors from the
+        resolver, instead of "unable to connect to a socket (success)".
+      * tolerate alias (CNAME) records in the DNS reply for
+        _git._tcp.<host>, instead of confusing them for invalid SRV
+        records and erroring out.
+    * 0015-Makefile-do-not-use-setgid...diff: new; Makefile: set
+      DIR_HAS_BSD_GROUP_SEMANTICS on GNU/kFreeBSD.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 28 Jun 2011 12:54:58 -0500
+
+git (1:1.7.6~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+  [ Daniel Baumann ]
+  * add an init.d script for git-daemon (closes: #422139).
+    * debian/control, debian/rules: new package git-daemon-sysvinit;
+      Depends: adduser; Conflicts: git-daemon-run; package git now
+      Suggests and git-all Recommends: git-daemon-run |
+      git-daemon-sysvinit.
+    * debian/git-daemon.init: new; script to start or stop git-daemon.
+    * debian/git-daemon.default: new; provide some default settings and
+      disable the daemon by default on first installation.
+    * debian/git-daemon-sysvinit.README.Debian: new; explain how to get
+      started.
+    * debian/git-daemon-sysvinit.conffiles: new; treat
+      /etc/default/git-daemon, /etc/init.d/git-daemon as conffiles.
+    * debian/git-daemon-sysvinit.postinst: new; add gitdaemon system
+      user; register and invoke init script to start git-daemon.
+    * debian/git-daemon-sysvinit.prerm: new; stops git-daemon.
+    * debian/git-daemon-sysvinit.postrm: new; unregisters init script.
+
+  [ Jonathan Nieder ]
+  * debian/diff/:
+    * 0009-daemon-move-...diff, 0011-tcp-...diff: move fallback
+      definition of HOST_NAME_MAX to new use sites (fixes FTBFS on
+      kfreebsd).
+    * 0012-transport-learn-to-honor...diff: rename to 0013-*.
+    * 0012-daemon-check-for-errors-retrieving-canonical-IP-addre.diff:
+      new; daemon: check for errors when retrieving IP address for use
+      by the --interpolated-path feature.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 17 Jun 2011 15:56:12 -0500
+
+git (1:1.7.6~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0007-...diff, ..., 0012-transport-learn...diff: new;
+    teach the git client to pay attention to SRV records (thx Julien
+    Cristau; closes: #627839).
+  * debian/rules: add USE_SRV_RR=1 to OPTS.
+  * debian/rules: add htmldir=/usr/share/doc/git/html to OPTS and
+    DOC_OPTS.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 09 Jun 2011 19:05:55 -0500
+
+git (1:1.7.5.4-1) unstable; urgency=low
+
+  * new upstream point release.
+
+  [ Gerrit Pape ]
+  * debian/changelog.upstream, debian/versions.upstream: update upstream
+    changelog.
+
+  [ Jonathan Nieder ]
+  * debian/changelog.upstream.sh: use set -e.
+  * debian/git-daemon/run: use SO_REUSEADDR when binding the listening
+    socket so the server can restart without waiting for old connections
+    to time out (thx Daniel Kahn Gillmor; closes: #609405).
+  * debian/git-daemon-run.postrm purge: terminate the git-daemon/log
+    service, even if there is an active connection using it, before
+    deleting logs and the gitlog user (thx Daniel Kahn Gillmor; closes:
+    #627314).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 07 Jun 2011 13:23:58 -0500
+
+git (1:1.7.5.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0007-...diff, 0008-...diff, 0009-...diff, 0010-...diff:
+    remove; included upstream.
+  * debian/control: Package: git-cvs: make cvs dependency unversioned;
+    Package: git-gui: make tk dependency unversioned (thx Jonathan
+    Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 27 May 2011 13:00:05 +0000
+
+git (1:1.7.5.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * merge branch debian-experimental.
+  * debian/diff/:
+    - 0009-upload-pack-start-pack-objects-before-async-rev-...diff:
+      remove; applied upstream.
+    - 0007, 0008 (the add -p split-and-edit fix): rename to 0009-*,
+      0010-*.
+    - 0007-add-p-q-should-really-quit.diff, 0008-t3701-...diff: new
+      from upstream; tests: check that the add -p split-and-edit bug
+      has not resurfaced.
+  * debian/control: package git: no longer Conflicts: but Breaks:
+    git-core from Debian 5.0 (lenny) to simplify the upgrade path
+    (thx Russ Allbery for suggesting it through lintian).
+  * debian/control: package git: Conflicts: git-core from
+    Debian 4.0 (etch) which provided /usr/bin/git through the
+    alternatives system.
+  * debian/control: Standards-Version: 3.9.2.0.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 05 May 2011 03:41:36 -0500
+
+git (1:1.7.5-1) experimental; urgency=low
+
+  * new upstream release.
+  * 0009-upload-pack-start-pack-objects-before-async-rev-list.diff:
+    new from upstream; upload-pack: start pack-objects which reads
+    pack_pipe before writing to it to avoid deadlock (closes:
+    #607346).
+  * debian/changelog.upstream, debian/versions.upstream: do not skip
+    versions not packaged for Debian (thx Gerrit Pape).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 26 Apr 2011 21:49:48 -0500
+
+git (1:1.7.5~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+  * 0007-gitk-Take-only-numeric-version-components-when-comput.diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 20 Apr 2011 07:46:58 +0000
+
+git (1:1.7.4.4-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0008...0064: remove; applied upstream.
+  * debian/diff/0008-add...diff, 0009-add-p-work...diff: new from
+    upstream; add -p: do not error out for attempts to stage hunks
+    after splitting and editing them.  This fixes a regression
+    introduced by v1.7.4.3~10^2 (apply: do not patch lines that were
+    already patched, 2011-03-04).
+  * debian/git-doc.doc-base.git-index-format: new; catalog
+    .git/index file format document.
+  * debian/git.preinst, debian/git.postinst, debian/git.postrm:
+    don't use dpkg-maintscript-helper, avoiding a dependency on
+    recent dpkg (thx Anders Kaseorg and Marc Haber; closes: #618708).
+  * debian/git-daemon-run.postrm: terminate the git-daemon/log
+    service before deleting the gitlog user (closes: #610099).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 15 Apr 2011 00:00:03 -0500
+
+git (1:1.7.4.1-5) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * debian/diff/0008...0064: new from the upstream 'maint' branch:
+    (see RelNotes/1.7.4.2.txt for details)
+    * revert "core.abbrevguard: Ensure short object names stay
+      unique a bit longer"
+    * parse_tag_buffer(): do not prefixcmp() out of range
+    * pull: do not display fetch usage on --help-all
+    * gitweb: address warnings from perl 5.13
+    * gitweb: replace tabs with spaces when highlighting syntax
+    * merge: honor prepare-commit-msg hook
+    * diff: handle diffstat of rewritten binary files
+    * config: add "[push] default = upstream" synonym for
+      "[push] default = tracking"
+    * diffcore: properly honor the difference between -M and -C
+    * diffcore: improve similarity heuristics for rename detection
+    * patch-id: do not trip over "no newline" marker
+    * various documentation, usage string, and code clarity
+      improvements
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Wed, 16 Mar 2011 21:01:53 -0500
+
+git (1:1.7.4.1-4) experimental; urgency=low
+
+  * git-el.postinst: check if /usr/share/doc/git/contrib/emacs is a
+    symlink before changing it to one (closes: #617631).
+  * git-el.postinst: remove spurious .../contrib/emacs.old and
+    /usr/share/git-core/emacs/emacs symlinks.
+  * package git: do not run emacs-package-remove on upgrade (it's not
+    needed).
+    - git.postinst: do not run "emacs-package-remove git".
+    - debian/control: git no longer Depends: emacsen-common (closes:
+      #617784).
+  * git-el.emacsen-install, git-el.emacsen-remove:
+    - use printf instead of echo.
+    - only remove the lisp (.el) and bytecode (.elc) files that we
+      install.
+    - make output less noisy --- for example, do not say "+ set +x".
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 13 Mar 2011 05:03:44 -0500
+
+git (1:1.7.4.1-3) unstable; urgency=low
+
+  [ Anders Kaseorg ]
+  * Loosen versioned replaces/conflicts on git-core, to fix upgrades from
+    lucid.
+
+  [ Jonathan Nieder ]
+  * README.emacs: git-blame.el does not print a summary in the echo
+    area (documents: #611935).
+  * Move emacs support files to a separate git-el package.
+  * Make git depend on emacsen-support, so it can reliably clean up
+    the old emacs support files on upgrade (closes: #614578)
+  * git-el.emacsen-install: Overwrite .el symlinks if they already
+    exist (closes: #614659).
+  * git-el.emacsen-remove: Do not complain if the site-lisp
+    directory is nonempty or is already missing.
+  * debian/control: git-man: Section: doc.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 04 Mar 2011 18:26:27 -0600
+
+git (1:1.7.4.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #600566, #575917, #578752, #583693,
+    #583699, #588103, #507476, #540001, #524309, #581691, #600785,
+    #577471, #607044, #606975, #610423, #610481).
+
+  [ Anders Kaseorg ]
+  * debian/git.docs, debian/rules: deal with RelNotes subdirectory.
+  * debian/diff/0007-gitk-Take-only-numeric-...diff: new; gitk: do
+    not error out when git version number contains "-rc".
+
+  [ Jonathan Nieder ]
+  * add myself as uploader.
+  * debian/diff/0003, 0007, 0010-0034: remove, applied upstream.
+  * debian/rules: accept patches with .patch suffix, too (thx Anders
+    Kaseorg).
+  * debian/rules: use patch -N -r- so patch application is idempotent.
+  * update debian/copyright.
+  * debian/diff/0001-ident-check-etc-mailname...diff: avoid calls to
+    gethostbyname when mailname is not an fqdn (closes: #611608).
+  * debian/diff/0005-gitk-use-...diff: new; gitk: use standard desktop
+    fonts by default.  The appearance for users that already have a
+    generated ~/.gitk file is not affected (closes: #466471).
+  * debian/diff/0006-gitk-...diff: new; gitk: avoid spurious matches
+    in "All fields" search (thx Frédéric Brière, closes: #465776).
+  * debian/control: git-cvs: recommend cvs2git for one-time conversions
+    (closes: #585725).
+  * debian/control: git-core: explain that it still may be needed (thx
+    Denis Laxalde).
+  * debian/control: gitweb: allow lynx-cur to satisfy dependency on a
+    CGI implementation (thx Ivan Shmakov).
+  * debian/control, debian/rules: new architecture-independent package
+    git-man: manual pages that were previously in the main git package.
+  * debian/rules: do not build documentation on autobuilders (closes:
+    #499002).
+  * debian/control: Build-Depends-Indep: asciidoc, xmlto, docbook-xsl.
+  * debian/rules: git-gui: install git-gui--askpass helper to
+    /usr/lib/git-core (closes: #598245).
+  * debian/rules: git-doc: install symlink to html documentation in
+    /usr/share/doc/git (thx Ian Jackson).
+  * debian/watch: new; point to upstream sources.
+  * debian/implicit: create DEBIAN/md5sums with correct permissions.
+  * debian/diff/0003-remove-shebang...diff: new; do not start shell
+    libraries with #!/bin/sh.
+  * debian/rules: do not try to strip scripts even if they begin
+    with "# " in place of "#!".
+  * debian/diff/0004-pre-rebase-hook-capture...diff: new;
+    hooks/pre-rebase: use a <<HERE document to prevent syntax checkers
+    from treating documentation as code.
+  * debian/implicit: check for debian/$pkg.doc-base.$docid.
+  * debian/git-doc.doc-base.*: new; catalog provided documentation.
+  * debian/implicit: check for debian/$pkg.lintian-overrides.
+  * debian/git.lintian-overrides: new; document some deviations from
+    lintian guidelines.
+  * debian/control: Standards-Version: 3.9.1.0.
+
+  * debian/git.README.Debian: server logs go in /var/log/apache2.
+  * debian/diff/0002-Revert-Merge-branch-jn-gitweb...diff: remove.
+  * debian/diff/0006, 0008, 0009-instaweb...diff: remove, no longer
+    needed.
+  * debian/rules, debian/control: move gitweb script to the main git
+    package for use by instaweb; make gitweb into a configuration
+    package.
+  * debian/gitweb.NEWS.Debian, debian/git.README.Debian,
+    debian/gitweb.conf: static files moved to /usr/share/gitweb/static.
+  * debian/gitweb.conf: disable rename patches (@diff_opts = ()).
+  * debian/diff/0001-Revert-gitweb-...diff: remove; no longer needed.
+  * debian/rules: gitweb: move gitweb.cgi script to /usr/share;
+    add a symlink at /usr/lib/cgi-bin/gitweb.cgi for compatibility.
+
+  * debian/git.emacsen-install, debian/rules, debian/git.postinst,
+    debian/git.prerm: put emacs support files in /usr/share/git-core
+    instead of /usr/share/doc/git/contrib.
+  * debian/implicit: check for arbitrary debian/$pkg.README.*, not just
+    README.source and README.Debian.
+  * debian/git.README.emacs: new; introduction to the emacs support
+    (text taken from contrib/emacs/README).
+
+  [ Kevin Ryde ]
+  * debian/rules, debian/git.emacsen-*, debian/git.postinst,
+    debian/git.prerm: Make M-x git-status and git-blame modes available
+    with emacs23 (closes: #576887).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Tue, 15 Feb 2011 19:27:38 -0600
+
+git (1:1.7.2.3-2.2) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * debian/diff/0034-gitweb-Introduce-esc_attr...diff: new from
+    upstream: gitweb: do not parrot filenames or other arguments given
+    in a request without proper quoting (closes: #607248,
+    CVE-2010-3906).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 16 Dec 2010 01:00:30 -0600
+
+git (1:1.7.2.3-2.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/diff/0010...0033: new from the upstream 'maint' branch:
+    * cache_tree_free: Fix small memory leak.
+    * diff.c: call regfree to free memory allocated by regcomp.
+    * gitweb: allow configurations that change with each request
+      (fixes a regression from v1.7.2-rc2 in some gitolite setups).
+    * Documentation: 19 formatting fixes (thx Frédéric Brière,
+      closes: #540001, #600422).
+    * setup: make sure git dir path is in a permanent buffer.
+    * do not depend on signed integer overflow.
+  * debian/control: gitweb: weaken dependencies to allow configurations
+    using mod_perl or fastcgi rather than CGI; explain dependencies in
+    the package description (thx Servilio Afre Puentes,
+    closes: #600413).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 18 Nov 2010 19:04:09 -0600
+
+git (1:1.7.2.3-2) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * debian/gitweb.NEWS.Debian: typo (thx Jonathan Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 17 Oct 2010 20:07:22 +0000
+
+git (1:1.7.2.3-1) experimental; urgency=low
+
+  * new upstream release.
+    * post-receive-email: document command-line mode (closes: #428413).
+    * add-interactive: Clarify “remaining hunks in the file”
+      (closes: #526014).
+    * rebase -i -p: document shortcomings (closes: #532775).
+    * GIT-VERSION-GEN: restrict tags used (closes: #473604).
+    * git svn: avoid unnecessary '/' in paths for SVN (thx Jon Dowland,
+      closes: #546733, #572847).
+    * git svn: avoid uninitialized var in 'reset' (thx Jens Seidel,
+      closes: #578908).
+  * debian/diff/0003-git-submodule.sh-properly-initialize-shell-...diff,
+    debian/diff/0004-Check-size-of-path-buffer-before-...diff: remove;
+    applied upstream.
+  * debian/diff/0001-Revert-gitweb-Use-diff_opts-while...diff: new;
+    prevent gitweb from serving rename patches that GNU patch 2.6.1
+    cannot apply.
+  * debian/diff/0002-Revert-Merge-branch-jn-gitweb-plackup.diff: new;
+    install gitweb.css et al in /usr/share/gitweb, not a new static/
+    subdirectory.
+  * debian/diff/0003-Do-not-unquote-into-in-URLs.diff: new from
+    upstream; do not unquote + into space character in URLs.
+  * debian/diff/0001-bug-448655-check-etc-mailname-...diff: rename to
+    debian/diff/0004-bug-448655-check-etc-mailname-if-author...diff.
+  * debian/diff/0002-bug-506445-hooks-post-receive-...diff: rename to
+    debian/diff/0005-bug-506445-hooks-post-receive-...diff; adapt.
+  * debian/diff/0006-instaweb-ignore-GITWEB_CONFIG_SYSTEM.diff: new;
+    instaweb: ignore /etc/gitweb.conf;
+    debian/diff/0007-gitweb-skip-logo-in-atom-feed-when...diff, ...,
+    debian/diff/0009-instaweb-disable-logo-and-favicon...diff: new;
+    instaweb: avoid 404 errors due to nonexistent image files (thx Uwe
+    Kleine-König, closes: #592733).
+  * update debian/copyright.
+  * debian/rules, debian/git.README.Debian, debian/gitweb.conf:
+    install gitweb.js, add an Alias for it to the VirtualHost example,
+    and configure gitweb to look for it in the right place (closes:
+    #555047).
+  * debian/gitweb.NEWS.Debian: mention the new gitweb.js file.
+  * debian/control: gitweb: Depends: apache2 | httpd-cgi (closes:
+    #559890).
+  * debian/gitweb.conf: use relative links for gitweb.css et al
+    (thx Alban Browaeys, closes: #568343).
+  * debian/control: package git: no longer Conflicts: git
+    (<< 4.3.20-11).
+  * debian/control: package git: Breaks: packages from Debian 5.0
+    (lenny) relying on removed features such as dashed-form commands in
+    $PATH (thx Adrian Bunk, closes: #561701); no longer Conflicts: but
+    Breaks: ancient qgit for the same reason.
+  * debian/gitweb.README.Debian: copy-edit.
+  * debian/git.README.Debian: retitle to "Git for Debian" (thx
+    Christoph Anton Mitterer, closes: #590129).
+  * debian/control: Homepage: http://git-scm.com/ (closes: #553220).
+  * debian/control: package git no longer Depends: libdigest-sha1-perl
+    (thx Ansgar Burchardt, closes: #591039).
+  * debian/control: Build-Depends: libio-pty-perl for better test
+    coverage.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Fri, 03 Sep 2010 22:34:30 -0500
+
+git (1:1.7.1-1.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * debian/diff/0004-Check-size-of-path-buffer-before-writing-...diff:
+    new, cherry-picked from 3c9d041: setup: Check size of path buffer
+    before writing into it (closes: #590026, CVE-2010-2542).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 25 Jul 2010 18:01:15 -0500
+
+git (1:1.7.1-1) unstable; urgency=low
+
+  * debian/diff/0003-t-t7400-submodule-basic.sh-debug-output-...diff:
+    remove; obsolete.
+  * debian/diff/0003-git-submodule.sh-properly-initialize-shell-...diff:
+    new; git-submodule.sh: properly initialize shell variables (closes:
+    #569594).
+  * debian/rules: no longer set ARCH='$(ARCH)' in environment for make
+    test.
+  * new upstream release.
+  * merge branch debian-experimental.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 25 Apr 2010 23:35:50 +0000
+
+git (1:1.7.0.5-2~dbg0) unstable; urgency=low
+
+  * debian/diff/0003-t7400-submodule-basic.sh-alpha-s390-skip-...diff:
+    remove; more archs are affected (additionally hppa, armel).
+  * debian/diff/0003-t-t7400-submodule-basic.sh-debug-output-...diff:
+    new; t/t7400-submodule-basic.sh: debug output for t7400.24 'update
+    --init'.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 23 Apr 2010 12:15:18 +0000
+
+git (1:1.7.0.5-1) unstable; urgency=low
+
+  * debian/git-core.postinst: new; replace /usr/share/doc/git-core with
+    symlink /usr/share/doc/git-core -> git on upgrade from <= 1.7.0.4-2
+    (closes: #578298).
+  * debian/diff/0003-t7400-submodule-basic.sh-alpha-s390-skip-...diff:
+    new; t7400-submodule-basic.sh: alpha, s390: skip 'update --init'
+    test (workaround: #569594).
+  * debian/control: no longer Replaces, Conflicts: git-completion (thx
+    Jonathan Nieder, closes: #577730).
+  * new upstream point release.
+  * debian/rules: set ARCH='$(ARCH)' in environment for make test.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 20 Apr 2010 23:41:04 +0000
+
+git (1:1.7.1~rc1-1.1) experimental; urgency=low
+
+  * debian/control: typo (thx Jonathan Nieder).
+  * debian/git-daemon-run.postinst: remove fixup for #522348.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 11 Apr 2010 23:22:46 +0000
+
+git (1:1.7.1~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 11 Apr 2010 15:28:28 +0000
+
+git (1:1.7.0.4-2) unstable; urgency=low
+
+  * debian/rules: package git: no longer install /usr/share/doc/git-core
+    -> git symlink; git-core: no longer install /usr/lib/git-core -> git
+    symlink (closes: #576906).
+  * debian/control: package git: Replaces:, Conflicts: git-core (<=
+    1:1.7.0.4-1).
+  * debian/rules: make /usr/share/gitweb/index.cgi ->
+    ../../lib/cgi-bin/gitweb.cgi symlink relative (lintian).
+  * debian/control: package git-core: minor update to the long
+    description.
+  * debian/git.README.source: add note about the <debian-package-git>
+    mailing list.
+  * debian/rules: target binary-indep: add missing dependency to
+    git-core.deb-DEBIAN.
+  * debian/implicit: no longer create DEBIAN/md5sums.
+  * debian/rules: revert the /usr/lib/git-core -> /usr/lib/git rename
+    (keeping upstream's default).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 10 Apr 2010 23:16:54 +0000
+
+git (1:1.7.0.4-2~exp0) experimental; urgency=low
+
+  [ Gerrit Pape ]
+  * debian/control, debian/rules, debian/git-core.*: change source and
+    binary package name from git-core to git; keep now obsolete empty
+    git-core package that depends on git for upgrade (see
+    http://lists.debian.org/debian-devel/2009/09/thrd2.html#00661).
+  * debian/control: package git: Replaces: git-core, Conflicts: git-core
+    (<= 1:1.7.0.3-1), Provides: git-core.
+  * debian/git.NEWS.Debian: talk about the package name change, and the
+    possible hazzle when upgrading with GNU Interactive Tools installed
+    since etch and no git-core installed.
+  * debian/control, debian/rules: new package git-all: dummy package
+    which brings in all subpackages (following upstream's RPMs).
+
+  [ Jonathan Nieder ]
+  * debian/git.README.source: adjust for the package name change.
+  * debian/rules: install symbolic link git -> git-core in /usr/lib
+    to simplify upgrades.
+  * debian/git-daemon/run: use $(git --exec-path) instead of hard-coding
+    the path to the git-daemon binary.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 03 Apr 2010 15:07:19 -0500
+
+git-core (1:1.7.0.4-1) unstable; urgency=low
+
+  * debian/git-daemon-run.postrm: purge: don't warn if the git-daemon
+    service is already removed; use -f option to userdel, on fast-purge
+    the log service daemon might still run for a short time (closes:
+    #575434).
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 01 Apr 2010 20:42:19 +0000
+
+git-core (1:1.7.0.3-1) unstable; urgency=low
+
+  * debian/control: Standards-Version: 3.8.4.0.
+  * debian/changelog: note fixes from Jonathan Nieder in 1.7.0.2-1.
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 22 Mar 2010 09:19:06 +0000
+
+git-core (1:1.7.0.2-1) unstable; urgency=low
+
+  * new upstream point release.
+
+    [ Jonathan Nieder ]
+    * am: remove rebase-apply directory before gc (thx Mark Brown,
+      closes: #570966).
+    * git-imap-send: Convert LF to CRLF before storing patch to draft box
+      (closes: #572598).
+    * sha1_file: be paranoid when creating loose objects (closes:
+      #569505).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 18 Mar 2010 20:44:12 +0000
+
+git-core (1:1.7.0-1) unstable; urgency=low
+
+  * debian/git-core.README.source: typos.
+  * new upstream release.
+    * Documentation: Update git core tutorial clarifying reference to
+      scripts (closes: ##560795).
+  * merge branch debian-experimental.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 16 Feb 2010 08:51:32 +0000
+
+git-core (1:1.7.0~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 12 Feb 2010 14:30:12 +0000
+
+git-core (1:1.7.0~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff:
+    remove; applied upstream.
+  * debian/rules: NO_PYTHON=1.  Packaging the git_remote_helpers
+    Python module will require more work.
+  * update debian/copyright (closes: #557065).
+  * debian/rules: set prefix=/usr when building man pages (closes:
+    #567404).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sat, 30 Jan 2010 17:46:04 -0600
+
+git-core (1:1.6.6.2-1) unstable; urgency=medium
+
+  * new upstream point release.
+  * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff:
+    remove; applied upstream.
+  * debian/rules: stop ignoring test suite failures on ia64, since
+    #563882 has been fixed.  Build-Depends: and Depends:
+    libc6.1 (>= 2.10.2-6) [ia64] for the fix (closes: #568915).
+  * update debian/copyright (closes: #557065).
+  * debian/rules: set prefix=/usr when building man pages (closes:
+    #567404).
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Thu, 11 Feb 2010 21:48:55 -0600
+
+git-core (1:1.6.6.1-1) unstable; urgency=low
+
+  [ Gerrit Pape ]
+  * new upstream point release.
+    * Document git-blame triple -C option (thx Ramkumar Ramachandra,
+      closes: #476604).
+  * debian/diff/0003-git-cvsserver-allow-regex-metacharacters...diff:
+    new; git-cvsserver: allow regex metacharacters in CVSROOT (fixes
+    build/selftest failure if the build directory pathname contains a +).
+  * debian/gitweb.apache2.conf, debian/gitweb.postinst: new; make gitweb
+    work out of the box with Apache (thx Charles Plessy).
+  * debian/gitweb.README.Debian, debian/gitweb.conf, debian/rules: make
+    gitweb work out of the box with Apache (thx Charles Plessy, closes:
+    #497809).
+  * debian/gitweb.conffiles: add /etc/apache2/conf.d/gitweb.
+
+  [ Jonathan Nieder ]
+  * debian/rules: ignore test suite failures on ia64 (workaround:
+    #563882).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 27 Jan 2010 13:30:29 +0000
+
+git-core (1:1.6.6-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 04 Jan 2010 16:01:36 +0000
+
+git-core (1:1.6.6~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 17 Dec 2009 10:13:09 +0000
+
+git-core (1:1.6.5.7-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 17 Dec 2009 09:39:55 +0000
+
+git-core (1:1.6.6~rc1-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 04 Dec 2009 00:17:27 +0000
+
+git-core (1:1.6.5.4-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 03 Dec 2009 22:48:57 +0000
+
+git-core (1:1.6.6~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0001-bug-369742-pager.c-fallback-to-pager-...diff,
+    debian/diff/0002-bug-438793-494505-fallback-to-editor-...diff,
+    debian/diff/0004-bug-477337-git-svn.perl-fallback-to...diff:
+    remove; obsolete.
+  * debian/rules: add DEFAULT_PAGER=pager, DEFAULT_EDITOR=editor to
+    OPTS.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 26 Nov 2009 00:17:59 +0000
+
+git-core (1:1.6.5.3-1) unstable; urgency=low
+
+  [ Tanguy Ortolo ]
+  * debian/git-core.README.Debian, debian/control: git-daemon-run:
+    document that git-daemon is not provided by this package; add hint
+    on how to enable git-daemon through inetd(8) (closes: #554215).
+
+  [ Jonathan Nieder ]
+  * debian/rules: drop misleading PPC_SHA1, ARM_SHA1 settings (closes:
+    #555039).
+  * debian/rules: log $(CC) version, not gcc (closes: #555040).
+  * debian/rules: allow clean as non-root (closes: #555041).
+  * debian/rules: drop obsolete WITH_P4IMPORT setting (closes:
+    #555051).
+  * debian/rules: TCLTK_PATH=wish (closes: #555027).
+
+  [ Gerrit Pape ]
+  * new upstream point release.
+    * ls-files: unbreak "ls-files -i" (closes: #553296).
+    * Require a struct remote in transport_get(); Allow curl helper to
+      work without a local repository (closes: #553507).
+    * help -a: do not unnecessarily look for a repository (closes:
+      #539273).
+    * thx Jonathan Nieder.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 17 Nov 2009 21:01:46 +0000
+
+git-core (1:1.6.5.2-1) unstable; urgency=low
+
+  * restore temporary lost changes from version 1:1.6.3.3-2 (closes:
+    #530693).
+  * new upstream point release.
+    * grep: do not segfault when -f is used (closes: 551071).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 26 Oct 2009 12:05:18 +0000
+
+git-core (1:1.6.5-1) unstable; urgency=low
+
+  * new upstream release.
+    * git-doc: html no longer uses "{plus}" where it should be "+"
+      (closes: #529255).
+  * debian/git-core.README.source: new; document how to use the
+    Debian package source.
+  * debian/implicit: update to revision 60d9070.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 13 Oct 2009 00:23:00 +0000
+
+git-core (1:1.6.4.3-1) unstable; urgency=low
+
+  * new upstream release (closes: #546709).
+    * git-cvsserver: no longer use deprecated 'git-subcommand' commands
+      (closes: #536067).
+  * branch debian-sid: git cherry-pick 098082f, 318b847, 1f9b620 (thx
+    Anders Kaseorg; closes: #546499).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 16 Sep 2009 11:03:45 +0000
+
+git-core (1:1.6.3.3-2) unstable; urgency=low
+
+  [ Anders Kaseorg ]
+  * Fix manpage formatting: set ASCIIDOC_NO_ROFF instead of
+    DOCBOOK_XSL_173 (based on the instructions in Documentation/Makefile)
+    and don’t override the internal Makefile variable ASCIIDOC_EXTRA
+    (closes: #530693, #521954, #533320).
+
+  [ Gerrit Pape ]
+  * debian/control: Standards-Version: 3.8.2.0.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 29 Jun 2009 00:06:59 +0000
+
+git-core (1:1.6.3.3-1) unstable; urgency=high
+
+  * new upstream point release.
+    * daemon: Strictly parse the "extra arg" part of the command
+      (closes: #532935; CVE-2009-2108).
+  * debian/rules: add NO_CROSS_DIRECTORY_HARDLINKS=1 to OPTS.
+  * debian/diff/0006-bug-520116-Makefile-do-not-install-cross...diff:
+    remove; obsolete.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 23 Jun 2009 08:49:17 +0000
+
+git-core (1:1.6.3.1-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 14 May 2009 21:35:01 +0000
+
+git-core (1:1.6.3-1) unstable; urgency=low
+
+  * new upstream release.
+  * merge branch debian-experimental.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 08 May 2009 07:57:39 +0000
+
+git-core (1:1.6.3~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 29 Apr 2009 21:58:10 +0000
+
+git-core (1:1.6.3~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 20 Apr 2009 21:44:09 +0000
+
+git-core (1:1.6.2.4-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 20 Apr 2009 20:22:02 +0000
+
+git-core (1:1.6.3~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 14 Apr 2009 23:06:38 +0000
+
+git-core (1:1.6.2.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/control: Standards-Version: 3.8.1.0.
+  * debian/control: change subversion to Subversion in description.
+  * debian/control: Section: vcs (except for git-doc).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 14 Apr 2009 22:46:43 +0000
+
+git-core (1:1.6.2.2-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0006-bug-520116-Makefile-do-not-install-cross...diff:
+    new; Makefile: do not install cross-directory hardlink (thx Jonathan
+    Nieder, closes: #520116).
+  * debian/git-daemon/run: run /usr/lib/git-core/git-daemon instead of
+    'git daemon' (closes: #522348).
+  * debian/git-daemon-run.postinst: on upgrade from >> 1:1.6.0, fixup
+    #522348.
+  * debian/git-core.emacsen-startup: remove the line
+    '(add-to-list 'vc-handled-backends 'git)' (closes: #519728).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 05 Apr 2009 20:49:25 +0000
+
+git-core (1:1.6.2.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/git-core.emacsen-startup: no longer refer to vc-git.el
+    (closes: #519728).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 16 Mar 2009 22:18:05 +0000
+
+git-core (1:1.6.2-1) unstable; urgency=medium
+
+  * new upstream release.
+  * merge branch debian-experimental.
+  * debian/diff/0006-Install-builtins-with-the-user-and-group-of...diff,
+    debian/diff/0007-git-quiltimport-preserve-standard-input-to...diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 04 Mar 2009 22:44:43 +0000
+
+git-core (1:1.6.2~rc2-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 26 Feb 2009 22:15:13 +0000
+
+git-core (1:1.6.1.3-2) unstable; urgency=high
+
+  * debian/diff/0006-Install-builtins-with-the-user-and-group-of...diff:
+    new from upstream git: Install builtins with the user and group of
+    the installing personality.
+  * debian/diff/0007-git-quiltimport-preserve-standard-input-to...diff:
+    new from upstream git: git-quiltimport: preserve standard input to
+    be able to read user input (closes: #515910).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 26 Feb 2009 22:01:37 +0000
+
+git-core (1:1.6.2~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/git-core.docs, debian/git-doc.docs, debian/rules: move
+    Documentation/RelNotes* from git-doc to the git-core package
+    (closes: #514866).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 17 Feb 2009 20:20:03 +0000
+
+git-core (1:1.6.2~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 10 Feb 2009 00:06:02 +0000
+
+git-core (1:1.6.1.3-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 09 Feb 2009 21:31:39 +0000
+
+git-core (1:1.6.1.2-1) experimental; urgency=low
+
+  * new upstream release.
+    * don't fail to clone over http if connection is rate limited
+      (closes: #512795).
+    * git svn info no longer fails (closes: #499243).
+  * debian/rules: ASCIIDOC_EXTRA='-a asciidoc7compatible -a docbook-xsl-172'
+    and DOCBOOK_XSL_173=Yes when building documentation (thx Niko Tyni
+    for the patch, closes: #497883).
+  * merge branch debian-lenny.
+  * debian/diff/0005-gitweb-do-not-run-git-diff-that-is-Porcelain.diff:
+    remove; fixed upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 02 Feb 2009 23:26:45 +0000
+
+git-core (1:1.5.6.5-3) unstable; urgency=high
+
+  * debian/rules: no longer install symlink /etc/init.d/git-daemon ->
+    /usr/bin/sv (closes: #511687).
+  * debian/git-daemon-run.README.Debian: document how to create the
+    symlink manually to have an LSB compatible /etc/init.d/git-daemon
+    interface to control the service.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 02 Feb 2009 20:56:15 +0000
+
+git-core (1:1.6.0.6-1) experimental; urgency=low
+
+  * debian/control: git-email: Recommends: libnet-smtp-ssl-perl,
+    libauthen-sasl-perl (thx Kees Cook, closes: #505636).
+  * debian/diff/0005-bug-506445-hooks-post-receive-email-set-...diff:
+    new; hooks/post-receive-email: set encoding to utf-8 (thx Alexander
+    Gerasiov, closes: #506445).
+  * new upstream point release (closes: #504641).
+    * gitweb: do not run "git diff" that is Porcelain.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 20 Dec 2008 11:03:49 +0000
+
+git-core (1:1.5.6.5-2) unstable; urgency=high
+
+  * debian/diff/0005-gitweb-do-not-run-git-diff-that-is-Porcelain.diff:
+    new; fix possible gitweb vulnerability: calling "git diff": Jakub
+    says that legacy-style URI to view two blob differences are never
+    generated since 1.4.3.  This codepath runs "git diff" Porcelain from
+    the gitweb, which is a no-no.  It can trigger diff.external command
+    that is specified in the configuration file of the repository being
+    viewed.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 17 Dec 2008 09:27:01 +0000
+
+git-core (1:1.6.0.4-1) experimental; urgency=low
+
+  * new upstream point release.
+  * debian/control: git-email: minor update to the long description
+    (thx Gerfried Fuchs, closes: #501559).
+  * debian/rules: TCLTK_PATH=/usr/bin/wish instead of wish8.5 in OPTS.
+  * debian/control: git-gui, gitk: Depends: tk (>= 8.4) instead of
+    tk8.5 (thx Adeodato Simó, closes: #503113).
+  * debian/rules: move the /usr/bin/git-cvsserver program into the
+    git-cvs package.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 11 Nov 2008 22:36:05 +0000
+
+git-core (1:1.6.0.3-1) experimental; urgency=low
+
+  * debian/control: minor update to long descriptions (thx Reuben
+    Thomas, closes: #499065).
+  * debian/git-core.emacsen-startup: new; emacsen-startup configuration
+    file (thx Jari Aalto, closes: #472197).
+  * debian/rules: install emacsen-startup configuration file into the
+    git-core package (thx Eddy Mulyono, closes: #446027).
+  * new upstream point release.
+  * debian/git-core.conffiles: add /etc/emacs/site-start.d/50git-core.el
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 04 Nov 2008 20:26:56 +0000
+
+git-core (1:1.6.0.2-1) experimental; urgency=low
+
+  * new upstream point release.
+  * debian/git-core.NEWS.Debian: new; mention that most of the programs
+    now are installed outside the default $PATH; the "git-xyzzy" form
+    in scripts and on the command line is no longer supported in 1.6.0.
+  * debian/git-core.README.Debian: fix paths in config example (thx
+    Michael Biebl for the patch, closes: #498741).
+  * debian/git-core.README.Debian: typo (thx Vincent Bernat for the
+    patch, closes: #496834).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 24 Sep 2008 20:55:26 +0000
+
+git-core (1:1.6.0.1-1) experimental; urgency=low
+
+  * new upstream point release (closes: #496155).
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 27 Aug 2008 07:53:36 +0000
+
+git-core (1:1.6.0-1) experimental; urgency=low
+
+  * new upstream release.
+    * svnimport: newer libsvn wants us to ask for the root with "",
+      not "/" (closes: #492522, #490400).
+    * Keep some git-* programs in $(bindir); Move all dashed-form
+      commands to libexecdir (closes: #461212).
+    * bash: Add more option completions for 'git log' (closes:
+      #490220).
+    * Fix buffer overflow in prepare_attr_stack; Fix buffer overflow
+      in git diff; Fix buffer overflow in git-grep (closes: #494097).
+  * 0002-bug-438793-git-sh-setup.sh-builtin-tag.c-fallback.diff: redo
+    as 0002-bug-438793-494505-fallback-to-editor-not-vi.diff (thx
+    Jonathan Nieder for the patch, closes: #494505).
+  * debian/rules: add gitexecdir=/usr/lib/git-core to OPTS; adapt
+    several paths (thx Jonathan Nieder for a patch, closes: #480396).
+  * debian/gitweb.NEWS.Debian: new; talk about files moved from
+    /var/www/ to /usr/share/gitweb/ (see #479479; closes: #494467).
+  * debian/git-daemon/run: run git daemon instead of git-daemon
+    (dash-less form).
+  * debian/git-daemon-run.postinst: add gitdaemon system user.
+  * debian/git-daemon/run: utilize chpst to run git daemon as user
+    gitdaemon (thx Daniel Kahn Gillmor, closes: #494991).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 24 Aug 2008 22:31:44 +0000
+
+git-core (1:1.5.6.5-1) unstable; urgency=high
+
+  * new upstream point release.
+    * Fix buffer overflow in prepare_attr_stack; Fix buffer overflow
+      in git diff; Fix buffer overflow in git-grep (CVE-2008-3546;
+      closes: #494097).
+  * debian/diff/0005-bug-494097-CVE-2008-3546.diff: remove; obsolete.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 24 Aug 2008 19:22:02 +0000
+
+git-core (1:1.5.6.3-1.1) unstable; urgency=high
+
+  * Non-maintainer upload by the Security Team.
+  * Fix various stack-based buffer overflows when processing overly long
+    repository pathnames which can be exploited to execute arbitrary code if
+    a victim is tricked into using git-grep or git-diff on a crafted
+    repository (CVE-2008-3546; Closes: #494097).
+
+ -- Nico Golde <nion@debian.org>  Sat, 09 Aug 2008 13:53:13 +0200
+
+git-core (1:1.5.6.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0005-git-svn.perl-workaround-assertions-in-svn...diff:
+    remove; applied upstream (opens: #490400).
+  * debian/control: Standards-Version: 3.8.0.1.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 17 Jul 2008 07:40:08 +0000
+
+git-core (1:1.5.6.2-1) unstable; urgency=low
+
+  * new upstream point release (closes: #489431).
+  * debian/copyright: apply patch from Ansgar Burchardt: adopt proposed
+    machine-readable format; clarify some license information (thx,
+    closes: #488351).
+  * debian/rules: package gitweb: install gitweb.css, git-favicon.png,
+    git-logo.png into /usr/share/gitweb/ instead of /var/www/ (closes:
+    #479479).
+  * debian/control: package git-arch: no longer Suggests: bazaar
+    (closes: #486726).
+  * debian/diff/0005-git-svn.perl-workaround-assertions-in-svn...diff:
+    new; git-svn.perl: workaround assertions in svn library 1.5.0
+    (closes: #489108).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 06 Jul 2008 18:35:27 +0000
+
+git-core (1:1.5.6-1) unstable; urgency=low
+
+  * new upstream release.
+  * merge branch debian-experimental.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 19 Jun 2008 07:38:31 +0000
+
+git-core (1:1.5.6~rc3-1) experimental; urgency=low
+
+  * debian/git-daemon-run.postrm: remove log files on purge.
+  * new upstream release candidate.
+  * debian/control: package git-core: no longer Depends: cpio, no
+    longer Recommends: curl.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 15 Jun 2008 11:14:49 +0000
+
+git-core (1:1.5.6~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * merge branch debian-sid.
+  * debian/rules: do not build manpages twice (thx Jonathan Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 09 Jun 2008 12:02:43 +0000
+
+git-core (1:1.5.5.4-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/rules: enable DOCBOOK_XSL_172 build variable, fixing man page
+    breakage (thx Jonathan Nieder, closes: #476634).
+  * debian/control: Build-Depends: docbook-xsl (>> 1.72) (thx Jonathan
+    Nieder).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 09 Jun 2008 11:51:19 +0000
+
+git-core (1:1.5.6~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * git-svn fails in prop_walk if $self->{path} is not empty (closes:
+      477393).
+    * gitweb: Fix "next" link on bottom of page (closes: #481902).
+  * merge branch debian-sid.
+  * debian/rules: add THREADED_DELTA_SEARCH=1 to OPTS (closes: #483534).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 05 Jun 2008 10:14:14 +0000
+
+git-core (1:1.5.5.3-1) unstable; urgency=low
+
+  * new upstream point release.
+    * commit --interactive: properly update the index before commiting
+      (closes: #480429).
+  * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff:
+    remove; applied upstream.
+  * debian/diff/0005-bug-477337-git-svn.perl-fallback-to-pager...diff:
+    new; git-svn.perl: fallback to 'pager' not 'less' if PAGER is unset
+    (closes: #477337).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 28 May 2008 19:32:57 +0000
+
+git-core (1:1.5.6~rc0-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+  * debian/diff/0004-gitweb-fallback-to-system-wide-config-file...diff:
+    remove; fixed upstream.
+  * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 26 May 2008 16:53:38 +0000
+
+git-core (1:1.5.5.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * diff-options.txt: document the new "--dirstat" option (closes:
+      #476437).
+  * debian/diff/0005-git-bisect.sh-don-t-accidentally-override...diff:
+    new: git-bisect.sh: don't accidentally override existing branch
+    "bisect" (closes: #478647).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 26 May 2008 16:41:45 +0000
+
+git-core (1:1.5.5.1-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 21 Apr 2008 18:24:34 +0000
+
+git-core (1:1.5.5-1) unstable; urgency=low
+
+  * new upstream release.
+    * gitk: Fix changing colors through Edit->Preferences (closes: #472615).
+    * Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"
+      (closes: #469083).
+  * merge branch debian/experimental.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 08 Apr 2008 20:26:25 +0000
+
+git-core (1:1.5.5~rc3-2) experimental; urgency=low
+
+  * debian/diff/0004-gitweb-fallback-to-system-wide-config-file-if-defaul.diff:
+    amend: properly apply GITWEB_CONFIG_SYSTEM to gitweb.cgi.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 04 Apr 2008 20:40:48 +0000
+
+git-core (1:1.5.5~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0004-gitweb-fallback-to-system-wide-config-file-if-defaul.diff:
+    new: gitweb: fallback to system-wide config file if default config does
+    not exist (closes: #450592).
+  * debian/rules: remove GITWEB_CONFIG=/etc/gitweb.conf from OPTS.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 03 Apr 2008 19:43:33 +0000
+
+git-core (1:1.5.5~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * t9600-cvsimport.sh: set HOME before checking for cvsps availability
+      (closes: #471969).
+    * imap-send: properly error out if imap.host is not set in config
+      (closes: #472632).
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 28 Mar 2008 08:53:30 +0000
+
+git-core (1:1.5.4.5-1) unstable; urgency=low
+
+  * new upstream point release (closes: #473071).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 28 Mar 2008 08:26:39 +0000
+
+git-core (1:1.5.5~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 23 Mar 2008 11:55:21 +0000
+
+git-core (1:1.5.5~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * git-pull documentation: warn about the option order (closes: #463853).
+    * hash-object: cleanup handling of command line options (closes:
+      #464432).
+  * debian/diff/0004-gitk-properly-deal-with-tag-names-containing-sl.diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 19 Mar 2008 07:45:01 +0000
+
+git-core (1:1.5.4.4-1) unstable; urgency=low
+
+  * new upstream point release.
+    * templates/Makefile: don't depend on local umask setting (closes:
+      #467518).
+    * Fix random crashes in http_cleanup() (closes: #468836).
+    * send-email: fix In-Reply-To regression (closes: #468153).
+    * git-merge.sh: better handling of combined --squash,--no-ff,--no-commit
+      options (closes: #468568).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 10 Mar 2008 10:38:51 +0000
+
+git-core (1:1.5.4.3-1) unstable; urgency=low
+
+  * new upstream point release.
+    * git-clone.sh: properly configure remote even if remote's head is
+      dangling (closes: #466581).
+  * debian/diff/0004-gitk-properly-deal-with-tag-names-containing-sl.diff:
+    new: from upstream master: gitk: properly deal with tag names containing /
+    (slash) (closes: #464104).
+  * debian/git-daemon-run.postrm: adapt paths in /var/.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 24 Feb 2008 16:19:02 +0000
+
+git-core (1:1.5.4.2-2) unstable; urgency=low
+
+  * debian/rules: git-daemon-run: no longer include symlinks for ./supervise/
+    subdirectories, update-service now takes care of this.
+  * debian/git-daemon-run.postinst: remove ad re-add git-daemon service on
+    upgrade from <= 1.5.4.2-1.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 18 Feb 2008 22:22:14 +0000
+
+git-core (1:1.5.4.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * cvsimport: have default merge regex also match beginning of commit
+      message (thx Frédéric Brière, closes: #463468).
+    * builtin-commit: remove .git/SQUASH_MSG upon successful commit (closes:
+      #464656).
+  * debian/rules: change TCLTK_PATH to /usr/bin/wish8.5 in OPTS.
+  * debian/control: Build-Depends: tcl8.5; git-gui, gitk: Depends: tk8.5
+    (closes: #456423).
+  * debian/git-daemon-run.postinst, debian/git-daemon-run.postrm,
+    debian/git-daemon-run.prerm: use runit's update-service program to
+    add/remove the git daemon service, instead of dealing with symlinks in
+    /var/service/ directly.
+  * debian/control: package git-daemon: Depends: runit (>= 1.8.0-2) (1st
+    version that provides the update-service program).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 17 Feb 2008 18:48:00 +0000
+
+git-core (1:1.5.4.1-1) unstable; urgency=medium
+
+  * debian/control: Build-Depends: cvsps (for selftests, thx Marco Rodrigues,
+    closes: #463896).
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 11 Feb 2008 12:00:03 +0000
+
+git-core (1:1.5.4-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream release.
+  * debian/git-core.README.Debian: add Alias'es for git-favicon.png and
+    git-logo.png to the VirtualHost example (thx Frederic Briere, closes:
+    #463732).
+  * debian/rules: target build-arch-stamp: re-run selftests with --verbose
+    on test failures.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 03 Feb 2008 05:01:16 +0000
+
+git-core (1:1.5.4~rc5-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 28 Jan 2008 11:01:08 +0000
+
+git-core (1:1.5.4~rc4-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0003-bug-448655-check-etc-mailname-if-author-email-is-un.diff:
+    adapt; don't warn if /etc/mailname does not exist (closes: #461844).
+  * debian/rules: install /usr/share/gitk/ into the gitk package, not
+    git-core.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 21 Jan 2008 21:15:21 +0000
+
+git-core (1:1.5.4~rc3-1) experimental; urgency=low
+
+  * merge branch debian-sid.
+  * new upstream release candidate.
+    * "git pull --tags": error out with a better message (closes: #456035).
+    * gitk: use user-configured background in view definition dialog
+      (closes: #457124).
+  * debian/control: Build-Depends: cvs, libdbd-sqlite3-perl (for selftests).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 12 Jan 2008 15:09:23 +0000
+
+git-core (1:1.5.3.8-1) unstable; urgency=low
+
+  * debian/control: for all packages: Suggests: git-doc instead of
+    Recommends: (thx Andrew Moise, closes: #455369).
+  * debian/control: add Vcs-Git: http://smarden.org/git/git.git/.
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 08 Jan 2008 21:01:35 +0000
+
+git-core (1:1.5.4~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * shortlog manpage documentation: work around asciidoc markup issues
+      (closes: #447911).
+    * Fix $EDITOR regression introduced by rewrite in C (closes: #446845).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 27 Dec 2007 08:45:01 +0000
+
+git-core (1:1.5.4~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * gitweb: Teach "a=blob" action to be more lenient about blob/file mime
+      type (closes: #435610).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 20 Dec 2007 09:07:10 +0000
+
+git-core (1:1.5.4~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * build with correct version information (on amd64, closes: #454935,
+      #454408).
+    * git-reset: add -q option to operate quietly (closes: #444933).
+    * gitk: disable colours when calling git log (closes: #454420).
+    * "git svnimport" was removed in favor of "git svn" (closes: #436930,
+      #447325, #447965, #451037).
+    * git-commit: allow grouping of short options (closes: #407241).
+  * debian/diff/0004-contrib-hooks-post-receive-email-make-subject-prefix.diff,
+    debian/diff/0005-Don-t-cache-DESTDIR-in-perl-perl.mak.diff: remove;
+    applied upstream.
+  * debian/rules: install git-gui's lib/ directory plus subdirectory
+    properly.
+  * debian/control: Build-Depends: gettext.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 13 Dec 2007 14:08:45 +0000
+
+git-core (1:1.5.3.7-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/0005-Don-t-cache-DESTDIR-in-perl-perl.mak.diff: new; don't
+    cache DESTDIR in perl/perl.mak (#452077).
+  * debian/rules: remove $(MAKE) -C perl clean to remove the perl/perl.mak
+    again, this is now handled through debian/diff/0005 (thx Pierre
+    Habouzit, #452077).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  3 Dec 2007 10:17:11 +0000
+
+git-core (1:1.5.3.6-1.1) unstable; urgency=low
+
+  * Non-maintainer upload: Gerrit is currently changing home, and this bug is
+    preventing people from installing git, I took the initiative to fix it
+    before his return.
+  * debian/rules: force a $(MAKE) -C perl clean to remove the perl/perl.mak
+    that remembers our DESTDIR and makes perl modules be installed in
+    debian/git-core/ in the install-indep target again
+    (closes: #452077, #452078, #452080, #452111, #452324).
+
+ -- Pierre Habouzit <madcoder@debian.org>  Thu, 22 Nov 2007 00:40:08 +0100
+
+git-core (1:1.5.3.6-1) unstable; urgency=low
+
+  * debian/implicit: add proper dependencies to support 'parallel build'
+    through make -j (thx Daniel Schepler for the patch).
+  * debian/rules: support 'nocheck' in DEB_BUILD_OPTIONS to skip running
+    the selftests.
+  * debian/diff/0003-bug-448655-check-etc-mailname-if-author-email-is-un.diff:
+    new; check /etc/mailname if author email is unknown (closes: #448655).
+  * debian/gitweb.docs: new; install gitweb/README.
+  * new upstream point release.
+    * git-cvsimport: really convert underscores in branch names to dots with
+      -u (closes: #446495).
+    * git-mailsplit: with maildirs not only process cur/, but also new/
+      (closes: #447396).
+  * debian/diff/0004-contrib-hooks-post-receive-email-make-subject-prefix.diff:
+    new; cherry-pick'ed from master: contrib/hooks/post-receive-email: make
+    subject prefix configurable (closes: #428418).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 19 Nov 2007 12:32:11 +0000
+
+git-core (1:1.5.3.5-1) unstable; urgency=low
+
+  * new upstream point release.
+    * git-config: handle --file option with relative pathname properly;
+      git-config: print error message if the config file cannot be read;
+      git-config: don't silently ignore options after --list (closes:
+      #445208).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 01 Nov 2007 08:35:46 +0000
+
+git-core (1:1.5.3.4-1) unstable; urgency=low
+
+  * new upstream point release (closes: #445188).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 04 Oct 2007 08:27:01 +0000
+
+git-core (1:1.5.3.3-1) unstable; urgency=low
+
+  * new upstream point release.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 30 Sep 2007 09:25:06 +0000
+
+git-core (1:1.5.3.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * git-svn: fix "Malformed network data" with svn:// servers (closes:
+      #430091, #436142).
+    * git-commit: Allow partial commit of file removal (closes: #437817).
+    * git-gui: lib/index.tcl: handle files with % in the filename properly
+      (closes: #441167).
+    * git-clone: improve error message if curl program is missing or not
+      executable (closes: #440976).
+  * debian/git-daemon-run.postinst: use 'sv -v term git-daemon' instead of
+    'sv restart git-daemon' to restart git-daemon service if it was running.
+  * debian/control: git-core: no longer Suggests: cogito, which was removed.
+  * debian/diff/genindex.diff: apply and remove.
+  * debian/gitweb.conf: comment out $home_link, and set to gitweb.cgi's
+    default (thx Ansgar Burchardt for the patch, closes: 441694).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 20 Sep 2007 07:28:41 +0000
+
+git-core (1:1.5.3.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/control: git-daemon-run: improve long description (closes:
+    #440699).
+  * debian/git-daemon-run.README.Debian: improve.
+  * debian/control: git-svn: improve long description.
+  * debian/control: git-cvs: improve long description.
+  * debian/control: git-core: improve long description (closes: #412560).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 04 Sep 2007 18:18:33 +0000
+
+git-core (1:1.5.3-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream release.
+  * debian/control: git-email: move libemail-valid-perl from Depends: to
+    Recommends: (thx Uwe Kleine-Koenig, closes: #439902).
+  * debian/control: git-email: no longer Depends: libmail-sendmail-perl (thx
+    Uwe Kleine-Koenig).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 02 Sep 2007 16:41:54 +0000
+
+git-core (1:1.5.3~rc7-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0002-git-merge-do-up-to-date-check-also-for-all-strategie.diff:
+    remove; included upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 29 Aug 2007 12:22:16 +0000
+
+git-core (1:1.5.3~rc6-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * git-am: initialize variable $resume on startup (closes: #435807).
+  * debian/diff/0002-git-merge-do-up-to-date-check-also-for-all-strategie.diff:
+    new; http://article.gmane.org/gmane.comp.version-control.git/55981.
+  * debian/diff/0003-git-sh-setup.sh-fallback-to-editor-not-vi-if-VI.diff:
+    new; git-sh-setup.sh: fallback to 'editor' not 'vi' if $VISUAL and $EDITOR
+    are unset (thx Mike Hommey, closes: #438793).
+  * merge branch debian-sid.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 26 Aug 2007 09:54:16 +0000
+
+git-core (1:1.5.2.5-2) unstable; urgency=low
+
+  * debian/git-core.conffiles: new; add /etc/bash_completion.d/git.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 26 Aug 2007 09:49:39 +0000
+
+git-core (1:1.5.2.5-1) unstable; urgency=low
+
+  * debian/control: fix typo in Build-Depends: libcurl4-gnutls-dev |
+    libcurl3-gnutls-dev (thx Mikael Eriksson, closes: #433196).
+  * new upstream point release.
+  * debian/rules: add TCLTK_PATH=/usr/bin/wish8.4 to OPTS (closes: #438662).
+  * dbian/control: git-core: Depends: cpio (closes: #438057).
+  * debian/git-core.README.Debian: fix typos (closes: #438932).
+  * debian/versions.upstream, debian/changelog.upstream: adapt.
+  * debian/rules, debian/control: install git-completion.bash from contrib as
+    /etc/bash_completion.d/git; git-core: Conflicts:, Provides:, Replaces:
+    git-completion (closes: #437532, thx Sebastian Harl).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 25 Aug 2007 17:56:20 +0000
+
+git-core (1:1.5.3~rc4-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 04 Aug 2007 13:02:05 +0000
+
+git-core (1:1.5.3~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/versions.upstream, debian/changelog.upstream: adapt.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 27 Jul 2007 11:13:52 +0000
+
+git-core (1:1.5.3~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/????-Pack-objects-properly-initialize-the-depth-value.diff:
+    remove; obsolete.
+  * debian/control, debian/rules: remove git-p4 package again, moved into
+    contrib/ upstream; see /usr/share/doc/git-core/contrib/p4import/.
+  * debian/versions.upstream, debian/changelog.upstream: adapt.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 20 Jul 2007 08:47:45 +0000
+
+git-core (1:1.5.3~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+    * git-commit: don't add multiple Signed-off-by: from the same identity
+      (closes: #430851).
+    * Fix core.sharedRepository = 2 (closes: #432698).
+  * merge branch debian-sid.
+  * debian/versions.upstream, debian/changelog.upstream: adapt.
+  * debian/diff/0002-gitk-properly-resolve-ambiguity-if-argument-is-both.diff:
+    remove; doesn't apply anymore.
+  * debian/diff/0002-Pack-objects-properly-initialize-the-depth-value.diff:
+    new; on upstream advice.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 14 Jul 2007 11:45:27 +0000
+
+git-core (1:1.5.2.4-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/rules: build documentation with ASCIIDOC8=YesPlease (closes:
+    #432560).
+  * debian/control: Build-Depends: asciidoc (>> 8.0.0).
+  * debian/diff/????-git-gui-properly-popup-error-if-gitk-should-be-start.diff:
+    remove; merged upstream.
+  * debian/control: Build-Depends: libcurl4-gnutls-dev | libcurl3-gnutsl-dev
+    (closes: #432812).
+  * debian/versions.upstream, debian/changelog.upstream: adapt.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 13 Jul 2007 19:13:38 +0000
+
+git-core (1:1.5.3~rc0-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/changelog.upstream.sh: run git shortlog with option --no-merges.
+  * debian/versions.upstream, debian/changelog.upstream: update.
+  * debian/diff/0003-git-svn-trailing-slash-in-prefix-is-mandatory-with.diff,
+    debian/diff/0004-git-cvsimport-force-checkout-of-working-tree-after-i.diff:
+    remove; applied upstream.
+  * debian/diff/00*.diff: adapt.
+  * debian/rules: put git-gui, git-citool man pages into package git-gui.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 03 Jul 2007 10:01:12 +0000
+
+git-core (1:1.5.2.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/control: package git-gui: Replaces: git-core (<< 1:1.5.2.2-3)
+    (thx Frank Lichtenheld, closes: #431481).
+  * debian/versions.upstream, debian/changelog.upstream: update.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 03 Jul 2007 08:26:11 +0000
+
+git-core (1:1.5.2.2-3) unstable; urgency=low
+
+  * debian/rules: move /usr/share/git-gui/ from git-core package into
+    git-gui package (thx Ansgar Burchardt, closes: #430530).
+  * debian/diff/0004-git-cvsimport-force-checkout-of-working-tree-after-i.diff:
+    new; git-cvsimport: force checkout of working tree after initial import
+    (closes: #430903).
+  * debian/diff/0005-git-gui-properly-popup-error-if-gitk-should-be-start.diff:
+    new; git-gui: properly popup error if gitk should be started but is not
+    installed (#429810).
+  * debian/control: git-gui: Recommends: gitk (closes: #429810).
+  * debian/rules: workaround #427907: compile with -O0 instead of -O2 on hppa
+    (#429389).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 29 Jun 2007 12:54:39 +0000
+
+git-core (1:1.5.2.2-2) unstable; urgency=low
+
+  * debian/control: all Architecture: all packages: Depends: git-core (>>
+    ${source:Upstream-Version}, git-core (<< ${source:Upstream-Version}-.)
+    instead of (= ${source:Version}) to support binNMUs (closes: #423041,
+    #430128).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 23 Jun 2007 14:02:36 +0000
+
+git-core (1:1.5.2.2-1) unstable; urgency=low
+
+  * new upstream point release.
+    * Fix typo in remote branch example in git user manual (closes: #427502).
+  * debian/diff/0003-git-branch-track-fix-tracking-branch-computation.diff:
+    remove; applied upstream.
+  * debian/versions.upstream: new; ordered list of upstream versions,
+    starting with 1.0.0.
+  * debian/changelog.upstream.sh: new; create changelog.upstream from git
+    shortlog using debian/versions.upstream.
+  * debian/changelog.upstream: re-created through changelog.upstream.sh.
+  * debian/diff/0003-git-svn-trailing-slash-in-prefix-is-mandatory-with.diff:
+    new; git-svn: trailing slash in prefix is mandatory with --branches/-b
+    (closes: #429443).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 19 Jun 2007 17:32:30 +0000
+
+git-core (1:1.5.2.1-2) unstable; urgency=low
+
+  * debian/diff/0003-git-branch-track-fix-tracking-branch-computation.diff:
+    new; from upstream master: git-branch --track: fix tracking branch
+    computation.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri,  8 Jun 2007 09:04:47 +0000
+
+git-core (1:1.5.2.1-1) unstable; urgency=low
+
+  * new upstream point release.
+    * Create a new manpage for the gitignore format, and reference it
+      elsewhere (thx Josh Triplett, closes: #427078).
+  * debian/diff/0002-gitk-properly-resolve-ambiguity-if-argument-is-both.diff:
+    new; properly resolve ambiguity if argument is both, revision and
+    filename (closes: #425491).
+  * debian/control: git-core: Conflicts: git (<< 4.3.20-11) (/usr/bin/git
+    transition).
+  * debian/git-daemon-run.README.Debian: new (#422139).
+  * debian/control: all Architecture: all packages: Depends: git-core
+    (= ${source:Version}) instead of (>= ...); this makes it no longer
+    support binNMUs (closes: #425494, reopens: #423041).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 03 Jun 2007 10:09:53 +0000
+
+git-core (1:1.5.2-1) unstable; urgency=low
+
+  * merge branch debian-experimental.
+  * new upstream release.
+    * gitweb: choose appropriate view for file type if a= parameter missing
+      (closes: #410465).
+    * git fetch -q is supported (closes: #423165).
+  * /usr/bin/git transition (thx Ian Beckwith!).
+    * debian/git-core.preinst: new; remove /usr/bin/git alternative if
+      upgrading from versions older than 1:1.5.2~rc3-2.
+    * debian/git-core.prerm, debian/git-core.postinst: remove; no longer
+      handle /usr/bin/git alternative through update-alternatives.
+    * debian/rules: no longer install git program as git-scm.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 30 May 2007 12:38:45 +0000
+
+git-core (1:1.5.2~rc3-2) experimental; urgency=low
+
+  * debian/diff/0000-maint-branch-from-20070514.diff: remove; obsolete.
+  * debian/control: package git-p4: Section: contrib/devel (closes:
+    #422755).
+  * debian/control: package git-p4: Depends: git-core (>= ${source:Version})
+    instead of (= ${Source-Version}) (to support binNMUs).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 15 May 2007 21:33:06 +0000
+
+git-core (1:1.5.1.4-2) unstable; urgency=low
+
+  * debian/diff/0000-maint-branch-from-20070514.diff: new; snapshot upstream
+    maint branch 20070514:
+    * includes git-svn fixes (closes: #423599, #423226).
+  * deian/rules: reverse order when applying diffs (fix typo).
+  * debian/control: all Architecture: all packages: Depends: git-core (>=
+    ${source:Version}) instead of (= ${Source-Version}) (to support binNMUs,
+    closes: #423041).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 14 May 2007 13:15:50 +0000
+
+git-core (1:1.5.2~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/0002-Optimize-directory-listing-with-pathspec-limiter.diff:
+    remove; included upstream.
+  * debian/control: Build-Depends: tcl8.4 (for gitgui).
+  * debian/rules: add symlink /etc/init.d/git-daemon -> /usr/bin/sv to
+    git-daemon-run package (#422139).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 14 May 2007 10:10:02 +0000
+
+git-core (1:1.5.1.4-1) unstable; urgency=medium
+
+  * new upstream point release.
+  * debian/diff/pager-vs-less.diff: rename to
+    0001-pager.c-fallback-to-pager-not-less-if-PAGER-is.diff; adapt.
+  * debian/diff/0002-Optimize-directory-listing-with-pathspec-limiter.diff:
+    new: Optimize directory listing with pathspec limiter (closes: #420671).
+  * debian/git-daemon-run.postinst: restart git-daemon service if it was
+    running.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 09 May 2007 08:48:50 +0000
+
+git-core (1:1.5.2~rc2-1) experimental; urgency=low
+
+  * new upstream release candidate.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 07 May 2007 18:02:53 +0000
+
+git-core (1:1.5.2~rc1-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/control, debian/rules: new package git-p4: tools for importing
+    development history from perforce repositories.
+  * debian/rules: add WITH_P4IMPORT=1 to OPTS; no longer install
+    git-p4import.py into /usr/share/doc/git-core/contrib/; add OPTS to
+    make clean in target clean:; add PYTHON_PATH=/usr/bin/python to OPTS.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 01 May 2007 12:28:15 +0000
+
+git-core (1:1.5.1.3-1) unstable; urgency=low
+
+  * new upstream point release.
+    * git-add tried to optimize by finding common leading directories
+      across its arguments but botched, causing very confused behaviour
+      (closes: #420671).
+    * Documentation/git-reset.txt: suggest git commit --amend in example
+      (closes: #420112).
+    * unofficial rpm.spec file shipped with git was letting ETC_GITCONFIG
+      set to /usr/etc/gitconfig.  Tweak the official Makefile to make it
+      harder for distro people to make the same mistake, by setting the
+      variable to /etc/gitconfig if prefix is set to /usr (closes:
+      #420675).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 01 May 2007 08:59:06 +0000
+
+git-core (1:1.5.1.2-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 22 Apr 2007 13:31:05 +0000
+
+git-core (1:1.5.1.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+  * debian/diff/0010-rename-contrib-hooks-post-receieve-email-to-contrib.diff:
+    remove; applied upstream.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 12 Apr 2007 09:05:44 +0000
+
+git-core (1:1.5.1-1) unstable; urgency=low
+
+  * new upstream release.
+    * git-svn got almost a rewrite (closes: #416372).
+  * debian/diff/git-cvsserver-update-hook.diff: remove; included upstream.
+  * debian/diff/Documentation-git-svnimport.txt-fix-typo.diff,
+    debian/diff/http-fetch-don-t-use-double-slash-as-directory-sepa.diff,
+    debian/diff/Documentation-git-rev-parse.txt-fix-example-in-SPEC.diff:
+    remove; applied upstream.
+  * debian/diff/GNU-Hurd.diff: remove; obsolete.
+  * debian/git-daemon-run.postrm: check for deluser being available, if
+    not, print warning and don't remove system user (closes: #416755).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement, and git shortlog.
+  * debian/diff/0010-rename-contrib-hooks-post-receieve-email-to-contrib.diff:
+    new; rename contrib/hooks/post-receieve-email to contrib/hooks/post-
+    receive-email.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed,  4 Apr 2007 11:56:18 +0000
+
+git-core (1:1.5.0.6-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/http-fetch-don-t-use-double-slash-as-directory-sepa.diff:
+    new, cherry-pick'ed from upstream master: http-fetch: don't use
+    double-slash as directory separator in URLs (closes: #409887).
+  * debian/diff/Documentation-git-svnimport.txt-fix-typo.diff: new:
+    Documentation/git-svnimport.txt: fix typo.
+  * debian/diff/Documentation-git-rev-parse.txt-fix-example-in-SPEC.diff:
+    new Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES
+    (closes: #404795).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 29 Mar 2007 10:51:00 +0000
+
+git-core (1:1.5.0.5-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/rules: make sure subdirectories of /usr/share/doc/git-core/ are
+    mode 0755 (closes: #415328); remove .gitignore file(s) from
+    /usr/share/doc/git-core/ (closes: #413913).
+  * debian/control: git-svn: Depends: libterm-readkey-perl (thx Pierre
+    Habouzit, closes: #415475).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 21 Mar 2007 17:02:27 +0000
+
+git-core (1:1.5.0.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/cvsexportcommit-.msg.diff: remove; applied upstream.
+  * debian/git-core.docs, debian/git-doc.docs: add RelNotes.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  5 Mar 2007 19:44:05 +0000
+
+git-core (1:1.5.0.2-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/control: git-core: Conflicts: qgit (<< 1.5.5) (closes: #412452).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+  * debian/diff/cvsexportcommit-.msg.diff: new; don't cleanup .msg if not
+    yet committed to cvs (closes: #412732).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 28 Feb 2007 15:50:53 +0000
+
+git-core (1:1.5.0.1-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/git-cvsserver-update-hook.diff: new from upstream pu branch:
+    Have git-cvsserver call hooks/update before really altering the ref.
+  * debian/control: git-cvs: Depends: libdbd-sqlite3-perl (git-cvsserver).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 25 Feb 2007 11:38:34 +0000
+
+git-core (1:1.5.0-1) experimental; urgency=low
+
+  * new upstream release.
+  * debian/diff/archimport-empty-dir.diff: remove; applied upstream.
+  * debian/diff/pager-vs-less.diff, debian/diff/Add-install-lib-target.diff:
+    adapt.
+  * debian/control: new package git-gui, the git graphical user interface;
+    git-core: no longer Depends:, Build-Depends: rcs; git-core: Suggests:
+    git-gui.
+  * debian/rules: new package git-gui.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements and git shortlog.
+  * debian/git-daemon/run: don't limit git-daemon's memory resources.
+  * debian/control, debian/rules: remove git-core-dev package again,
+    libgit.a is not a publically usable/useful library at this moment, as
+    its internal API is not cast in stone yet.
+  * debian/diff/Add-install-lib-target.diff: remove; there's no git-core-dev
+    package.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 16 Feb 2007 07:18:44 +0000
+
+git-core (1:1.5.0~rc3-1) experimental; urgency=low
+
+  * new upstream release candidate.
+  * debian/diff/Add-install-lib-target.diff: new; add install-lib target to
+    install libgit.a library plus header files (thx Luca Falavigna).
+  * debian/rules: new package git-core-dev; remove obsolete
+    WITH_SEND_EMAIL=1, OPTIMIZE="..." from $(OPTS); remove
+    WITH_OWN_SUBPROCESS_PY=1 from $(OPTS), it's no longer necessary (thx
+    Luca Falavigna; closes: #403731); make git-p4import.pl available through
+    /usr/share/doc/git-core/contrib/ (closes: #403387); minor cleanup.
+  * debian/control: new package git-core-dev (thx Luca Falavigna; closes:
+    #407722); no longer Build-Depends: python; git-core: no longer Recommends:
+    python, Suggests: git-core-dev; update short and long descriptions
+    (closes: #406323); git-arch: Depends: tla, instead of Suggests:.
+  * debian/diff/GNU-Hurd.diff: adapt.
+  * debian/diff/archimport-empty-dir.diff: new; git-archimport: initial import
+    needs empty directory (closes: #400508).
+  * debian/gitweb.README.Debian: typo.
+
+ -- Gerrit Pape <pape@smarden.org>  Sat,  3 Feb 2007 09:32:48 +0000
+
+git-core (1:1.4.4.4-1) unstable; urgency=low
+
+  * new upstream release, important fixes:
+    * pack-check.c::verify_packfile(): don't run SHA-1 update on huge data.
+    * Fix infinite loop when deleting multiple packed refs.
+    * diff --check: fix off by one error.
+  * debian/diff/0001-spurious-.sp-in-manpages.diff: remove; included in
+    upstream version.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue,  9 Jan 2007 19:43:56 +0000
+
+git-core (1:1.4.4.3-1) unstable; urgency=medium
+
+  * new upstream release (closes: #404796); important fixes:
+    * Make sure the empty tree exists when needed in merge-recursive; the
+      error message may make the user think that their database is corrupt
+      when its actually not.
+    * Don't use memcpy when source and dest. buffers may overlap.
+    * cvsserver: Avoid miscounting bytes in Perl v5.8.x; this breaks the
+      counting of bytes for the CVS protocol, resulting in the client
+      expecting less data than we actually send, and storing truncated files.
+  * debian/diff/0001-spurious-.sp-in-manpages.diff: new from upstream git;
+    work around spurious .sp in manpages (closes: #388370).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 29 Dec 2006 07:38:15 +0000
+
+git-core (1:1.4.4.2-1) unstable; urgency=low
+
+  * new upstream release.
+    * fixes FTBFS on m68k (thx Roman Zippel, closes: #402022).
+  * 0001-archive-zip-don-t-use-sizeof-struct.diff,
+    0002-git-svn-error-out-from-dcommit-on-a-parent-less-commit.diff,
+    0003-git-svn-correctly-handle-revision-0-in-SVN-repositories.diff,
+    0004-git-svn-preserve-uncommitted-changes-after-dcommit.diff,
+    0005-Increase-length-of-function-name-buffer.diff: remove; obsolete.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements and git log | git shortlog.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri,  8 Dec 2006 19:13:49 +0000
+
+git-core (1:1.4.4.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #400191).
+  * 0001-archive-zip-don-t-use-sizeof-struct.diff: new from upstream git;
+    replaces debian/diff/not-packed-structs.diff.
+  * 0002-git-svn-error-out-from-dcommit-on-a-parent-less-commit.diff,
+    0003-git-svn-correctly-handle-revision-0-in-SVN-repositories.diff,
+    0004-git-svn-preserve-uncommitted-changes-after-dcommit.diff,
+    0005-Increase-length-of-function-name-buffer.diff: new from upstream
+    git.
+  * debian/diff/genindex.diff: new; support subdirs in gitweb example index
+    generator (thx David Nusinow; closes: #400284).
+  * debian/diff/GNU-Hurd.diff, debian/diff/pager-vs-less.diff: adapt.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 26 Nov 2006 14:31:39 +0000
+
+git-core (1:1.4.4-2) unstable; urgency=low
+
+  * debian/diff/not-packed-structs.diff: new; don't use sizeof(struct ...),
+    size doesn't match on arm (fixes selftests failure on arm).
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 22 Nov 2006 23:31:11 +0000
+
+git-core (1:1.4.4-1) unstable; urgency=low
+
+  * new upstream release (closes: #399575).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+  * debian/control: Build-Depends: unzip (for selftests).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 21 Nov 2006 09:43:37 +0000
+
+git-core (1:1.4.3.5-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 13 Nov 2006 17:46:50 +0000
+
+git-core (1:1.4.3.3-2) unstable; urgency=medium
+
+  * debian/git-daemon-run.postinst: don't make the log service system user
+    gitlog member of group adm, but nogroup; gitlog's home directory is
+    /nonexistent (thx Florian Weimer, closes: #396687).
+  * debian/git-daemon/log/run: make /var/log/git-daemon log directory mode
+    2750, owner gitlog:adm.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  6 Nov 2006 20:12:08 +0000
+
+git-core (1:1.4.3.3-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/diff/0001-Set-HOME-for-selftests.diff: remove; applied upstream.
+  * debian/control: git-core: Depends: libdigest-sha1-perl (closes: #395304,
+    thx Ichthyostega).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 31 Oct 2006 07:31:21 +0000
+
+git-core (1:1.4.3.2-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/diff/gitweb.conf.diff: remove; obsolete.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+  * debian/rules: add 'GITWEB_CONFIG=/etc/gitweb.conf mandir=/usr/share/man
+    OPTIMIZE="-O2 -g -Wall" INSTALLDIRS=vendor' to build OPTS, adapt paths;
+    git-arch: don't include git-archive, git-upload-archive; gitweb: install
+    git-logo.png, git-favicon.png; git-core: properly install new Git.pm
+    plus man page.
+  * debian/diff/0001-Set-HOME-for-selftests.diff: new; set $HOME for
+    selftests (fixes build/selftest failures).
+  * debian/control: git-core: Depends: liberror-perl.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 24 Oct 2006 16:32:35 +0000
+
+git-core (1:1.4.2.3-2) unstable; urgency=low
+
+  * debian/control: new package git-daemon-run: provide a git-daemon
+    service; git-core: no longer Suggests: runit, Depends: adduser, the
+    git-daemon-run package now Depends: runit, adduser.
+  * debian/debian/git-core.postinst, debian/git-daemon-run.postrm,
+    debian/git-daemon-run.prerm: new; manage gitlog user and git-daemon
+    service (closes: #388144).
+  * debian/git-core.postinst: no longer adduser gitlog, git-daemon-run
+    package does now.
+  * debian/git-core.postrm: remove; obsolete.
+  * debian/rules: install git-daemon service directory in the new
+    git-daemon-run package instead of the git-core package.
+  * debian/git-core.conffiles: rename to debian/git-daemon-run.conffiles.
+  * debian/git-core.README.Debian: adapt.
+  * debian/control: git-core: Suggests: git-daemon-run.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun,  8 Oct 2006 09:29:50 +0000
+
+git-core (1:1.4.2.3-1) unstable; urgency=medium
+
+  * new upstream release.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+  * debian/diff/t3403-skip-3-7.diff: remove; git-am is fixed upstream.
+  * debian/gitweb.conf: add $stylesheet = "/gitweb.css" (thx Christian
+    Kujau, closes: #383065).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun,  8 Oct 2006 07:31:03 +0000
+
+git-core (1:1.4.2.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #386820, #387405).
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcements.
+  * debian/diff/GNU-Hurd.diff: new; make the build process detect and
+    support the Debian GNU/Hurd architecture (thx Cyril Brulebois, closes:
+    #379841).
+  * debian/diff/GNU-kFreeBSD.diff: remove; applied upstream.
+  * debian/rules: gitweb: install gitweb.css into /var/www/ instead of
+    /usr/share/doc/gitweb/ (thx Matthijs Melchior, closes: #383065).
+  * debian/gitweb.docs: remove; obsolete.
+  * debian/examples/index.aux-generation: example script to generate an
+    optional index.aux file for the use with gitweb (thx Matthew Wilcox,
+    #383219).
+  * debian/gitweb.examples: new; install debian/examples/index.aux-generation
+    (#383219).
+  * debian/git-core.README.Debian: new; hints on how to set up a
+    git.example.org server providing git://, rsync://, http:// access to
+    repositories from Matthew Wilcox (thx!, closes: #383219).
+  * debian/gitweb.README.Debian: cleanup; refer to git-core.README.Debian.
+  * debian/control: git-svn: Depends: libsvn-perl | libsvn-core-perl (thx
+    Peter Samuelson); git-core, git-doc: Suggests: gitweb; gitweb:
+    Recommends: git-doc.
+  * debian/diff/pager-vs-less.diff, debian/diff/gitweb.conf.diff: adapt.
+  * debian/git-daemon/: new; git-daemon service directory for the use with
+    runit.
+  * debian/control: Build-Depends: subversion, libsvn-perl | libsvn-core-perl
+    (for git-svn selftests); git-core: Suggests: runit, Depends: adduser.
+  * debian/diff/t3403-skip-3-7.diff: new; skip selftests 3,7 in t3403 as
+    they fail without a terminal connected.
+  * debian/git-core.conffiles: new; add /etc/sv/git-daemon/run,
+    /etc/sv/git-daemon/log/run.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 15 Sep 2006 12:46:58 +0000
+
+git-core (1:1.4.1.1-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/diff/GNU-kFreeBSD.diff: new; make the build process detect and
+    support the Debian GNU/kFreeBSD architecture (thx Petr Salinger, closes:
+    #380209).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 29 Jul 2006 15:31:04 +0000
+
+git-core (1:1.4.1-2) unstable; urgency=low
+
+  * adopt package gitweb, now included in git-core upstream source (thx
+    Andres Salomon):
+    * debian/control, debian/rules: build gitweb package.
+    * debian/copyright: adapt.
+    * debian/gitweb.README.Debian, debian/gitweb.conf, debian/gitweb.docs:
+      new; taken from Andres' gitweb package.
+    * debian/diff/gitweb.conf.diff: new; adapt Andres' gitweb.conf.patch.
+    * debian/gitweb.conffiles: new; /etc/gitweb.conf.
+  * debian/changelog: use epoch 1 to supersede gitweb-264 package version.
+  * debian/rules: set DESTDIR in environment, not build flags.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 27 Jul 2006 21:44:06 +0000
+
+git-core (1.4.1-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/changelog.upstream: upstream changes taken from mailing list
+    announcement.
+  * debian/rules: user same build flags and prefix to $(MAKE) in build
+    and install target to prevent rebuild in install target.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 11 Jul 2006 21:38:33 +0000
+
+git-core (1.4.0-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/changelog.upstream: new; upstream changes taken from mailing
+    list announcement.
+  * debian/rules: install debian/changelog.upstream as upstream changelog.
+  * debian/diff/pager-vs-less.diff: adapt.
+  * debian/control: Standards-Version: 3.7.2.0.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 14 Jun 2006 17:04:56 +0000
+
+git-core (1.3.3-2) unstable; urgency=medium
+
+  * debian/control: git-core: Depends: perl-modules (closes: #369737).
+  * debian/diff/pager-vs-less.diff: new; fallback to `pager` not `less`
+    if $PAGER is unset (closes: #369742).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 10 Jun 2006 11:18:48 +0000
+
+git-core (1.3.3-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 25 May 2006 10:46:00 +0000
+
+git-core (1.3.2-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 10 May 2006 20:41:39 +0000
+
+git-core (1.3.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #364678).
+  * debian/rules: install contrib/ directory into /usr/share/doc/git-core/.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  1 May 2006 13:01:42 +0000
+
+git-core (1.2.6-1) unstable; urgency=low
+
+  * new upstream release.
+  * debian/control: git-cvs: Depends: cvsps (>> 2.1-0).
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 16 Apr 2006 14:37:53 +0000
+
+git-core (1.2.4-1) unstable; urgency=low
+
+  * new upstream release (closes: #354563).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri,  3 Mar 2006 21:33:58 +0000
+
+git-core (1.2.1-1) unstable; urgency=low
+
+  * new upstream release (closes: #353041).
+  * debian/control: git-core: Recommends: ssh-client instead of
+    openssh-client (closes: #350708).
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 16 Feb 2006 09:33:42 +0000
+
+git-core (1.1.5-1) unstable; urgency=high
+
+  * new upstream release.
+    * checkout: do not make a temporary copy of symlink target.
+      If the index records an insanely long symbolic link, copying
+      into the temporary would overflow the buffer (noticed by Mark
+      Wooding). (closes: #350274).
+
+ -- Gerrit Pape <pape@smarden.org>  Sat, 28 Jan 2006 20:16:44 +0000
+
+git-core (1.1.3-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon, 16 Jan 2006 10:19:37 +0000
+
+git-core (1.0.8-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/t6001-rev-lisge-order.sh.diff: remove; applied upstream.
+  * debian/control: Build-Depends: libcurl3-gnutls-dev | libcurl3-dev,
+    python, asciidoc (>> 7.0.2-3) (ease backport to sarge, thx Norbert
+    Tretkowski, closes: #344929).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  9 Jan 2006 19:19:36 +0000
+
+git-core (1.0.6-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/diff/t6001-rev-list-merge-order.sh.diff: new: fix skipping
+    merge-order test with NO_OPENSSL=1.
+  * debian/rules: re-enable git-rev-list --merge-order selftests.
+  * debian/control: git-svn: Depends: libwww-perl (closes: #345045).
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  2 Jan 2006 20:25:57 +0000
+
+git-core (1.0.5-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/rules: don't take upstream changelog from upstream
+    debian/changelog.
+  * debian/changelog.upstream: remove again.
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 27 Dec 2005 13:25:53 +0000
+
+git-core (1.0.3-1) unstable; urgency=low
+
+  * new upstream point release.
+  * debian/changelog.upstream: new: upstream changelog taken from upstream
+    debian/changelog.
+  * debian/rules: install debian/changelog.upstream as upstream changelog;
+    remove obsolete VERSION variable.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 23 Dec 2005 14:58:14 +0000
+
+git-core (1.0.0-1) unstable; urgency=medium
+
+  * new upstream release: GIT 1.0.0.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 21 Dec 2005 16:17:18 +0000
+
+git-core (0.99.9n-1) unstable; urgency=low
+
+  * new upstream version: GIT 0.99.9n aka 1.0rc6.
+  * debian/rules: rename git program in git-core package to git-scm,
+    handle /usr/bin/git program through update-alternatives (as suggested
+    by Ian Beckwith, see #342363).
+  * debian/control: git-core: Conflicts: git (<< 4.3.20-8) (closes:
+    #342363).
+  * debian/git-core.postinst, debian/git-core.prerm: new: run
+    update-alternatives --install /usr/bin/git git /usr/bin/git-scm with
+    priority 70 on configure, and --remove on remove respectively.
+
+ -- Gerrit Pape <pape@smarden.org>  Thu, 15 Dec 2005 11:24:51 +0000
+
+git-core (0.99.9m-1) unstable; urgency=low
+
+  * new upstream version: GIT 0.99.9m aka 1.0rc5.
+    * sets PYTHONPATH for selftests (fixes autobuild test failures).
+  * switch from tarball-in-tarball approach to original upstream tarball.
+  * debian/changelog: add changelog history, Junio C Hamano, Ryan Anderson,
+    Eric Biederman previously were maintaining this package unofficially.
+  * debian/control: Build-Depends: rcs (for selftests); git-core:
+    Recommends: patch, less, Suggests: cogito; git-arch: Suggests: tla,
+    bazzar; git-cvs: Depends: cvsps, Suggests: cvs; git-svn: Depends:
+    libsvn-core-perl (closes:#342617), Suggests: subversion; git-email:
+    Depends: libmail-sendmail-perl, libemail-valod-perl; update short
+    description (lots taken from upstream unofficial package, thx).
+  * debian/git-core.docs, debian/git-doc.docs: adapt.
+  * debian/rules: adapt; remove target unpack; add target patch; adapt
+    target clean.
+
+ -- Gerrit Pape <pape@smarden.org>  Wed, 14 Dec 2005 19:48:41 +0000
+
+git-core (0.99.9l-1) unstable; urgency=low
+
+  * new upstream version.
+  * debian/rules: apply diffs with patch -p1.
+  * debian/control, debian/rules: split off git-arch, git-cvs, git-svn,
+    git-email packages, as suggested by upstream:
+    http://article.gmane.org/gmane.comp.version-control.git/13185
+  * debian/git-doc.docs: get docs from temporary install directory;
+    include *.txt docs.
+  * debian/control: git-doc: Section: doc; Suggests: git-core, git-arch,
+    git-cvs, git-svn, git-email, gitk; git-core: Suggests: git-arch,
+    git-cvs, git-svn, git-email, gitk.
+
+ -- Gerrit Pape <pape@smarden.org>  Mon,  5 Dec 2005 18:04:37 +0000
+
+git-core (0.99.9k-1) unstable; urgency=low
+
+  * new upstream version.
+  * debian/implicit: update to revision 1.11.
+  * debian/git-doc.docs: add git/Documentation/howto,
+    git/Documentation/technical (closes: #341178).
+
+ -- Gerrit Pape <pape@smarden.org>  Tue, 29 Nov 2005 21:45:53 +0000
+
+git-core (0.99.9j-1) unstable; urgency=low
+
+  * initial version.
+  * debian/control: git-core: Replaces: cogito (<< 0.16rc2-0); cogito >=
+    0.16rc2-0 no longer includes the git core components, but depends on
+    the git-core package (see #338789).
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 18 Nov 2005 22:26:36 +0000
+
+git-core (0.99.9j-0) unstable; urgency=low
+
+  * GIT 0.99.9j aka 1.0rc3
+
+ -- Junio C Hamano <junkio@cox.net>  Wed, 16 Nov 2005 20:39:55 -0800
+
+git-core (0.99.9i-0) unstable; urgency=low
+
+  * GIT 0.99.9i aka 1.0rc2
+
+ -- Junio C Hamano <junkio@cox.net>  Mon, 14 Nov 2005 18:38:27 -0800
+
+git-core (0.99.9h-0) unstable; urgency=low
+
+  * GIT 0.99.9h
+
+ -- Junio C Hamano <junkio@cox.net>  Fri, 11 Nov 2005 22:33:18 -0800
+
+git-core (0.99.9g-0) unstable; urgency=low
+
+  * GIT 0.99.9g
+
+ -- Junio C Hamano <junkio@cox.net>  Wed,  9 Nov 2005 21:01:55 -0800
+
+git-core (0.99.9f-0) unstable; urgency=low
+
+  * GIT 0.99.9f
+
+ -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:21:52 -0800
+
+git-core (0.99.9e-0) unstable; urgency=low
+
+  * GIT 0.99.9e
+
+ -- Junio C Hamano <junkio@cox.net>  Sun,  6 Nov 2005 18:37:18 -0800
+
+git-core (0.99.9d-0) unstable; urgency=low
+
+  * GIT 0.99.9d
+
+ -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:46:37 -0800
+
+git-core (0.99.9c-0) unstable; urgency=low
+
+  * GIT 0.99.9c
+
+ -- Junio C Hamano <junkio@cox.net>  Thu,  3 Nov 2005 15:44:54 -0800
+
+git-core (0.99.9b-0) unstable; urgency=low
+
+  * GIT 0.99.9b
+
+ -- Junio C Hamano <junkio@cox.net>  Tue,  1 Nov 2005 21:39:39 -0800
+
+git-core (0.99.9a-0) unstable; urgency=low
+
+  * GIT 0.99.9a
+
+ -- Junio C Hamano <junkio@cox.net>  Sun, 30 Oct 2005 15:03:32 -0800
+
+git-core (0.99.9.GIT-2) unstable; urgency=low
+
+  * Build Dependency did not include libexpat-dev.
+
+ -- Junio C Hamano <junkio@cox.net>  Sun, 13 Nov 2005 01:55:34 -0800
+
+git-core (0.99.9.GIT-1) unstable; urgency=low
+
+  * Do not scatter txt and html documentation into feature
+    subpackages.  Do place man pages into them.
+  * Capture more cvs stuff into git-cvs package.
+
+ -- Junio C Hamano <junkio@cox.net>  Tue,  8 Nov 2005 01:19:06 -0800
+
+git-core (0.99.9.GIT-0) unstable; urgency=low
+
+  * Test Build.
+
+ -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800
+
+git-core (0.99.9-1) unstable; urgency=low
+
+  * Split the git-core binary package into core, doc, and foreign SCM
+    interoperability modules.
+
+ -- Junio C Hamano <junkio@cox.net>  Sat,  5 Nov 2005 11:18:13 -0800
+
+git-core (0.99.9-0) unstable; urgency=low
+
+  * GIT 0.99.9
+
+ -- Junio C Hamano <junkio@cox.net>  Sat, 29 Oct 2005 14:34:30 -0700
+
+git-core (0.99.8-0) unstable; urgency=low
+
+  * GIT 0.99.8
+
+ -- Junio C Hamano <junkio@cox.net>  Sun,  2 Oct 2005 12:54:26 -0700
+
+git-core (0.99.7-0) unstable; urgency=low
+
+  * GIT 0.99.7
+
+ -- Junio C Hamano <junkio@cox.net>  Sat, 10 Sep 2005 18:36:39 -0700
+
+git-core (0.99.6-0) unstable; urgency=low
+
+  * GIT 0.99.6
+
+ -- Junio C Hamano <junkio@cox.net>  Wed, 24 Aug 2005 23:09:35 -0700
+
+git-core (0.99.5-1) unstable; urgency=low
+
+  * Enable git-send-email on Debian.  There is no reason to shy
+    away from it, since we have the necessary Perl modules available.
+
+ -- Junio C Hamano <junkio@cox.net>  Thu, 25 Aug 2005 14:16:59 -0700
+
+git-core (0.99.5-0) unstable; urgency=low
+
+  * GIT 0.99.5
+
+ -- Junio C Hamano <junkio@cox.net>  Wed, 10 Aug 2005 22:05:00 -0700
+
+git-core (0.99.4-4) unstable; urgency=low
+
+  * Mark git-tk as architecture neutral.
+
+ -- Junio C Hamano <junkio@cox.net>  Fri, 12 Aug 2005 13:25:00 -0700
+
+git-core (0.99.4-3) unstable; urgency=low
+
+  * Split off gitk.
+  * Do not depend on diff which is an essential package.
+  * Use dh_movefiles, not dh_install, to stage two subpackages.
+
+ -- Matthias Urlichs <smurf@debian.org>  Thu, 11 Aug 2005 01:43:24 +0200
+
+git-core (0.99.4-2) unstable; urgency=low
+
+  * Git 0.99.4 official release.
+
+ -- Junio C Hamano <junkio@cox.net>  Wed, 10 Aug 2005 15:00:00 -0700
+
+git-core (0.99.4-1) unstable; urgency=low
+
+  * Pass prefix down to the submake when building.
+
+ -- Junio C Hamano <junkio@cox.net>  Sat, 6 Aug 2005 13:00:00 -0700
+
+git-core (0.99-2) unstable; urgency=low
+
+  * Conflict with the GNU Interactive Tools package, which also installs
+    /usr/bin/git.
+  * Use the Mozilla SHA1 code and/or the PPC assembly in preference to
+    OpenSSL.  This is only a partial fix for the license issues with OpenSSL.
+  * Minor tweaks to the Depends.
+
+ -- Ryan Anderson <ryan@michonline.com>  Sat, 23 Jul 2005 14:15:00 -0400
+
+git-core (0.99-1) unstable; urgency=low
+
+  * Update deb package support to build correctly. 
+
+ -- Ryan Anderson <ryan@michonline.com>  Thu, 21 Jul 2005 02:03:32 -0400
+
+git-core (0.99-0) unstable; urgency=low
+
+  * Initial deb package support
+
+ -- Eric Biederman <ebiederm@xmission.com>  Tue, 12 Jul 2005 10:57:51 -0600
diff --git a/debian/changelog.upstream b/debian/changelog.upstream
new file mode 100644
index 0000000..f510643
--- /dev/null
+++ b/debian/changelog.upstream
@@ -0,0 +1,82230 @@
+Version next; changes since v2.43.0:
+------------------------------------
+
+Andy Koppe (3):
+      rebase: fully ignore rebase.autoSquash without -i
+      rebase: support --autosquash without -i
+      rebase: rewrite --(no-)autosquash documentation
+
+Antonin Delpeuch (1):
+      merge-file: add --diff-algorithm option
+
+Arthur Chan (1):
+      fuzz: add new oss-fuzz fuzzer for date.c / date.h
+
+Elijah Newren (18):
+      t6429: remove switching aspects of fast-rebase
+      replay: introduce new builtin
+      replay: start using parse_options API
+      replay: die() instead of failing assert()
+      replay: introduce pick_regular_commit()
+      replay: change rev walking options
+      replay: add an important FIXME comment about gpg signing
+      replay: remove progress and info output
+      replay: remove HEAD related sanity check
+      replay: make it a minimal server side command
+      replay: use standard revision ranges
+      replay: add --advance or 'cherry-pick' mode
+      replay: add --contained to rebase contained branches
+      replay: stop assuming replayed branches do not diverge
+      completion: squelch stray errors in sparse-checkout completion
+      completion: fix logic for determining whether cone mode is active
+      completion: avoid misleading completions in cone mode
+      completion: avoid user confusion in non-cone mode
+
+Eric Sunshine (1):
+      git-add.txt: add missing short option -A to synopsis
+
+Jeff Hostetler (3):
+      trace2: fix signature of trace2_def_param() macro
+      t0211: test URL redacting in PERF format
+      t0212: test URL redacting in EVENT format
+
+Jeff King (30):
+      commit-graph: handle overflow in chunk_size checks
+      midx: check consistency of fanout table
+      commit-graph: drop redundant call to "lite" verification
+      commit-graph: clarify missing-chunk error messages
+      commit-graph: abort as soon as we see a bogus chunk
+      commit-graph: use fanout value for graph size
+      commit-graph: check order while reading fanout chunk
+      commit-graph: drop verify_commit_graph_lite()
+      commit-graph: mark chunk error messages for translation
+      parse-options: decouple "--end-of-options" and "--"
+      bisect: always clean on reset
+      config: handle NULL value when parsing non-bools
+      setup: handle NULL value when parsing extensions
+      trace2: handle NULL values in tr2_sysenv config callback
+      help: handle NULL value for alias.* config
+      submodule: handle NULL value when parsing submodule.*.branch
+      trailer: handle NULL value when parsing trailer-specific config
+      fsck: handle NULL value when parsing message config
+      config: reject bogus values for core.checkstat
+      git_xmerge_config(): prefer error() to die()
+      imap-send: don't use git_die_config() inside callback
+      config: use config_error_nonbool() instead of custom messages
+      diff: give more detailed messages for bogus diff.* config
+      config: use git_config_string() for core.checkRoundTripEncoding
+      push: drop confusing configset/callback redundancy
+      gpg-interface: drop pointless config_error_nonbool() checks
+      sequencer: simplify away extra git_config_string() call
+      mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
+      t5100: make rfc822 comment test more careful
+      mailinfo: avoid recursion when unquoting From headers
+
+Jiang Xin (2):
+      t5574: test porcelain output of atomic fetch
+      fetch: no redundant error message for atomic fetch
+
+Joanna Wang (1):
+      attr: enable attr pathspec magic for git-add and git-stash
+
+Johannes Schindelin (10):
+      cmake: also build unit tests
+      unit-tests: do not mistake `.pdb` files for being executable
+      unit-tests: do show relative file paths
+      artifacts-tar: when including `.dll` files, don't forget the unit-tests
+      cmake: fix typo in variable name
+      cmake: use test names instead of full paths
+      cmake: handle also unit tests
+      ci: avoid running the test suite _twice_
+      packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
+      trace2: redact passwords from https:// URLs by default
+
+Josh Brobst (1):
+      builtin/reflog.c: fix dry-run option short name
+
+Josh Soref (4):
+      doc: update links to current pages
+      doc: switch links to https
+      doc: update links for andre-simon.de
+      doc: refer to internet archive
+
+Josh Steadmon (2):
+      unit tests: add a project plan document
+      ci: run unit tests in CI
+
+Julian Prein (1):
+      hooks--pre-commit: detect non-ASCII when renaming
+
+Junio C Hamano (17):
+      cache: add fake_lstat()
+      diff-lib: fix check_removed() when fsmonitor is active
+      checkout: refactor die_if_checked_out() caller
+      orphan/unborn: add to the glossary and use them consistently
+      orphan/unborn: fix use of 'orphan' in end-user facing messages
+      revision: parse integer arguments to --max-count, --skip, etc., more carefully
+      Start the 2.44 cycle
+      checkout: forbid "-B <branch>" from touching a branch used elsewhere
+      git.txt: HEAD is not that special
+      git-bisect.txt: BISECT_HEAD is not that special
+      refs.h: HEAD is not that special
+      docs: AUTO_MERGE is not that special
+      docs: MERGE_AUTOSTASH is not that special
+      doc: format.notes specify a ref under refs/notes/ hierarchy
+      The second batch
+      remote.h: retire CAS_OPT_NAME
+      The third batch
+
+Linus Arver (3):
+      commit: ignore_non_trailer computes number of bytes to ignore
+      trailer: find the end of the log message
+      trailer: use offsets for trailer_start/trailer_end
+
+Marcel Krause (1):
+      doc: make the gitfile syntax easier to discover
+
+Patrick Steinhardt (62):
+      t: allow skipping expected object ID in `ref-store update-ref`
+      t: convert tests to not write references via the filesystem
+      t: convert tests to not access symrefs via the filesystem
+      t: convert tests to not access reflog via the filesystem
+      t1450: convert tests to remove worktrees via git-worktree(1)
+      t4207: delete replace references via git-update-ref(1)
+      t7300: assert exact states of repo
+      t7900: assert the absence of refs via git-for-each-ref(1)
+      t: mark several tests that assume the files backend with REFFILES
+      ci: reorder definitions for grouping functions
+      ci: make grouping setup more generic
+      ci: group installation of Docker dependencies
+      ci: split out logic to set up failed test artifacts
+      ci: unify setup of some environment variables
+      ci: squelch warnings when testing with unusable Git repo
+      ci: install test dependencies for linux-musl
+      ci: add support for GitLab CI
+      t/lib-httpd: dynamically detect httpd and modules path
+      t/lib-httpd: stop using legacy crypt(3) for authentication
+      t9164: fix inability to find basename(1) in Subversion hooks
+      global: convert trivial usages of `test <expr> -a/-o <expr>`
+      contrib/subtree: stop using `-o` to test for number of args
+      contrib/subtree: convert subtree type check to use case statement
+      Makefile: stop using `test -o` when unlinking duplicate executables
+      t5510: ensure that the packed-refs file needs locking
+      refs/files: use transactions to delete references
+      refs: deduplicate code to delete references
+      refs: remove `delete_refs` callback from backends
+      commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
+      t0410: mark tests to require the reffiles backend
+      t1400: split up generic reflog tests from the reffile-specific ones
+      t1401: stop treating FETCH_HEAD as real reference
+      t1410: use test-tool to create empty reflog
+      t1417: make `reflog --updateref` tests backend agnostic
+      t3310: stop checking for reference existence via `test -f`
+      t4013: simplify magic parsing and drop "failure"
+      t5401: speed up creation of many branches
+      t5551: stop writing packed-refs directly
+      t6301: write invalid object ID via `test-tool ref-store`
+      reftable: wrap EXPECT macros in do/while
+      reftable: handle interrupted reads
+      reftable: handle interrupted writes
+      reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
+      reftable/stack: perform auto-compaction with transactional interface
+      reftable/stack: reuse buffers when reloading stack
+      reftable/stack: fix stale lock when dying
+      reftable/stack: fix use of unseeded randomness
+      reftable/merged: reuse buffer to compute record keys
+      reftable/block: introduce macro to initialize `struct block_iter`
+      reftable/block: reuse buffer to compute record keys
+      setup: extract function to create the refdb
+      setup: allow skipping creation of the refdb
+      remote-curl: rediscover repository when fetching refs
+      builtin/clone: fix bundle URIs with mismatching object formats
+      builtin/clone: set up sparse checkout later
+      builtin/clone: skip reading HEAD when retrieving remote
+      builtin/clone: create the refdb with the correct object format
+      wt-status: read HEAD and ORIG_HEAD via the refdb
+      refs: propagate errno when reading special refs fails
+      refs: complete list of special refs
+      bisect: consistently write BISECT_EXPECTED_REV via the refdb
+      tests: adjust whitespace in chainlint expectations
+
+Phillip Wood (1):
+      unit tests: add TAP unit test framework
+
+René Scharfe (13):
+      column: release strbuf and string_list after use
+      i18n: factorize even more 'incompatible options' messages
+      push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
+      repack: use die_for_incompatible_opt3() for -A/-k/--cruft
+      revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
+      revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
+      clean: factorize incompatibility message
+      worktree: standardize incompatibility messages
+      worktree: simplify incompatibility message for --orphan and commit-ish
+      show-ref: use die_for_incompatible_opt3()
+      t6300: avoid hard-coding object sizes
+      git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool
+      rebase: use strvec_pushf() for format-patch revisions
+
+Rubén Justo (1):
+      status: fix branch shown when not only bisecting
+
+Shreyansh Paliwal (1):
+      test-lib-functions.sh: fix test_grep fail message wording
+
+Simon Ser (1):
+      format-patch: fix ignored encode_email_headers for cover letter
+
+Stan Hu (2):
+      completion: refactor existence checks for pseudorefs
+      completion: support pseudoref existence checks for reftables
+
+Todd Zullinger (2):
+      perl: bump the required Perl version to 5.8.1 from 5.8.0
+      send-email: avoid duplicate specification warnings
+
+Victoria Dye (10):
+      ref-filter.c: really don't sort when using --no-sort
+      ref-filter.h: add max_count and omit_empty to ref_format
+      ref-filter.h: move contains caches into filter
+      ref-filter.h: add functions for filter/format & format-only
+      ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
+      ref-filter.c: refactor to create common helper functions
+      ref-filter.c: filter & format refs in the same callback
+      for-each-ref: clean up documentation of --format
+      ref-filter.c: use peeled tag for '*' format fields
+      t/perf: add perf tests for for-each-ref
+
+
+Version v2.43.0; changes since v2.43.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5579t)
+
+Arkadii Yakovets (1):
+      l10n: update uk localization for v2.43
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.43 (round 1)
+
+Emir SARI (1):
+      l10n: tr: v2.43.0
+
+Jean-Noël Avila (1):
+      l10n: fr: v2.43.0 rnd 2
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.43
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5579t)
+
+Ralf Thielow (1):
+      l10n: Update German translation
+
+Teng Long (1):
+      l10n: zh_CN: for git 2.43.0-rc1
+
+Todd Zullinger (1):
+      send-email: remove stray characters from usage
+
+Victoria Dye (1):
+      glossary: add definitions for dereference & peel
+
+Yi-Jyun Pan (1):
+      l10n: zh-TW: Git 2.43.0-rc1
+
+
+Version v2.43.0-rc2; changes since v2.43.0-rc1:
+-----------------------------------------------
+
+Elijah Newren (1):
+      RelNotes: minor wording fixes in 2.43.0 release notes
+
+Junio C Hamano (1):
+      Git 2.43-rc2
+
+
+Version v2.43.0-rc1; changes since v2.43.0-rc0:
+-----------------------------------------------
+
+Aditya Neelamraju (1):
+      clang-format: fix typo in comment
+
+Andrei Rybak (1):
+      SubmittingPatches: call gitk's command "Copy commit reference"
+
+Emily Shaffer (2):
+      t0091-bugreport: stop using i18ngrep
+      bugreport: reject positional arguments
+
+Jacob Stopak (1):
+      Include gettext.h in MyFirstContribution tutorial
+
+Jeff King (1):
+      t: avoid perl's pack/unpack "Q" specifier
+
+Johannes Schindelin (2):
+      max_tree_depth: lower it for MSVC to avoid stack overflows
+      ci: upgrade to using macos-13
+
+Junio C Hamano (6):
+      grep: -f <path> is relative to $cwd
+      test framework: further deprecate test_i18ngrep
+      tests: teach callers of test_i18ngrep to use test_grep
+      A bit more before -rc1
+      Prepare for -rc1
+      Git 2.43-rc1
+
+Karthik Nayak (3):
+      revision: rename bit to `do_not_die_on_missing_objects`
+      rev-list: move `show_commit()` to the bottom
+      rev-list: add commit object support in `--missing` option
+
+Linus Arver (1):
+      strvec: drop unnecessary include of hex.h
+
+Martin Ågren (1):
+      git-merge-file doc: drop "-file" from argument placeholders
+
+Michael Strawbridge (1):
+      send-email: move validation code below process_address_list
+
+Patrick Steinhardt (18):
+      commit-graph: introduce envvar to disable commit existence checks
+      commit: detect commits that exist in commit-graph but not in the ODB
+      builtin/show-ref: convert pattern to a local variable
+      builtin/show-ref: split up different subcommands
+      builtin/show-ref: fix leaking string buffer
+      builtin/show-ref: fix dead code when passing patterns
+      builtin/show-ref: refactor `--exclude-existing` options
+      builtin/show-ref: stop using global variable to count matches
+      builtin/show-ref: stop using global vars for `show_one()`
+      builtin/show-ref: refactor options for patterns subcommand
+      builtin/show-ref: ensure mutual exclusiveness of subcommands
+      builtin/show-ref: explicitly spell out different modes in synopsis
+      builtin/show-ref: add new mode to check for reference existence
+      t: use git-show-ref(1) to check for ref existence
+      test-bloom: stop setting up Git directory twice
+      shallow: fix memory leak when registering shallow roots
+      setup: refactor `upgrade_repository_format()` to have common exit
+      setup: fix leaking repository format
+
+René Scharfe (4):
+      parse-options: make CMDMODE errors more precise
+      am: simplify --show-current-patch handling
+      am, rebase: fix arghelp syntax of --empty
+      reflog: fix expire --single-worktree
+
+Robert Coup (1):
+      upload-pack: add tracing for fetches
+
+Taylor Blau (4):
+      Documentation/gitformat-pack.txt: fix typo
+      Documentation/gitformat-pack.txt: fix incorrect MIDX documentation
+      list-objects: drop --unpacked non-commit objects from results
+      pack-bitmap: drop --unpacked non-commit objects from results
+
+Todd Zullinger (2):
+      RelNotes: minor typo fixes in 2.43.0 draft
+      RelNotes: improve wording of credential helper notes
+
+brian m. carlson (1):
+      merge-file: add an option to process object IDs
+
+
+Version v2.43.0-rc0; changes since v2.42.1:
+-------------------------------------------
+
+Alyssa Ross (1):
+      diff: fix --merge-base with annotated tags
+
+Andy Koppe (8):
+      pretty-formats: enclose options in angle brackets
+      decorate: refactor format_decorations()
+      decorate: avoid some unnecessary color overhead
+      decorate: color each token separately
+      pretty: add %(decorate[:<options>]) format
+      pretty: add pointer and tag options to %(decorate)
+      decorate: use commit color for HEAD arrow
+      pretty: fix ref filtering for %(decorate) formats
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 15.1
+
+Calvin Wan (4):
+      hex-ll: separate out non-hash-algo functions
+      wrapper: reduce scope of remove_or_warn()
+      config: correct bad boolean env value error message
+      parse: separate out parsing functions from config.h
+
+Christian Couder (9):
+      pack-objects: allow `--filter` without `--stdout`
+      t/helper: add 'find-pack' test-tool
+      repack: refactor finishing pack-objects command
+      repack: refactor finding pack prefix
+      pack-bitmap-write: rebuild using new bitmap when remapping
+      repack: add `--filter=<filter-spec>` option
+      gc: add `gc.repackFilter` config option
+      repack: implement `--filter-to` for storing filtered out objects
+      gc: add `gc.repackFilterTo` config option
+
+Derrick Stolee (9):
+      maintenance: add get_random_minute()
+      maintenance: use random minute in launchctl scheduler
+      maintenance: use random minute in Windows scheduler
+      maintenance: use random minute in cron scheduler
+      maintenance: swap method locations
+      maintenance: use random minute in systemd scheduler
+      maintenance: fix systemd schedule overlaps
+      maintenance: update schedule before config
+      mailmap: change primary address for Derrick Stolee
+
+Dorcas AnonoLitunya (1):
+      t7601: use "test_path_is_file" etc. instead of "test -f"
+
+Dragan Simic (2):
+      diff --stat: add config option to limit filename width
+      diff --stat: set the width defaults in a helper function
+
+Drew DeVault (1):
+      format-patch: --rfc honors what --subject-prefix sets
+
+Elijah Newren (25):
+      documentation: wording improvements
+      documentation: fix small error
+      documentation: fix typos
+      documentation: fix apostrophe usage
+      documentation: add missing words
+      documentation: remove extraneous words
+      documentation: fix subject/verb agreement
+      documentation: employ consistent verb tense for a list
+      documentation: fix verb tense
+      documentation: fix adjective vs. noun
+      documentation: fix verb vs. noun
+      documentation: fix singular vs. plural
+      documentation: whitespace is already generally plural
+      documentation: fix choice of article
+      documentation: add missing article
+      documentation: remove unnecessary hyphens
+      documentation: add missing hyphens
+      documentation: use clearer prepositions
+      documentation: fix punctuation
+      documentation: fix capitalization
+      documentation: fix whitespace issues
+      documentation: add some commas where they are helpful
+      documentation: add missing fullstops
+      documentation: add missing quotes
+      documentation: add missing parenthesis
+
+Eric W. Biederman (1):
+      bulk-checkin: only support blobs in index_bulk_checkin
+
+Eric Wong (1):
+      treewide: fix various bugs w/ OpenSSL 3+ EVP API
+
+Isoken June Ibizugbe (1):
+      builtin/branch.c: adjust error messages to coding guidelines
+
+Jan Alexander Steffens (heftig) (6):
+      submodule--helper: use submodule_from_path in set-{url,branch}
+      submodule--helper: return error from set-url when modifying failed
+      t7419: actually test the branch switching
+      t7419, t7420: use test_cmp_config instead of grepping .gitmodules
+      t7419: test that we correctly handle renamed submodules
+      t7420: test that we correctly handle renamed submodules
+
+Jason Hatton (1):
+      Prevent git from rehashing 4GiB files
+
+Javier Mora (2):
+      git-status.txt: fix minor asciidoc format issue
+      doc/git-bisect: clarify `git bisect run` syntax
+
+Jeff King (96):
+      sequencer: use repository parameter in short_commit_name()
+      sequencer: mark repository argument as unused
+      ref-filter: mark unused parameters in parser callbacks
+      pack-bitmap: mark unused parameters in show_object callback
+      worktree: mark unused parameters in each_ref_fn callback
+      commit-graph: mark unused data parameters in generation callbacks
+      ls-tree: mark unused parameter in callback
+      stash: mark unused parameter in diff callback
+      trace2: mark unused us_elapsed_absolute parameters
+      trace2: mark unused config callback parameter
+      test-trace2: mark unused argv/argc parameters
+      grep: mark unused parameter in output function
+      add-interactive: mark unused callback parameters
+      negotiator/noop: mark unused callback parameters
+      worktree: mark unused parameters in noop repair callback
+      imap-send: mark unused parameters with NO_OPENSSL
+      grep: mark unused parmaeters in pcre fallbacks
+      credential: mark unused parameter in urlmatch callback
+      fetch: mark unused parameter in ref_transaction callback
+      bundle-uri: mark unused parameters in callbacks
+      gc: mark unused descriptors in scheduler callbacks
+      update-ref: mark unused parameter in parser callbacks
+      merge: make xopts a strvec
+      merge: simplify parsing of "-n" option
+      format-patch: use OPT_STRING_LIST for to/cc options
+      tree-walk: reduce stack size for recursive functions
+      tree-walk: drop MAX_TRAVERSE_TREES macro
+      tree-walk: rename "error" variable
+      fsck: detect very large tree pathnames
+      add core.maxTreeDepth config
+      traverse_trees(): respect max_allowed_tree_depth
+      read_tree(): respect max_allowed_tree_depth
+      list-objects: respect max_allowed_tree_depth
+      tree-diff: respect max_allowed_tree_depth
+      lower core.maxTreeDepth default to 2048
+      checkout-index: delay automatic setting of to_tempfile
+      parse-options: prefer opt->value to globals in callbacks
+      parse-options: mark unused "opt" parameter in callbacks
+      merge: do not pass unused opt->value parameter
+      parse-options: add more BUG_ON() annotations
+      interpret-trailers: mark unused "unset" parameters in option callbacks
+      parse-options: mark unused parameters in noop callback
+      merge-ort: drop custom err() function
+      merge-ort: stop passing "opt" to read_oid_strbuf()
+      merge-ort: drop unused parameters from detect_and_process_renames()
+      merge-ort: drop unused "opt" parameter from merge_check_renames_reusable()
+      merge-ort: lowercase a few error messages
+      fsmonitor: prefer repo_git_path() to git_pathdup()
+      fsmonitor/win32: drop unused parameters
+      fsmonitor: mark some maybe-unused parameters
+      fsmonitor/win32: mark unused parameter in fsm_os__incompatible()
+      fsmonitor: mark unused parameters in stub functions
+      fsmonitor/darwin: mark unused parameters in system callback
+      fsmonitor: mark unused hashmap callback parameters
+      run-command: mark unused parameters in start_bg_wait callbacks
+      commit-graph: factor out chain opening function
+      commit-graph: check mixed generation validation when loading chain file
+      t5324: harmonize sha1/sha256 graph chain corruption
+      commit-graph: detect read errors when verifying graph chain
+      commit-graph: tighten chain size check
+      commit-graph: report incomplete chains during verification
+      t6700: mark test as leak-free
+      commit-reach: free temporary list in get_octopus_merge_bases()
+      merge: free result of repo_get_merge_bases()
+      commit-graph: move slab-clearing to close_commit_graph()
+      commit-graph: free all elements of graph chain
+      commit-graph: delay base_graph assignment in add_graph_to_chain()
+      commit-graph: free graph struct that was not added to chain
+      commit-graph: free write-context entries before overwriting
+      commit-graph: free write-context base_graph_name during cleanup
+      commit-graph: clear oidset after finishing write
+      repack: free existing_cruft array after use
+      chunk-format: note that pair_chunk() is unsafe
+      t: add library for munging chunk-format files
+      midx: stop ignoring malformed oid fanout chunk
+      commit-graph: check size of oid fanout chunk
+      midx: check size of oid lookup chunk
+      commit-graph: check consistency of fanout table
+      midx: check size of pack names chunk
+      midx: enforce chunk alignment on reading
+      midx: check size of object offset chunk
+      midx: bounds-check large offset chunk
+      midx: check size of revindex chunk
+      commit-graph: check size of commit data chunk
+      commit-graph: detect out-of-bounds extra-edges pointers
+      commit-graph: bounds-check base graphs chunk
+      commit-graph: check size of generations chunk
+      commit-graph: bounds-check generation overflow chunk
+      commit-graph: check bounds when accessing BDAT chunk
+      commit-graph: check bounds when accessing BIDX chunk
+      commit-graph: detect out-of-order BIDX offsets
+      chunk-format: drop pair_chunk_unsafe()
+      t5319: make corrupted large-offset test more robust
+      doc/send-email: mention handling of "reply-to" with --compose
+      Revert "send-email: extract email-parsing code into a subroutine"
+      send-email: handle to/cc/bcc from --compose message
+
+Johannes Schindelin (5):
+      windows: ignore empty `PATH` elements
+      is_Cygwin: avoid `exec`ing anything
+      Move is_<platform> functions to the beginning
+      Move the `_which` function (almost) to the top
+      Work around Tcl's default `PATH` lookup
+
+John Cai (3):
+      merge-ort: initialize repo in index state
+      attr: read attributes from HEAD when bare repo
+      attr: add attr.tree for setting the treeish to read attributes from
+
+Josh Soref (1):
+      Documentation/git-status: add missing line breaks
+
+Junio C Hamano (37):
+      update-index: do not read HEAD and MERGE_HEAD unconditionally
+      resolve-undo: allow resurrecting conflicted state that resolved to deletion
+      update-index: use unmerge_index_entry() to support removal
+      update-index: remove stale fallback code for "--unresolve"
+      checkout/restore: refuse unmerging paths unless checking out of the index
+      checkout/restore: add basic tests for --merge
+      checkout: allow "checkout -m path" to unmerge removed paths
+      pretty-formats: define "literal formatting code"
+      Start the 2.43 cycle
+      The second batch for 2.43
+      The extra batch to update credenthal helpers
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      update-index doc: v4 is OK with JGit and libgit2
+      update-index: add --show-index-version
+      test-tool: retire "index-version"
+      The eighth batch
+      The ninth batch
+      The tenth batch
+      The eleventh batch
+      completion: loosen and document the requirement around completing alias
+      The twelfth batch
+      The thirteenth batch
+      The fourteenth batch
+      The fifteenth batch
+      The sixteenth batch
+      merge: introduce {copy|clear}_merge_options()
+      stash: be careful what we store
+      The seventeenth batch
+      The eighteenth batch
+      The nineteenth batch
+      The twentieth batch
+      The twenty-first batch
+      The twenty-second batch
+
+Kousik Sanagavarapu (3):
+      t/t6300: cleanup test_atom
+      t/t6300: introduce test_bad_atom
+      ref-filter: add mailmap support
+
+Kristoffer Haugsbakk (2):
+      range-diff: treat notes like `log`
+      grep: die gracefully when outside repository
+
+Linus Arver (16):
+      trailer tests: make test cases self-contained
+      trailer test description: this tests --where=after, not --where=before
+      trailer: add tests to check defaulting behavior with --no-* flags
+      trailer doc: narrow down scope of --where and related flags
+      trailer: trailer location is a place, not an action
+      trailer --no-divider help: describe usual "---" meaning
+      trailer --parse help: expose aliased options
+      trailer --only-input: prefer "configuration variables" over "rules"
+      trailer --parse docs: add explanation for its usefulness
+      trailer --unfold help: prefer "reformat" over "join"
+      trailer doc: emphasize the effect of configuration variables
+      trailer doc: separator within key suppresses default separator
+      trailer doc: <token> is a <key> or <keyAlias>, not both
+      trailer: separate public from internal portion of trailer_iterator
+      trailer: split process_input_file into separate pieces
+      trailer: split process_command_line_args into separate functions
+
+M Hickford (3):
+      credential/libsecret: store new attributes
+      credential/libsecret: erase matching creds only
+      credential/wincred: erase matching creds only
+
+Mark Levedahl (6):
+      git gui Makefile - remove Cygwin modifications
+      git-gui - remove obsolete Cygwin specific code
+      git-gui - use cygstart to browse on Cygwin
+      git-gui - use mkshortcut on Cygwin
+      git-gui - re-enable use of hook scripts
+      git-gui - use git-hook, honor core.hooksPath
+
+Matthew McClain (1):
+      git-p4 shouldn't attempt to store symlinks in LFS
+
+Oswald Buddenhagen (10):
+      t/lib-rebase: set_fake_editor(): fix recognition of reset's short command
+      t/lib-rebase: set_fake_editor(): handle FAKE_LINES more consistently
+      sequencer: simplify allocation of result array in todo_list_rearrange_squash()
+      t/lib-rebase: improve documentation of set_fake_editor()
+      format-patch: add --description-file option
+      sequencer: beautify subject of reverts of reverts
+      git-revert.txt: add discussion
+      rebase: simplify code related to imply_merge()
+      rebase: handle --strategy via imply_merge() as well
+      rebase: move parse_opt_keep_empty() down
+
+Patrick Steinhardt (1):
+      revision: make pseudo-opt flags read via stdin behave consistently
+
+Philippe Blain (2):
+      completion: commit: complete configured trailer tokens
+      completion: commit: complete trailers tokens more robustly
+
+René Scharfe (9):
+      subtree: disallow --no-{help,quiet,debug,branch,message}
+      t1502, docs: disallow --no-help
+      t1502: move optionspec help output to a file
+      t1502: test option negation
+      parse-options: show negatability of options in short help
+      parse-options: factor out usage_indent() and usage_padding()
+      parse-options: no --[no-]no-...
+      parse-options: simplify usage_padding()
+      parse-options: allow omitting option help text
+
+Rubén Justo (2):
+      branch: error message deleting a branch in use
+      branch: error message checking out a branch in use
+
+Sergey Organov (3):
+      diff-merges: improve --diff-merges documentation
+      diff-merges: introduce '--dd' option
+      completion: complete '--dd'
+
+Shuqi Liang (3):
+      t1092: add tests for 'git check-attr'
+      attr.c: read attributes in a sparse directory
+      check-attr: integrate with sparse-index
+
+Tang Yuyi (1):
+      merge-tree: add -X strategy option
+
+Taylor Blau (17):
+      repack: move `pack_geometry` struct to the stack
+      builtin/pack-objects.c: remove unnecessary strbuf_reset()
+      builtin/pack-objects.c: support `--max-pack-size` with `--cruft`
+      Documentation/gitformat-pack.txt: remove multi-cruft packs alternative
+      Documentation/gitformat-pack.txt: drop mixed version section
+      builtin/repack.c: extract structure to store existing packs
+      builtin/repack.c: extract marking packs for deletion
+      builtin/repack.c: extract redundant pack cleanup for --geometric
+      builtin/repack.c: extract redundant pack cleanup for existing packs
+      builtin/repack.c: extract `has_existing_non_kept_packs()`
+      builtin/repack.c: store existing cruft packs separately
+      builtin/repack.c: avoid directly inspecting "util"
+      builtin/repack.c: extract common cruft pack loop
+      t7700: split cruft-related tests to t7704
+      builtin/repack.c: parse `--max-pack-size` with OPT_MAGNITUDE
+      builtin/repack.c: implement support for `--max-cruft-size`
+      builtin/repack.c: avoid making cruft packs preferred
+
+Victoria Dye (4):
+      ref-cache.c: fix prefix matching in ref iteration
+      dir.[ch]: expose 'get_dtype'
+      dir.[ch]: add 'follow_symlink' arg to 'get_dtype'
+      files-backend.c: avoid stat in 'loose_fill_ref_dir'
+
+Vipul Kumar (1):
+      git-gui: Fix a typo in README
+
+brian m. carlson (1):
+      t: add a test helper to truncate files
+
+Ævar Arnfjörð Bjarmason (1):
+      Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
+
+Štěpán Němec (5):
+      doc: fix some typos, grammar and wording issues
+      doc/diff-options: improve wording of the log.diffMerges mention
+      git-jump: admit to passing merge mode args to ls-files
+      doc/gitk: s/sticked/stuck/
+      t/README: fix multi-prerequisite example
+
+谢致邦 (XIE Zhibang) (2):
+      doc: correct the 50 characters soft limit
+      doc: correct the 50 characters soft limit (+)
+
+
+Version v2.42.1; changes since v2.42.0:
+---------------------------------------
+
+Caleb Hill (1):
+      git-clean doc: fix "without do cleaning" typo
+
+Christian Hesse (2):
+      t/lib-gpg: forcibly run a trustdb update
+      t/t6300: drop magic filtering
+
+Derrick Stolee (4):
+      upload-pack: fix race condition in error messages
+      scalar: add --[no-]src option
+      setup: add discover_git_directory_reason()
+      scalar reconfigure: help users remove buggy repos
+
+Evan Gates (1):
+      git-config: fix misworded --type=path explanation
+
+Han Young (1):
+      show doc: redirect user to git log manual instead of git diff-tree
+
+Jacob Abel (1):
+      builtin/worktree.c: fix typo in "forgot fetch" msg
+
+Jeff King (17):
+      hashmap: use expected signatures for comparison functions
+      diff-files: avoid negative exit value
+      diff: show usage for unknown builtin_diff_files() options
+      diff: die when failing to read index in git-diff builtin
+      diff: drop useless return from run_diff_{files,index} functions
+      diff: drop useless return values in git-diff helpers
+      diff: drop useless "status" parameter from diff_result_code()
+      commit-graph: verify swapped zero/non-zero generation cases
+      test-lib: ignore uninteresting LSan output
+      ci: allow branch selection through "vars"
+      ci: deprecate ci/config/allow-ref script
+      http: factor out matching of curl http/2 trace lines
+      http: update curl http/2 info matching for curl 8.3.0
+      test-lib: set UBSAN_OPTIONS to match ASan
+      decorate: add clear_decoration() function
+      revision: clear decoration structs during release_revisions()
+      daemon: free listen_addr before returning
+
+Johannes Schindelin (12):
+      rebase: allow overriding the maximal length of the generated labels
+      ci: avoid building from the same commit in parallel
+      ci(linux-asan-ubsan): let's save some time
+      var: avoid a segmentation fault when `HOME` is unset
+      completion(switch/checkout): treat --track and -t the same
+      maintenance(systemd): support the Windows Subsystem for Linux
+      ci: add a GitHub workflow to submit Coverity scans
+      coverity: cache the Coverity Build Tool
+      coverity: allow overriding the Coverity project
+      coverity: support building on Windows
+      coverity: allow running on macOS
+      coverity: detect and report when the token or project is incorrect
+
+Josip Sokcevic (1):
+      diff-lib: fix check_removed when fsmonitor is on
+
+Junio C Hamano (12):
+      mv: fix error for moving directory to another
+      diff: move the fallback "--exit-code" code down
+      diff: mode-only change should be noticed by "--patch -w --exit-code"
+      diff: teach "--stat -w --exit-code" to notice differences
+      t4040: remove test that succeeded for a wrong reason
+      diff: spell DIFF_INDEX_CACHED out when calling run_diff_index()
+      diff: the -w option breaks --exit-code for --raw and other output modes
+      transfer.unpackLimit: fetch/receive.unpackLimit takes precedence
+      doc: update list archive reference to use lore.kernel.org
+      commit: do not use cryptic "new_index" in end-user facing messages
+      am: align placeholder for --whitespace option with apply
+      Git 2.42.1
+
+Kousik Sanagavarapu (1):
+      ref-filter: sort numerically when ":size" is used
+
+Mark Ruvald Pedersen (1):
+      sequencer: truncate labels to accommodate loose refs
+
+Michal Suchanek (1):
+      git-push doc: more visibility for -q option
+
+Naomi Ibe (1):
+      builtin/add.c: clean up die() messages
+
+Oswald Buddenhagen (6):
+      t9001: fix indentation in test_no_confirm()
+      sequencer: rectify empty hint in call of require_clean_work_tree()
+      sequencer: fix error message on failure to copy SQUASH_MSG
+      t3404-rebase-interactive.sh: fix typos in title of a rewording test
+      sequencer: remove unreachable exit condition in pick_commits()
+      am: fix error message in parse_opt_show_current_patch()
+
+Patrick Steinhardt (4):
+      upload-pack: fix exit code when denying fetch of unreachable object ID
+      doc/git-worktree: mention "refs/rewritten" as per-worktree refs
+      doc/git-repack: fix syntax for `-g` shorthand option
+      doc/git-repack: don't mention nonexistent "--unpacked" option
+
+Philippe Blain (1):
+      completion: improve doc for complex aliases
+
+Phillip Wood (7):
+      rebase -i: move unlink() calls
+      rebase -i: remove patch file after conflict resolution
+      sequencer: use rebase_path_message()
+      sequencer: factor out part of pick_commits()
+      rebase: fix rewritten list for failed pick
+      rebase --continue: refuse to commit after failed command
+      rebase -i: fix adding failed command to the todo list
+
+René Scharfe (5):
+      name-rev: use OPT_HIDDEN_BOOL for --peel-tag
+      grep: use OPT_INTEGER_F for --max-depth
+      grep: reject --no-or
+      diff --no-index: fix -R with stdin
+      parse-options: drop unused parse_opt_ctx_t member
+
+Sergey Organov (1):
+      doc/diff-options: fix link to generating patch section
+
+Taylor Blau (7):
+      commit-graph: introduce `commit_graph_generation_from_graph()`
+      t/t5318-commit-graph.sh: test generation zero transitions during fsck
+      commit-graph: avoid repeated mixed generation number warnings
+      leak tests: mark a handful of tests as leak-free
+      leak tests: mark t3321-notes-stripspace.sh as leak-free
+      leak tests: mark t5583-push-branches.sh as leak-free
+      git-send-email.perl: avoid printing undef when validating addresses
+
+Wesley Schwengle (2):
+      git-push.txt: fix grammar
+      git-svn: drop FakeTerm hack
+
+Štěpán Němec (1):
+      doc/cat-file: make synopsis and description less confusing
+
+王常新 (1):
+      merge-ort.c: fix typo 'neeed' to 'needed'
+
+
+Version v2.42.0; changes since v2.42.0-rc2:
+-------------------------------------------
+
+Arkadii Yakovets (1):
+      l10n: uk: update translation (2.42.0)
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.42 (round 1)
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Emir SARI (1):
+      l10n: tr: git 2.42.0
+
+Jean-Noël Avila (2):
+      l10n: fr v2.42.0 rnd 1
+      l10n: fr v2.42.0 rnd 2
+
+Jeff King (1):
+      fsck: use enum object_type for fsck_walk callback
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.42
+
+Martin Ågren (4):
+      notes doc: split up run-on sentences
+      notes doc: tidy up `--no-stripspace` paragraph
+      show-ref doc: fix carets in monospace
+      rev-list-options: fix typo in `--stdin` documentation
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation 5549t0f0u
+
+Ralf Thielow (1):
+      l10n: Update German translation
+
+Teng Long (2):
+      l10n: zh_CN: v2.42.0 round 1
+      l10n: zh_CN: 2.42.0 round 2
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: Git 2.42
+
+
+Version v2.42.0-rc2; changes since v2.42.0-rc1:
+-----------------------------------------------
+
+Jeff King (4):
+      send-email: drop FakeTerm hack
+      send-email: avoid creating more than one Term::ReadLine object
+      repack: free geometry struct
+      t4053: avoid writing to unopened pipe
+
+Johannes Schindelin (3):
+      t0040: declare non-tab indentation to be okay in this script
+      win32: add a helper to run `git.exe` without a foreground window
+      git maintenance: avoid console window in scheduled tasks on Windows
+
+Junio C Hamano (1):
+      Git 2.42-rc2
+
+Oswald Buddenhagen (2):
+      advice: handle "rebase" in error_resolve_conflict()
+      t9001: remove excessive GIT_SEND_EMAIL_NOTTY=1
+
+Phillip Wood (1):
+      t4053: avoid race when killing background processes
+
+René Scharfe (1):
+      parse-options: disallow negating OPTION_SET_INT 0
+
+Sebastian Thiel (1):
+      mv: handle lstat() failure correctly
+
+
+Version v2.42.0-rc1; changes since v2.42.0-rc0:
+-----------------------------------------------
+
+Adam Majer (1):
+      doc: sha256 is no longer experimental
+
+Eric Wong (5):
+      sha256/gcrypt: fix build with SANITIZE=leak
+      sha256/gcrypt: fix memory leak with SHA-256 repos
+      sha256/gcrypt: die on gcry_md_open failures
+      sha256: avoid functions deprecated in OpenSSL 3+
+      avoid SHA-1 functions deprecated in OpenSSL 3+
+
+Glen Choo (1):
+      mailmap: change primary address for Glen Choo
+
+Junio C Hamano (2):
+      A few more topics before -rc1
+      Git 2.42-rc1
+
+Matthias Aßhauer (3):
+      run-command: conditionally define locate_in_PATH()
+      compat/mingw: implement a native locate_in_PATH()
+      docs: update when `git bisect visualize` uses `gitk`
+
+Phillip Wood (1):
+      rebase --skip: fix commit message clean up when skipping squash
+
+René Scharfe (1):
+      bundle: use OPT_PASSTHRU_ARGV
+
+Taylor Blau (5):
+      t/lib-commit-graph.sh: allow `graph_read_expect()` in sub-directories
+      t/lib-commit-graph.sh: avoid directory change in `graph_git_behavior()`
+      t5318: avoid top-level directory changes
+      t5328: avoid top-level directory changes
+      t/lib-commit-graph.sh: avoid sub-shell in `graph_git_behavior()`
+
+brian m. carlson (2):
+      ident: don't consider '.' a crud
+      gitignore: ignore clangd .cache directory
+
+
+Version v2.42.0-rc0; changes since v2.41.0:
+-------------------------------------------
+
+Alejandro R. Sedeño (1):
+      statinfo.h: move DTYPE defines from dir.h
+
+Alex Henrie (4):
+      wt-status: don't show divergence advice when committing
+      remote: don't imply that integration is always required before pushing
+      push: don't imply that integration is always required before pushing
+      sequencer: finish parsing the todo list despite an invalid first line
+
+Andreas Herrmann (3):
+      configure.ac: don't overwrite NO_EXPAT option
+      configure.ac: don't overwrite NO_CURL option
+      configure.ac: always save NO_ICONV to config.status
+
+Beat Bolli (2):
+      trace2: fix a comment
+      wrapper: use trace2 counters to collect fsync stats
+
+Calvin Wan (13):
+      strbuf: clarify API boundary
+      strbuf: clarify dependency
+      abspath: move related functions to abspath
+      credential-store: move related functions to credential-store file
+      object-name: move related functions to object-name
+      path: move related function to path
+      strbuf: remove global variable
+      git-compat-util: move strbuf.c funcs to its header
+      git-compat-util: move wrapper.c funcs to its header
+      sane-ctype.h: create header for sane-ctype macros
+      kwset: move translation table from ctype
+      treewide: remove unnecessary includes for wrapper.h
+      git-compat-util: move alloc macros to git-compat-util.h
+
+D. Ben Knoble (2):
+      i18n: mark more bundle.c strings for translation
+      t4002: fix "diff can read from stdin" syntax
+
+Derrick Stolee (7):
+      add: check color.ui for interactive add
+      add: test use of brackets when color is disabled
+      repository: create disable_replace_refs()
+      replace-objects: create wrapper around setting
+      repository: create read_replace_refs setting
+      packfile: delete .idx files before .pack files
+      builtin/repack.c: only repack `.pack`s that exist
+
+Elijah Newren (28):
+      init-db: document existing bug with core.bare in template config
+      init-db: remove unnecessary global variable
+      init-db, clone: change unnecessary global into passed parameter
+      setup: adopt shared init-db & clone code
+      read-cache: move shared commit and ls-files code
+      add: modify add_files_to_cache() to avoid globals
+      read-cache: move shared add/checkout/commit code
+      statinfo: move stat_{data,validity} functions from cache/read-cache
+      run-command.h: move declarations for run-command.c from cache.h
+      name-hash.h: move declarations for name-hash.c from cache.h
+      sparse-index.h: move declarations for sparse-index.c from cache.h
+      preload-index.h: move declarations for preload-index.c from elsewhere
+      diff.h: move declaration for global in diff.c from cache.h
+      merge.h: move declarations for merge.c from cache.h
+      repository.h: move declaration of the_index from cache.h
+      read-cache*.h: move declarations for read-cache.c functions from cache.h
+      cache.h: remove this no-longer-used header
+      log-tree: replace include of revision.h with simple forward declaration
+      repository: remove unnecessary include of path.h
+      diff.h: remove unnecessary include of oidset.h
+      list-objects-filter-options.h: remove unneccessary include
+      builtin.h: remove unneccessary includes
+      git-compat-util.h: remove unneccessary include of wildmatch.h
+      merge-ll: rename from ll-merge
+      khash: name the structs that khash declares
+      object-store-ll.h: split this header out of object-store.h
+      hash-ll, hashmap: move oidhash() to hash-ll
+      fsmonitor-ll.h: split this header out of fsmonitor.h
+
+Eric Sunshine (1):
+      fsck: avoid misleading variable name
+
+Glen Choo (15):
+      cocci: add headings to and reword README
+      cocci: codify authoring and reviewing practices
+      setup.c: don't setup in discover_git_directory()
+      config: don't BUG when both kvi and source are set
+      config: inline git_color_default_config
+      urlmatch.h: use config_fn_t type
+      config: add ctx arg to config_fn_t
+      config.c: pass ctx in configsets
+      config: pass ctx with config files
+      config.c: pass ctx with CLI config
+      trace2: plumb config kvi
+      config: pass kvi to die_bad_number()
+      config.c: remove config_reader from configsets
+      config: add kvi.path, use it to evaluate includes
+      config: pass source to config_parser_event_fn_t
+
+Han Young (1):
+      blame: allow --contents to work with bare repo
+
+Jacob Abel (11):
+      worktree add: include -B in usage docs
+      t2400: cleanup created worktree in test
+      t2400: refactor "worktree add" opt exclusion tests
+      t2400: add tests to verify --quiet
+      worktree add: add --orphan flag
+      worktree add: introduce "try --orphan" hint
+      worktree add: extend DWIM to infer --orphan
+      worktree add: emit warn when there is a bad HEAD
+      t2400: drop no-op `--sq` from rev-parse call
+      builtin/worktree.c: convert tab in advice to space
+      t2400: rewrite regex to avoid unintentional PCRE
+
+Jacob Keller (1):
+      fix cherry-pick/revert status when doing multiple commits
+
+Jan Klötzke (1):
+      ref-filter: handle nested tags in --points-at option
+
+Jeff King (36):
+      format-patch: free rev.message_id when exiting
+      format-patch: free elements of rev.ref_message_ids list
+      pathspec: factor out magic-to-name function
+      diff: factor out --follow pathspec check
+      diff: detect pathspec magic not supported by --follow
+      ci: use clang for ASan/UBSan checks
+      ci: run ASan/UBSan in a single job
+      ci: drop linux-clang job
+      commit: pass --no-divider to interpret-trailers
+      http: handle both "h2" and "h2h3" in curl info lines
+      var: mark unused parameters in git_var callbacks
+      imap-send: use server conf argument in setup_curl()
+      imap-send: drop unused parameter from imap_cmd_cb callback
+      imap-send: drop unused fields from imap_cmd_cb
+      refs.c: rename `ref_filter`
+      ref-filter.h: provide `REF_FILTER_INIT`
+      ref-filter: clear reachable list pointers after freeing
+      ref-filter: add `ref_filter_clear()`
+      ref-filter.c: parameterize match functions over patterns
+      test-ref-store: drop unimplemented reflog-expire command
+      do_for_each_ref_helper(): mark unused repository parameter
+      http: mark unused parameters in curl callbacks
+      http-push: mark unused parameter in xml callback
+      am: mark unused keep_cr parameters
+      count-objects: mark unused parameter in alternates callback
+      revisions: drop unused "opt" parameter in "tweak" callbacks
+      fsck: mark unused parameters in various fsck callbacks
+      merge-tree: mark unused parameter in traverse callback
+      replace: mark unused parameter in ref callback
+      replace: mark unused parameter in each_mergetag_fn callback
+      rev-parse: mark unused parameter in for_each_abbrev callback
+      tag: mark unused parameters in each_tag_name_fn callbacks
+      t/helper: mark unused callback void data parameters
+      ref-filter: avoid parsing tagged objects in match_points_at()
+      ref-filter: avoid parsing non-tags in match_points_at()
+      ref-filter: simplify return type of match_points_at
+
+Johan Ruokangas (1):
+      gitignore.txt: use backticks instead of double quotes
+
+Johannes Schindelin (3):
+      do_read_index(): always mark index as initialized unless erroring out
+      split-index: accept that a base index can be empty
+      commit -a -m: allow the top-level tree to become empty again
+
+John Cai (34):
+      docs: clarify git-pack-refs --all will pack all refs
+      pack-refs: teach --exclude option to exclude refs from being packed
+      pack-refs: teach pack-refs --include option
+      t0000-basic: modernize test format
+      t0030-stripspace: modernize test format
+      t3210-pack-refs: modernize test format
+      t1001-read-tree-m-2way: modernize test format
+      t1002-read-tree-m-u-2way: modernize test format
+      t1006-cat-file: modernize test format
+      t3500-cherry: modernize test format
+      t3700-add: modernize test format
+      t3903-stash: modernize test format
+      t4002-diff-basic: modernize test format
+      t4003-diff-rename-1: modernize test format
+      t4004-diff-rename-symlink: modernize test format
+      t4202-log: modernize test format
+      t4206-log-follow-harder-copies: modernize test format
+      t5300-pack-object: modernize test format
+      t5301-sliding-window: modernize test format
+      t5303-pack-corruption-resilience: modernize test format
+      t5306-pack-nobase: modernize test format
+      t6050-replace: modernize test format
+      t7101-reset-empty-subdirs: modernize test format
+      t7110-reset-merge: modernize test format
+      t7111-reset-table: modernize test format
+      t7201-co: modernize test format
+      t7508-status: modernize test format
+      t7600-merge: modernize test format
+      t7700-repack: modernize test format
+      t9100-git-svn-basic: modernize test format
+      t9104-git-svn-follow-parent: modernize test format
+      t9200-git-cvsexportcommit: modernize test format
+      t9400-git-cvsserver-server: modernize test format
+      docs: add git hash-object -t option's possible values
+
+Jonathan Tan (1):
+      CodingGuidelines: use octal escapes, not hex
+
+Josip Sokcevic (1):
+      diff-lib: honor override_submodule_config flag bit
+
+Junio C Hamano (44):
+      diff: fix interaction between the "-s" option and other options
+      show-branch doc: say <ref>, not <reference>
+      Start the 2.42 cycle
+      The second batch for 2.42
+      The third batch
+      ll-merge: killing the external merge driver aborts the merge
+      The fourth batch
+      t6406: skip "external merge driver getting killed by a signal" test on Windows
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      t6135: attr magic with path pattern
+      tree-walk: lose base_offset that is never used in tree_entry_interesting
+      tree-walk: drop unused base_offset from do_match()
+      The ninth batch
+      dir: match "attr" pathspec magic with correct paths
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      gitignore.txt: mark up explanation of patterns consistently
+      am: simplify parsing of "--[no-]keep-cr"
+      branch: reject "--no-all" and "--no-remotes" early
+      parse-options: introduce OPT_IPVERSION()
+      fetch: reject --no-ipv[46]
+      show-branch: --no-sparse should give dense output
+      short help: allow multi-line opthelp
+      remote: simplify "remote add --tags" help text
+      short help: allow a gap smaller than USAGE_GAP
+      show-branch: reject --[no-](topo|date)-order
+      reset: reject --no-(mixed|soft|hard|merge|keep) option
+      The thirteenth batch
+      branch: update the message to refuse touching a branch in-use
+      hex: retire get_sha1_hex()
+      The fourteenth batch
+      SubmittingPatches: choice of base for fixing an older maintenance track
+      The fifteenth batch
+      SubmittingPatches: explain why 'next' and above are inappropriate base
+      SubmittingPatches: use of older maintenance tracks is an exception
+      The sixteenth batch
+      MyFirstContribution: refrain from self-iterating too much
+      The seventeenth batch
+      The eighteenth batch
+      Git 2.42-rc0
+
+Kousik Sanagavarapu (5):
+      t/lib-gpg: introduce new prereq GPG2
+      ref-filter: add new "signature" atom
+      t4205: correctly test %(describe:abbrev=...)
+      ref-filter: add multiple-option parsing functions
+      ref-filter: add new "describe" atom
+
+Kristoffer Haugsbakk (5):
+      doc: tag: document `TAG_EDITMSG`
+      t/t7004-tag: add regression test for successful tag creation
+      tag: keep the message file in case ref transaction fails
+      notes: update documentation for `use_default_notes`
+      notes: move the documentation to the struct
+
+Linus Arver (15):
+      docs: typofixes
+      doc: trailer: fix grammar
+      doc: trailer: swap verb order
+      doc: trailer: drop "commit message part" phrasing
+      doc: trailer: examples: avoid the word "message" by itself
+      doc: trailer: remove redundant phrasing
+      doc: trailer: use angle brackets for <token> and <value>
+      doc: trailer.<token>.command: emphasize deprecation
+      doc: trailer: mention 'key' in DESCRIPTION
+      doc: trailer: add more examples in DESCRIPTION
+      SubmittingPatches: reword awkward phrasing
+      SubmittingPatches: discuss subsystems separately from git.git
+      SubmittingPatches: de-emphasize branches as starting points
+      SubmittingPatches: emphasize need to communicate non-default starting points
+      SubmittingPatches: simplify guidance for choosing a starting point
+
+M Hickford (3):
+      credential: avoid erasing distinct password
+      credential: erase all matching credentials
+      doc: gitcredentials: link to helper list
+
+Martin Ågren (1):
+      t0091-bugreport.sh: actually verify some content of report
+
+Mike Hommey (2):
+      commit-reach: fix memory leak in get_reachable_subset()
+      mingw: use lowercase includes for some Windows headers
+
+Patrick Steinhardt (17):
+      fetch: drop unused DISPLAY_FORMAT_UNKNOWN enum value
+      fetch: drop unneeded NULL-check for `remote_ref`
+      fetch: pass through `fetch_config` directly
+      fetch: use `fetch_config` to store "fetch.prune" value
+      fetch: use `fetch_config` to store "fetch.pruneTags" value
+      fetch: use `fetch_config` to store "fetch.showForcedUpdates" value
+      fetch: use `fetch_config` to store "fetch.recurseSubmodules" value
+      fetch: use `fetch_config` to store "fetch.parallel" value
+      fetch: use `fetch_config` to store "submodule.fetchJobs" value
+      t1006: don't strip timestamps from expected results
+      t1006: modernize test style to use `test_cmp`
+      strbuf: provide CRLF-aware helper to read until a specified delimiter
+      cat-file: simplify reading from standard input
+      cat-file: add option '-Z' that delimits input and output with NUL
+      revision: reorder `read_revisions_from_stdin()`
+      revision: small readability improvement for reading from stdin
+      revision: handle pseudo-opts in `--stdin` mode
+
+Petar Vutov (1):
+      doc: highlight that .gitmodules does not support !command
+
+Philippe Blain (30):
+      revisions.txt: use description list for special refs
+      revisions.txt: document more special refs
+      completion: complete REVERT_HEAD and BISECT_HEAD
+      git-merge.txt: modernize word choice in "True merge" section
+      Documentation: document AUTO_MERGE
+      completion: complete AUTO_MERGE
+      completion: add comments describing __git_diff_* globals
+      completion: complete --break-rewrites
+      completion: complete --cc
+      completion: complete --combined-all-paths
+      completion: complete --compact-summary
+      completion: complete --default-prefix
+      completion: complete --find-copies
+      completion: complete --find-object
+      completion: complete --find-renames
+      completion: complete --function-context
+      completion: complete --ignore-matching-lines
+      completion: complete --irreversible-delete
+      completion: complete --ita-invisible-in-index and --ita-visible-in-index
+      completion: complete --line-prefix
+      completion: complete --no-relative
+      completion: complete --no-stat
+      completion: complete --output
+      completion: complete --output-indicator-{context,new,old}
+      completion: complete --unified
+      completion: complete --ws-error-highlight
+      completion: move --pickaxe-{all,regex} to __git_diff_common_options
+      completion: complete --diff-merges, its options and --no-diff-merges
+      completion: complete --remerge-diff
+      diff.c: mention completion above add_diff_options
+
+Phillip Wood (5):
+      apply: improve error messages when reading patch
+      diff --no-index: refuse to compare stdin to a directory
+      diff --no-index: die on error reading stdin
+      t4054: test diff --no-index with stdin
+      diff --no-index: support reading from named pipes
+
+René Scharfe (18):
+      t1800: loosen matching of error message for bad shebang
+      run-command: report exec error even on ENOENT
+      ls-tree: fix documentation of %x format placeholder
+      pretty: factor out expand_separator()
+      strbuf: factor out strbuf_expand_step()
+      replace strbuf_expand_dict_cb() with strbuf_expand_step()
+      replace strbuf_expand() with strbuf_expand_step()
+      strbuf: simplify strbuf_expand_literal_cb()
+      ls-tree: simplify prefix handling
+      pretty: avoid double negative in format_commit_item()
+      pkt-line: add size parameter to packet_length()
+      pretty: use strchr(3) in userformat_find_requirements()
+      t6300: fix setup with GPGSSH but without GPG
+      strbuf: use skip_prefix() in strbuf_addftime()
+      ls-tree: fix --no-full-name
+      describe: fix --no-exact-match
+      pack-objects: fix --no-keep-true-parents
+      pack-objects: fix --no-quiet
+
+Rubén Justo (11):
+      config: fix a leak in git_config_copy_or_rename_section_in_file
+      remote: fix a leak in query_matches_negative_refspec
+      branch: fix a leak in dwim_and_setup_tracking
+      branch: fix a leak in inherit_tracking
+      branch: fix a leak in check_tracking_branch
+      branch: fix a leak in setup_tracking
+      rev-parse: fix a leak with --abbrev-ref
+      branch: fix a leak in setup_tracking
+      branch: fix a leak in cmd_branch
+      config: fix a leak in git_config_copy_or_rename_section_in_file
+      tests: mark as passing with SANITIZE=leak
+
+Sean Allred (5):
+      show-ref doc: update for internal consistency
+      ls-remote doc: remove redundant --tags example
+      ls-remote doc: show peeled tags in examples
+      ls-remote doc: explain what each example does
+      ls-remote doc: document the output format
+
+Shuqi Liang (2):
+      diff-tree: integrate with sparse index
+      worktree: integrate with sparse-index
+
+Taylor Blau (48):
+      object: add object_array initializer helper function
+      pack-bitmap.c: extract `fill_in_bitmap()`
+      pack-bitmap.c: use commit boundary during bitmap traversal
+      builtin/submodule--helper.c: handle missing submodule URLs
+      builtin/repack.c: only collect fully-formed packs
+      reachable.c: extract `obj_is_recent()`
+      gc: introduce `gc.recentObjectsHook`
+      pack-bitmap.c: gracefully degrade on failure to load MIDX'd pack
+      t7701: make annotated tag unreachable
+      fsck: suppress commit-graph output with `--no-progress`
+      fsck: suppress MIDX output with `--no-progress`
+      commit-graph.c: extract `verify_one_commit_graph()`
+      commit-graph.c: iteratively verify commit-graph chains
+      commit-graph.c: pass progress to `verify_one_commit_graph()`
+      commit-graph.c: avoid duplicated progress output during `verify`
+      builtin/for-each-ref.c: add `--exclude` option
+      refs: plumb `exclude_patterns` argument throughout
+      refs/packed-backend.c: refactor `find_reference_location()`
+      refs/packed-backend.c: implement jump lists to avoid excluded pattern(s)
+      refs/packed-backend.c: add trace2 counters for jump list
+      revision.h: store hidden refs in a `strvec`
+      refs.h: let `for_each_namespaced_ref()` take excluded patterns
+      refs.h: implement `hidden_refs_to_excludes()`
+      builtin/receive-pack.c: avoid enumerating hidden references
+      upload-pack.c: avoid enumerating hidden refs where possible
+      ls-refs.c: avoid enumerating hidden refs where possible
+      builtin/repack.c: avoid dir traversal in `collect_pack_filenames()`
+      packfile.c: prevent overflow in `nth_packed_object_id()`
+      packfile.c: prevent overflow in `load_idx()`
+      packfile.c: use checked arithmetic in `nth_packed_object_offset()`
+      midx.c: use `size_t`'s for fanout nr and alloc
+      midx.c: prevent overflow in `nth_midxed_object_oid()`
+      midx.c: prevent overflow in `nth_midxed_offset()`
+      midx.c: store `nr`, `alloc` variables as `size_t`'s
+      midx.c: prevent overflow in `write_midx_internal()`
+      midx.c: prevent overflow in `fill_included_packs_batch()`
+      pack-bitmap.c: ensure that eindex lookups don't overflow
+      commit-graph.c: prevent overflow in `write_commit_graph_file()`
+      commit-graph.c: prevent overflow in add_graph_to_chain()
+      commit-graph.c: prevent overflow in `load_oid_from_graph()`
+      commit-graph.c: prevent overflow in `fill_commit_graph_info()`
+      commit-graph.c: prevent overflow in `fill_commit_in_graph()`
+      commit-graph.c: prevent overflow in `load_tree_for_commit()`
+      commit-graph.c: prevent overflow in `split_graph_merge_strategy()`
+      commit-graph.c: prevent overflow in `merge_commit_graph()`
+      commit-graph.c: prevent overflow in `write_commit_graph()`
+      commit-graph.c: prevent overflow in `verify_commit_graph()`
+      Documentation/RelNotes/2.42.0.txt: typofix
+
+Teng Long (8):
+      surround %s with quotes when failed to lookup commit
+      notes.c: cleanup 'strbuf_grow' call in 'append_edit'
+      notes.c: use designated initializers for clarity
+      t3321: add test cases about the notes stripspace behavior
+      notes.c: introduce '--separator=<paragraph-break>' option
+      notes.c: append separator instead of insert by pos
+      notes.c: introduce "--[no-]stripspace" option
+      notes: introduce "--no-separator" option
+
+Todd Zullinger (3):
+      trace2 tests: fix PTHREADS prereq
+      t/lib-gpg: fix ssh-keygen -Y check-novalidate with openssh-9.0
+      t/lib-gpg: require GPGSSH for GPGSSH_VERIFYTIME prereq
+
+Victoria Dye (3):
+      config: use gitdir to get worktree config
+      config: pass 'repo' directly to 'config_with_options()'
+      repository: move 'repository_format_worktree_config' to repo scope
+
+Vinayak Dev (1):
+      docs: add necessary headers to Documentation/MFOW.txt
+
+ZheNing Hu (1):
+      ls-files: align format atoms with ls-tree
+
+brian m. carlson (7):
+      t: add a function to check executable bit
+      var: add support for listing the shell
+      var: format variable structure with C99 initializers
+      var: adjust memory allocation for strings
+      attr: expose and rename accessor functions
+      var: add attributes files locations
+      var: add config file locations
+
+
+Version v2.41.0; changes since v2.41.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5515t)
+
+Arkadii Yakovets (3):
+      l10n: uk: add initial translation
+      l10n: uk: remove stale lines
+      l10n: update uk localization
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.41 (round 1)
+
+Benjamin Jorand (1):
+      l10n: fr: fix translation of stash save help
+
+Daniel Santos (1):
+      l10n: TEAMS: Update pt_PT repo link
+
+Emir SARI (1):
+      l10n: tr: Update Turkish translations for 2.41.0
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.41.0 rnd1
+      l10n: fr.po v2.41.0 rnd2
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.41
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5515t0f0u)
+
+Ralf Thielow (1):
+      l10n: Update German translation
+
+Teng Long (1):
+      l10n: zh_CN: Git 2.41.0 round #1
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: Git 2.41.0
+
+
+Version v2.41.0-rc2; changes since v2.41.0-rc1:
+-----------------------------------------------
+
+Corentin Garcia (1):
+      doc/git-config: add unit for http.lowSpeedLimit
+
+Johannes Schindelin (2):
+      rebase --update-refs: fix loops
+      rebase -r: fix the total number shown in the progress
+
+Junio C Hamano (5):
+      tests: do not negate test_path_exists
+      t2021: do not negate test_path_is_dir
+      test: do not negate test_path_is_* to assert absense
+      A few more topics after 2.41-rc1
+      Git 2.41-rc2
+
+Shuqi Liang (1):
+      t1092: update a write-tree test
+
+
+Version v2.41.0-rc1; changes since v2.41.0-rc0:
+-----------------------------------------------
+
+Christian Hesse (1):
+      imap-send: include strbuf.h
+
+Jeff King (1):
+      t/lib-httpd: make CGIPassAuth support conditional
+
+John Cai (1):
+      attr: teach "--attr-source=<tree>" global option to "git"
+
+Junio C Hamano (4):
+      A bit more before -rc1
+      send-email: clear the $message_id after validation
+      t9001: mark the script as no longer leak checker clean
+      Git 2.41-rc1
+
+Taylor Blau (1):
+      run-command.c: fix missing include under `NO_PTHREADS`
+
+brian m. carlson (1):
+      upload-pack: advertise capabilities when cloning empty repos
+
+
+Version v2.41.0-rc0; changes since v2.40.1:
+-------------------------------------------
+
+Adam Johnson (1):
+      ls-files: fix "--format" output of relative paths
+
+Alex Henrie (5):
+      rebase: add documentation and test for --no-rebase-merges
+      rebase: deprecate --rebase-merges=""
+      rebase: add a config option for --rebase-merges
+      format-patch: correct documentation of --thread without an argument
+      docs: rewrite the documentation of the text and eol attributes
+
+Andreas Schwab (1):
+      git-merge-tree.txt: replace spurious HTML entity
+
+Andrei Rybak (19):
+      t1005: assert output of ls-files
+      t1006: assert error output of cat-file
+      t1010: don't create unused files
+      t1302: don't create unused file
+      t1400: assert output of update-ref
+      t1404: don't create unused file
+      t1507: assert output of rev-parse
+      t3060: fix mention of function prune_index
+      t2107: fix mention of the_index.cache_changed
+      t2024: fix loose/strict local base branch DWIM test
+      t1300: drop duplicate test
+      t1300: check stderr for "ignores pairs" tests
+      t1300: add tests for missing keys
+      t0300: don't create unused file
+      t1300: fix config file syntax error descriptions
+      t1300: don't create unused files
+      t1450: don't create unused files
+      t1502: don't create unused files
+      t2019: don't create unused files
+
+Andy Koppe (1):
+      restore: fault --staged --worktree with merge opts
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 15
+
+Clement Mabileau (1):
+      branch: improve error log on branch not found by checking remotes refs
+
+Daniel Watson (1):
+      SubmittingPatches: clarify MUA discussion with "the"
+
+Derrick Stolee (18):
+      object-file: reprepare alternates when necessary
+      for-each-ref: add --stdin option
+      for-each-ref: explicitly test no matches
+      commit-graph: refactor compute_topological_levels()
+      commit-graph: simplify compute_generation_numbers()
+      commit-graph: return generation from memory
+      commit-reach: implement ahead_behind() logic
+      for-each-ref: add ahead-behind format atom
+      commit-reach: add tips_reachable_from_bases()
+      p2000: remove stray '--sparse' flag from test
+      fetch: download bundles once, even with --all
+      fsck: create scaffolding for rev-index checks
+      fsck: check rev-index checksums
+      fsck: check rev-index position values
+      fsck: validate .rev file header
+      fsck: verify checksums of all .bitmap files
+      fsck: use local repository
+      merge-tree: load default git config
+
+Edwin Kofler (1):
+      completion: suppress unwanted unescaping of `read`
+
+Elijah Newren (94):
+      treewide: ensure one of the appropriate headers is sourced first
+      treewide: remove unnecessary git-compat-util.h includes in headers
+      treewide: remove unnecessary cache.h includes
+      treewide: remove unnecessary cache.h includes in source files
+      alloc.h: move ALLOC_GROW() functions from cache.h
+      hash.h: move some oid-related declarations from cache.h
+      hex.h: move some hex-related declarations from cache.h
+      cache.h: remove dependence on hex.h; make other files include it explicitly
+      pretty.h: move has_non_ascii() declaration from commit.h
+      ident.h: move ident-related declarations out of cache.h
+      object.h: stop depending on cache.h; make cache.h depend on object.h
+      dir.h: refactor to no longer need to include cache.h
+      object-store.h: move struct object_info from cache.h
+      replace-object.h: move read_replace_refs declaration from cache.h to here
+      treewide: replace cache.h with more direct headers, where possible
+      Remove unnecessary includes of builtin.h
+      diff.h: remove unnecessary include of object.h
+      t2021: fix platform-specific leftover cruft
+      unpack-trees: heed requests to overwrite ignored files
+      dir: separate public from internal portion of dir_struct
+      dir: add a usage note to exclude_per_dir
+      dir: mark output only fields of dir_struct as such
+      unpack-trees: clean up some flow control
+      sparse-checkout: avoid using internal API of unpack-trees
+      sparse-checkout: avoid using internal API of unpack-trees, take 2
+      unpack_trees: start splitting internal fields from public API
+      unpack-trees: mark fields only used internally as internal
+      unpack-trees: rewrap a few overlong lines from previous patch
+      unpack-trees: special case read-tree debugging as internal usage
+      unpack-trees: add usage notices around df_conflict_entry
+      treewide: remove unnecessary cache.h inclusion from a few headers
+      treewide: be explicit about dependence on gettext.h
+      treewide: remove unnecessary inclusion of gettext.h
+      treewide: remove unnecessary cache.h inclusion from several sources
+      environment: move comment_line_char from cache.h
+      abspath.h: move absolute path functions from cache.h
+      cache.h: remove expand_user_path()
+      path.h: move function declarations for path.c functions from cache.h
+      wrapper.h: move declarations for wrapper.c functions from cache.h
+      treewide: remove unnecessary includes of cache.h
+      environment.h: move declarations for environment.c functions from cache.h
+      treewide: remove cache.h inclusion due to environment.h changes
+      setup.h: move declarations for setup.c functions from cache.h
+      treewide: remove cache.h inclusion due to setup.h changes
+      write-or-die.h: move declarations for write-or-die.c functions from cache.h
+      csum-file.h: remove unnecessary inclusion of cache.h
+      treewide: be explicit about dependence on trace.h & trace2.h
+      treewide: be explicit about dependence on advice.h
+      treewide: be explicit about dependence on convert.h
+      treewide: be explicit about dependence on pack-revindex.h
+      treewide: be explicit about dependence on oid-array.h
+      treewide: be explicit about dependence on mem-pool.h
+      treewide: remove unnecessary cache.h inclusion
+      object-name.h: move declarations for object-name.c functions from cache.h
+      treewide: remove cache.h inclusion due to object-name.h changes
+      git-zlib: move declarations for git-zlib functions from cache.h
+      treewide: remove cache.h inclusion due to git-zlib changes
+      object-file.h: move declarations for object-file.c functions from cache.h
+      treewide: remove cache.h inclusion due to object-file.h changes
+      object.h: move some inline functions and defines from cache.h
+      treewide: remove cache.h inclusion due to object.h changes
+      editor: move editor-related functions and declarations into common file
+      treewide: remove cache.h inclusion due to editor.h changes
+      pager.h: move declarations for pager.c functions from cache.h
+      treewide: remove cache.h inclusion due to pager.h changes
+      cache.h: remove unnecessary includes
+      treewide: remove double forward declaration of read_in_full
+      treewide: reduce includes of cache.h in other headers
+      mailmap, quote: move declarations of global vars to correct unit
+      protocol.h: move definition of DEFAULT_GIT_PORT from cache.h
+      treewide: be explicit about dependence on strbuf.h
+      symlinks.h: move declarations for symlinks.c functions from cache.h
+      packfile.h: move pack_window and pack_entry from cache.h
+      server-info.h: move declarations for server-info.c functions from cache.h
+      copy.h: move declarations for copy.c functions from cache.h
+      base85.h: move declarations for base85.c functions from cache.h
+      pkt-line.h: move declarations for pkt-line.c functions from cache.h
+      match-trees.h: move declarations for match-trees.c functions from cache.h
+      ws.h: move declarations for ws.c functions from cache.h
+      versioncmp.h: move declarations for versioncmp.c functions from cache.h
+      dir.h: move DTYPE defines from cache.h
+      tree-diff.c: move S_DIFFTREE_IFXMIN_NEQ define from cache.h
+      hash-ll.h: split out of hash.h to remove dependency on repository.h
+      cache,tree: move cmp_cache_name_compare from tree.[ch] to read-cache.c
+      cache,tree: move basic name compare functions from read-cache to tree
+      treewide: remove cache.h inclusion due to previous changes
+      cache.h: remove unnecessary headers
+      fsmonitor: reduce includes of cache.h
+      commit.h: reduce unnecessary includes
+      object-store.h: reduce unnecessary includes
+      diff.h: reduce unnecessary includes
+      reftable: ensure git-compat-util.h is the first (indirect) include
+      merge-ort: fix calling merge_finalize() with no intermediate merge
+      t5583: fix shebang line
+
+Emily Shaffer (1):
+      mailmap: change primary address for Emily Shaffer
+
+Eric Sunshine (1):
+      tests: diagnose unclosed here-doc in chainlint.pl
+
+Eric Wong (3):
+      commit-reach: avoid NULL dereference
+      fetch: support hideRefs to speed up connectivity checks
+      fetch: pass --no-write-fetch-head to subprocesses
+
+Fangyi Zhou (1):
+      rebase: fix capitalisation autoSquash in i18n string
+
+Felipe Contreras (16):
+      advice: add diverging advice for novices
+      test: simplify counts aggregation
+      test: don't print aggregate-results command
+      object-name: fix quiet @{u} parsing
+      completion: prompt: use generic colors
+      doc: remove GNU troff workaround
+      doc: remove manpage-base-url workaround
+      doc: asciidoc: remove custom header macro
+      doc: simplify man version
+      doc: set actual revdate for manpages
+      doc: git-checkout: trivial callout cleanup
+      doc: git-checkout: reorganize examples
+      doc: remove custom callouts format
+      doc: manpage: remove maximum title length
+      doc: doc-diff: specify date
+      test: rev-parse-upstream: add missing cmp
+
+Glen Choo (10):
+      config.c: plumb config_source through static fns
+      config.c: don't assign to "cf_global" directly
+      config.c: create config_reader and the_reader
+      config.c: plumb the_reader through callbacks
+      config.c: remove current_config_kvi
+      config.c: remove current_parsing_scope
+      config: report cached filenames in die_bad_number()
+      config.c: rename "struct config_source cf"
+      clone: error specifically with --local and symlinked objects
+      setup: trace bare repository setups
+
+Han Xin (2):
+      negotiator/default: avoid stack overflow
+      negotiator/skipping: fix some problems in mark_common()
+
+Jacob Keller (2):
+      blame: allow --contents to work with non-HEAD commit
+      blame: use different author name for fake commit generated by --contents
+
+Jeff King (82):
+      ref-filter: drop unused atom parameter from get_worktree_path()
+      ls-refs: drop config caching
+      serve: use repository pointer to get config
+      serve: mark unused parameters in virtual functions
+      object-name: mark unused parameters in disambiguate callbacks
+      http-backend: mark argc/argv unused
+      http-backend: mark unused parameters in virtual functions
+      ref-filter: mark unused callback parameters
+      mark "pointless" data pointers in callbacks
+      run-command: mark error routine parameters as unused
+      mark unused parameters in signal handlers
+      list-objects: mark unused callback parameters
+      for_each_object: mark unused callback parameters
+      prio-queue: mark unused parameters in comparison functions
+      notes: mark unused callback parameters
+      fetch-pack: mark unused parameter in callback function
+      rewrite_parents(): mark unused callback parameter
+      for_each_commit_graft(): mark unused callback parameter
+      userformat_want_item(): mark unused parameter
+      run_processes_parallel: mark unused callback parameters
+      help: mark unused parameter in git_unknown_cmd_config()
+      fsck: factor out index fsck
+      fsck: check index files in all worktrees
+      fsck: mention file path for index errors
+      fsck: check even zero-entry index files
+      drop pure pass-through config callbacks
+      bundle: turn on --all-progress-implied by default
+      bundle: let "-" mean stdin for reading operations
+      bundle: document handling of "-" as stdin
+      parse-options: consistently allocate memory in fix_filename()
+      parse-options: use prefix_filename_except_for_dash() helper
+      diff: factor out src/dst prefix setup
+      t4013: add tests for diff prefix options
+      diff: add --default-prefix option
+      format-patch: do not respect diff.noprefix
+      format-patch: add format.noprefix option
+      add-patch: handle "* Unmerged path" lines
+      rebase: prefer --default-prefix to --{src,dst}-prefix for format-patch
+      mailmap: drop debugging code
+      http: drop unused parameter from start_object_request()
+      http: mark unused parameter in fill_active_slot() callbacks
+      transport: mark unused parameters in fetch_refs_from_bundle()
+      git_connect(): fix corner cases in downgrading v2 to v0
+      fast-export: drop const when storing anonymized values
+      fast-export: simplify initialization of anonymized hashmaps
+      fast-export: factor out anonymized_entry creation
+      fast-export: de-obfuscate --anonymize-map handling
+      fast-export: drop data parameter from anonymous generators
+      fast-export: drop unused parameter from anonymize_commit_message()
+      pack-redundant: escalate deprecation warning to an error
+      docs: document caveats of rev-list's object-name output
+      fast-import: fix file access when run from subdir
+      builtins: always pass prefix to parse_options()
+      builtins: annotate always-empty prefix parameters
+      builtins: mark unused prefix parameters
+      mark "argv" as unused when we check argc
+      t/helper: mark unused argv/argc arguments
+      parse-options: drop parse_opt_unknown_cb()
+      pack-redundant: document deprecation
+      tests: run internal chain-linter under "make test"
+      tests: replace chainlint subshell with a function
+      tests: drop here-doc check from internal chain-linter
+      tests: skip test_eval_ in internal chain-lint
+      t/lib-httpd: pass PERL_PATH to CGI scripts
+      v0 protocol: fix infinite loop when parsing multi-valued capabilities
+      t5512: stop referring to "v1" protocol
+      v0 protocol: fix sha1/sha256 confusion for capabilities^{}
+      t5512: add v2 support for "ls-remote --symref" test
+      t5512: allow any protocol version for filtered symref test
+      t5512: test "ls-remote --heads --symref" filtering with v0 and v2
+      v0 protocol: use size_t for capability length/offset
+      gpg-interface: set trust level of missing key to "undefined"
+      notes: clean up confusing NULL checks in init_notes()
+      fetch_bundle_uri(): drop pointless NULL check
+      t4212: avoid putting git on left-hand side of pipe
+      parse_commit(): parse timestamp from end of line
+      parse_commit(): handle broken whitespace-only timestamp
+      parse_commit(): describe more date-parsing failure modes
+      doc-diff: drop SOURCE_DATE_EPOCH override
+      t7001: avoid git on upstream of pipe
+      t7001: use "ls-files --format" instead of "cut"
+      t: drop "verbose" helper function
+
+Jiang Xin (1):
+      object-info: init request_info before reading arg
+
+Johannes Schindelin (7):
+      split-index & fsmonitor: demonstrate a bug
+      split-index; stop abusing the `base_oid` to strip the "link" extension
+      fsmonitor: avoid overriding `cache_changed` bits
+      unpack-trees: take care to propagate the split-index flag
+      t3701: we don't need no Perl for `add -i` anymore
+      t5563: prevent "ambiguous redirect"
+      gitk: prevent overly long command lines
+
+John Cai (1):
+      name-rev: make --stdin hidden
+
+John Keeping (1):
+      format-patch: output header for empty commits
+
+Josh Soref (1):
+      subtree: support long global flags
+
+Jouke Witteveen (1):
+      send-email docs: Remove mention of discontinued gmail feature
+
+Junio C Hamano (28):
+      gpg-interface: lazily initialize and read the configuration
+      bundle: don't blindly apply prefix_filename() to "-"
+      Start the 2.41 cycle
+      The second batch
+      am: refer to format-patch in the documentation
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      e-mail workflow: Message-ID is spelled with ID in both capital letters
+      The seventh batch
+      clone: propagate object-format when cloning from void
+      The eighth batch
+      The ninth batch
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      The thirteenth batch
+      doc: GIT_DEFAULT_HASH is and will be ignored during "clone"
+      The fourteenth batch
+      The fifteenth batch
+      The sixteenth batch
+      diff: refactor common tail part of dirstat computation
+      diff: plug leaks in dirstat
+      t9800: correct misuse of 'show -s --raw' in a test
+      The seventeenth batch
+      The eighteenth batch
+      Git 2.41-rc0
+
+Kristoffer Haugsbakk (5):
+      config: tell the user that we expect an ASCII character
+      doc: interpret-trailers: don’t use heredoc in examples
+      doc: interpret-trailers: use input redirection
+      doc: interpret-trailers: don’t use deprecated config
+      doc: interpret-trailers: fix example
+
+Linus Arver (1):
+      MyFirstContribution: render literal *
+
+M Hickford (3):
+      credential/wincred: include wincred.h
+      credential/wincred: store password_expiry_utc
+      credential: new attribute oauth_refresh_token
+
+Martin Ågren (2):
+      gittutorial: drop early mention of origin
+      gittutorial: wrap literal examples in backticks
+
+Mathias Krause (1):
+      grep: work around UTF-8 related JIT bug in PCRE2 <= 10.34
+
+Matthew John Cheetham (3):
+      t5563: add tests for basic and anoymous HTTP access
+      http: read HTTP WWW-Authenticate response headers
+      credential: add WWW-Authenticate header to cred requests
+
+Maxim Cournoyer (3):
+      send-email: extract execute_cmd from recipients_cmd
+      send-email: add --header-cmd, --no-header-cmd options
+      send-email: detect empty blank lines in command output
+
+Michael J Gruber (1):
+      t3070: make chain lint tester happy
+
+Michael Strawbridge (2):
+      send-email: refactor header generation functions
+      send-email: expose header information to git-send-email's sendemail-validate hook
+
+Mike Hommey (1):
+      Handle some compiler versions containing a dash
+
+Nico Rieck (1):
+      gitk: escape file paths before piping to git log
+
+Oswald Buddenhagen (5):
+      sequencer: remove pointless rollback_lock_file()
+      sequencer: rewrite save_head() in terms of write_message()
+      sequencer: actually translate report in do_exec()
+      messages: capitalization and punctuation exceptions
+      t/t3501-revert-cherry-pick.sh: clarify scope of the file
+
+Patrick Steinhardt (27):
+      receive-pack: fix stale packfile locks when dying
+      fetch: move reference width calculation into `display_state`
+      fetch: move output format into `display_state`
+      fetch: pass the full local reference name to `format_display`
+      fetch: centralize handling of per-reference format
+      fetch: centralize logic to print remote URL
+      fetch: centralize printing of reference updates
+      commit-graph: fix truncated generation numbers
+      midx: fix segfault with no packs and invalid preferred pack
+      repack: fix trying to use preferred pack in alternates
+      repack: fix generating multi-pack-index with only non-local packs
+      pack-objects: split out `--stdin-packs` tests into separate file
+      pack-objects: fix error when packing same pack twice
+      pack-objects: fix error when same packfile is included and excluded
+      pack-objects: extend test coverage of `--stdin-packs` with alternates
+      t/helper: allow chmtime to print verbosely without modifying mtime
+      repack: honor `-l` when calculating pack geometry
+      repack: disable writing bitmaps when doing a local repack
+      fetch: fix `--no-recurse-submodules` with multi-remote fetches
+      fetch: split out tests for output format
+      fetch: add a test to exercise invalid output formats
+      fetch: print left-hand side when fetching HEAD:foo
+      fetch: refactor calculation of the display table width
+      fetch: introduce `display_format` enum
+      fetch: lift up parsing of "fetch.output" config variable
+      fetch: move option related variables into main function
+      fetch: introduce machine-parseable "porcelain" output format
+
+Paul Eggert (1):
+      git-compat-util: use gettimeofday(2) for time(2)
+
+Phillip Wood (8):
+      wildmatch: fix exponential behavior
+      wildmatch: avoid undefined behavior
+      wildmatch: hide internal return values
+      rebase: stop reading and writing unnecessary strategy state
+      sequencer: use struct strvec to store merge strategy options
+      rebase -m: cleanup --strategy-option handling
+      rebase -m: fix serialization of strategy options
+      rebase: remove a couple of redundant strategy tests
+
+Raghul Nanth A (1):
+      describe: enable sparse index for describe
+
+René Scharfe (6):
+      archive: improve support for running in subdirectory
+      t5000: use check_mtime()
+      userdiff: support regexec(3) with multi-byte support
+      date: remove approxidate_relative()
+      get-tar-commit-id: use TYPEFLAG_GLOBAL_HEADER instead of magic value
+      test-ctype: check EOF
+
+Robin Jarry (1):
+      send-email: export patch counters in validate environment
+
+Rubén Justo (10):
+      bisect: fix "reset" when branch is checked out elsewhere
+      worktree: introduce is_shared_symref()
+      branch: fix die_if_checked_out() when ignore_current_worktree
+      rebase: refuse to switch to a branch already checked out elsewhere (test)
+      switch: reject if the branch is already checked out elsewhere (test)
+      branch: test for failures while renaming branches
+      branch: use get_worktrees() in copy_or_rename_branch()
+      branch: description for orphan branch errors
+      branch: rename orphan branches in any worktree
+      branch: avoid unnecessary worktrees traversals
+
+SZEDER Gábor (6):
+      treewide: include parse-options.h in source files
+      treewide: remove unnecessary inclusions of parse-options.h from headers
+      parse-options.h: use consistent name for the callback parameters
+      parse-options.h: rename _OPT_CONTAINS_OR_WITH()'s parameters
+      parse-options.h: use designated initializers in OPT_* macros
+      cocci: remove 'unused.cocci'
+
+Shuqi Liang (3):
+      write-tree: integrate with sparse index
+      t1092: add tests for `git diff-files`
+      diff-files: integrate with sparse index
+
+Siddharth Singh (1):
+      hashmap.h: fix minor typo
+
+Sohom Datta (1):
+      docs: clarify git rm --cached function in gitignore note
+
+Stanislav Malishevskiy (1):
+      http: add support for different sslcert and sslkey types.
+
+Tao Klerks (1):
+      mergetool: new config guiDefault supports auto-toggling gui by DISPLAY
+
+Taylor Blau (31):
+      commit-graph: introduce `ensure_generations_valid()`
+      pack-write.c: plug a leak in stage_tmp_packfiles()
+      t5325: mark as leak-free
+      pack-revindex: make `load_pack_revindex` take a repository
+      pack-revindex: introduce GIT_TEST_REV_INDEX_DIE_ON_DISK
+      pack-revindex: introduce `pack.readReverseIndex`
+      config: enable `pack.writeReverseIndex` by default
+      t: invert `GIT_TEST_WRITE_REV_INDEX`
+      pack-write.c: plug a leak in stage_tmp_packfiles()
+      builtin/repack.c: fix incorrect reference to '-C'
+      builtin/gc.c: ignore cruft packs with `--keep-largest-pack`
+      t/t5304-prune.sh: prepare for `gc --cruft` by default
+      t/t6501-freshen-objects.sh: prepare for `gc --cruft` by default
+      t/t6500-gc.sh: refactor cruft pack tests
+      t/t6500-gc.sh: add additional test cases
+      t/t9300-fast-import.sh: prepare for `gc --cruft` by default
+      builtin/gc.c: make `gc.cruftPacks` enabled by default
+      repository.h: drop unused `gc_cruft_packs`
+      string-list: multi-delimiter `string_list_split_in_place()`
+      string-list: introduce `string_list_setlen()`
+      t/helper/test-hashmap.c: avoid using `strtok()`
+      t/helper/test-oidmap.c: avoid using `strtok()`
+      t/helper/test-json-writer.c: avoid using `strtok()`
+      banned.h: mark `strtok()` and `strtok_r()` as banned
+      credential.c: store "wwwauth[]" values in `credential_read()`
+      t/lib-credential.sh: ensure credential helpers handle long headers
+      contrib/credential: avoid fixed-size buffer in osxkeychain
+      contrib/credential: remove 'gnome-keyring' credential helper
+      contrib/credential: .gitignore libsecret build artifacts
+      contrib/credential: avoid fixed-size buffer in libsecret
+      contrib/credential: embiggen fixed-size buffer in wincred
+
+Teng Long (1):
+      push: introduce '--branches' option
+
+William Sprent (2):
+      builtin/sparse-checkout: remove NEED_WORK_TREE flag
+      builtin/sparse-checkout: add check-rules command
+
+ZheNing Hu (2):
+      receive-pack: fix funny ref error messsage
+      push: allow delete single-level ref
+
+Ævar Arnfjörð Bjarmason (33):
+      auto-crlf tests: don't lose exit code in loops and outside tests
+      t/lib-patch-mode.sh: fix ignored exit codes
+      tests: don't lose exit status with "(cd ...; test <op> $(git ...))"
+      tests: don't lose "git" exit codes in "! ( git ... | grep )"
+      tests: don't lose exit status with "test <op> $(git ...)"
+      tests: don't lose misc "git" exit codes
+      sequencer.c: fix overflow & segfault in parse_strategy_opts()
+      cocci: remove dead rule from "the_repository.pending.cocci"
+      cocci: fix incorrect & verbose "the_repository" rules
+      cocci: sort "the_repository" rules by header
+      cocci: add missing "the_repository" macros to "pending"
+      cocci: apply the "cache.h" part of "the_repository.pending"
+      cocci: apply the "commit-reach.h" part of "the_repository.pending"
+      cocci: apply the "commit.h" part of "the_repository.pending"
+      cocci: apply the "diff.h" part of "the_repository.pending"
+      cocci: apply the "object-store.h" part of "the_repository.pending"
+      cocci: apply the "pretty.h" part of "the_repository.pending"
+      cocci: apply the "packfile.h" part of "the_repository.pending"
+      cocci: apply the "promisor-remote.h" part of "the_repository.pending"
+      cocci: apply the "refs.h" part of "the_repository.pending"
+      cocci: apply the "rerere.h" part of "the_repository.pending"
+      cocci: apply the "revision.h" part of "the_repository.pending"
+      post-cocci: adjust comments for recent repo_* migration
+      libs: use "struct repository *" argument, not "the_repository"
+      config tests: cover blind spots in git_die_config() tests
+      config tests: add "NULL" tests for *_get_value_multi()
+      config API: add and use a "git_config_get()" family of functions
+      versioncmp.c: refactor config reading next commit
+      config API: have *_multi() return an "int" and take a "dest"
+      for-each-repo: error on bad --config
+      config API users: test for *_get_value_multi() segfaults
+      config API: add "string" version of *_value_multi(), fix segfaults
+      for-each-repo: with bad config, don't conflate <path> and <cmd>
+
+Øystein Walle (2):
+      ref-filter: remove unused ref_format member
+      branch, for-each-ref, tag: add option to omit empty lines
+
+
+Version v2.40.1; changes since v2.40.0:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (7):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (22):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+      Git 2.36.6
+      Git 2.37.7
+      Git 2.38.5
+      Git 2.39.3
+      Git 2.40.1
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.40.0; changes since v2.40.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5490t)
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.40 (round 1)
+
+Emir SARI (1):
+      l10n: tr: Update Turkish translations for v.2.40.0
+
+Fangyi Zhou (1):
+      l10n: zh_CN v2.40.0 round 1
+
+Jean-Noël Avila (3):
+      l10n: fr: fix some typos
+      l10n: fr: v2.40.0 rnd 1
+      l10n: fr: v2.40.0 rnd 2
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.40
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5490t0f0u)
+
+Ralf Thielow (1):
+      l10n: update German translation
+
+
+Version v2.40.0-rc2; changes since v2.40.0-rc1:
+-----------------------------------------------
+
+Gwyneth Morgan (1):
+      signature-format.txt: note SSH and X.509 signature delimiters
+
+Junio C Hamano (1):
+      Git 2.40-rc2
+
+René Scharfe (1):
+      range-diff: avoid compiler warning when char is unsigned
+
+
+Version v2.40.0-rc1; changes since v2.40.0-rc0:
+-----------------------------------------------
+
+Andrei Rybak (1):
+      test-lib: drop comment about test_description
+
+Ashutosh Pandey (1):
+      t2015-checkout-unborn.sh: changes the style for cd
+
+Jeff King (21):
+      shorten_unambiguous_ref(): avoid integer truncation
+      shorten_unambiguous_ref(): use NUM_REV_PARSE_RULES constant
+      shorten_unambiguous_ref(): avoid sscanf()
+      add basic http proxy tests
+      t0066: drop setup of "dir5"
+      t5541: run "used receive-pack service" test earlier
+      t5541: stop marking "used receive-pack service" test as v0 only
+      t5541: simplify and move "no empty path components" test
+      t5551: drop redundant grep for Accept-Language
+      t5551: lower-case headers in expected curl trace
+      t5551: handle HTTP/2 when checking curl trace
+      t5551: stop forcing clone to run with v0 protocol
+      t5551: handle v2 protocol when checking curl trace
+      t5551: handle v2 protocol in upload-pack service test
+      t5551: simplify expected cookie file
+      t5551: handle v2 protocol in cookie test
+      t5551: drop curl trace lines without headers
+      t/lib-httpd: respect $HTTPD_PROTO in expect_askpass()
+      t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c
+      t5559: fix test failures with LIB_HTTPD_SSL
+      t5559: make SSL/TLS the default
+
+John Cai (2):
+      diff: consolidate diff algorithm option parsing
+      diff: teach diff to read algorithm from diff driver
+
+Junio C Hamano (5):
+      format.attach: allow empty value to disable multi-part messages
+      A few more topics post 2.40-rc0
+      A bit more before 2.40-rc1
+      A bit more before 2.40-rc1
+      Git 2.40-rc1
+
+M Hickford (1):
+      credential: new attribute password_expiry_utc
+
+Matthias Aßhauer (1):
+      fetch: choose a sensible default with --jobs=0 again
+
+Patrick Steinhardt (1):
+      delta-islands: fix segfault when freeing island marks
+
+Phillip Wood (3):
+      rebase -i: check labels and refs when parsing todo list
+      rebase -i: match whole word in is_command()
+      rebase -i: fix parsing of "fixup -C<commit>"
+
+René Scharfe (1):
+      archive: add --mtime
+
+Taylor Blau (1):
+      dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS`
+
+Teng Long (1):
+      range-diff: let '--abbrev' option takes effect
+
+Zhang Yi (1):
+      t9700: modernize test scripts
+
+idriss fekir (1):
+      trace.c, git.c: remove unnecessary parameter to trace_repo_setup()
+
+
+Version v2.40.0-rc0; changes since v2.39.3:
+-------------------------------------------
+
+Adam Szkoda (1):
+      ssh signing: better error message when key not in agent
+
+Alison Winters (2):
+      completion: add optional ignore-case when matching refs
+      completion: add case-insensitive match of pseudorefs
+
+Andrei Rybak (11):
+      gitattributes.txt: fix typo in "comma separated"
+      *: fix typos which duplicate a word
+      git-bisect-lk2009: update java code conventions link
+      git-bisect-lk2009: update nist report link
+      t6003: uncomment test '--max-age=c3, --topo-order'
+      t6422: drop commented out code
+      t7527: use test_when_finished in 'case insensitive+preserving'
+      Documentation: render dash correctly
+      userdiff: support Java type parameters
+      userdiff: support Java record types
+      userdiff: support Java sealed classes
+
+Calvin Wan (2):
+      fetch: fix duplicate remote parallel fetch bug
+      Documentation: clarify multiple pushurls vs urls
+
+Carlo Marcelo Arenas Belón (1):
+      grep: correctly identify utf-8 characters with \{b,w} in -P
+
+Daniël Haazen (1):
+      mingw: fix typo in an error message from ownership check
+
+Derrick Stolee (25):
+      transport: rename got_remote_heads
+      bundle-uri: serve bundle.* keys from config
+      strbuf: introduce strbuf_strip_file_from_path()
+      bundle-uri: allow relative URLs in bundle lists
+      bundle-uri: download bundles from an advertised list
+      clone: unbundle the advertised bundles
+      hashfile: allow skipping the hash function
+      read-cache: add index.skipHash config option
+      test-lib-functions: add helper for trailing hash
+      features: feature.manyFiles implies fast index writes
+      t1600: fix racy index.skipHash test
+      t: allow 'scalar' in test_must_fail
+      t921*: test scalar behavior starting maintenance
+      scalar: only warn when background maintenance fails
+      bundle: test unbundling with incomplete history
+      bundle: verify using check_connected()
+      t5558: add tests for creationToken heuristic
+      bundle-uri: parse bundle.heuristic=creationToken
+      bundle-uri: parse bundle.<id>.creationToken values
+      bundle-uri: download in creationToken order
+      clone: set fetch.bundleURI if appropriate
+      bundle-uri: drop bundle.flag from design doc
+      fetch: fetch from an external bundle URI
+      bundle-uri: store fetch.bundleCreationToken
+      bundle-uri: test missing bundles with heuristic
+
+Elijah Newren (16):
+      ls-files: add missing documentation for --resolve-undo option
+      ls-files: clarify descriptions of file selection options
+      ls-files: clarify descriptions of status tags for -t
+      ls-files: guide folks to --exclude-standard over other --exclude* options
+      t6426: fix TODO about making test more comprehensive
+      rebase: mark --update-refs as requiring the merge backend
+      rebase: flag --apply and --merge as incompatible
+      rebase: remove --allow-empty-message from incompatible opts
+      rebase: fix docs about incompatibilities with --root
+      rebase: fix incompatiblity checks for --[no-]reapply-cherry-picks
+      rebase: add coverage of other incompatible options
+      rebase: clarify the OPT_CMDMODE incompatibilities
+      rebase: fix formatting of rebase --reapply-cherry-picks option in docs
+      rebase: put rebase_options initialization in single place
+      rebase: provide better error message for apply options vs. merge config
+      name-rev: fix names by dropping taggerdate workaround
+
+Emily Shaffer (4):
+      run-command: allow stdin for run_processes_parallel
+      hook API: support passing stdin to hooks, convert am's 'post-rewrite'
+      sequencer: use the new hook API for the simpler "post-rewrite" call
+      hook: support a --to-stdin=<path> option
+
+Eric Sunshine (3):
+      t1509: fix failing "root work tree" test due to owner-check
+      t1509: make "setup" test more robust
+      t1509: facilitate repeated script invocations
+
+Eric Wong (2):
+      format-patch: support format.mboxrd with --stdout
+      delta-islands: free island_marks and bitmaps
+
+Glen Choo (2):
+      read-tree + fetch tests: test failing "--super-prefix" interaction
+      docs: document zero bits in index "mode"
+
+Gwyneth Morgan (1):
+      request-pull: filter out SSH/X.509 tag signatures
+
+Harshil-Jani (2):
+      mingw: remove duplicate `USE_NED_ALLOCATOR` directive
+      mingw: remove msysGit/MSYS1 support
+
+Jeff Hostetler (2):
+      fsmonitor: fix race seen in t7527
+      fsmonitor: eliminate call to deprecated FSEventStream function
+
+Jeff King (32):
+      git-jump: move valid-mode check earlier
+      pack-bitmap.c: break out of the bitmap loop early if not tracing
+      pack-bitmap.c: trace bitmap ignore logs when midx-bitmap is found
+      ref-filter: reject arguments to %(HEAD)
+      ref-filter: factor out "%(foo) does not take arguments" errors
+      ref-filter: factor out "unrecognized %(foo) arg" errors
+      ref-filter: truncate atom names in error messages
+      ref-filter: convert email atom parser to use err_bad_arg()
+      test-bundle-uri: drop unused variables
+      convert trivial uses of strncmp() to starts_with()
+      convert trivial uses of strncmp() to skip_prefix()
+      object-file: inline calls to read_object()
+      streaming: inline call to read_object_file_extended()
+      read_object_file_extended(): drop lookup_replace option
+      repo_read_object_file(): stop wrapping read_object_file_extended()
+      packfile: inline custom read_object()
+      object-file: fix indent-with-space
+      t/interop: report which vanilla git command failed
+      t1007: modernize malformed object tests
+      t1006: stop using 0-padded timestamps
+      t7030: stop using invalid tag name
+      t: use hash-object --literally when created malformed objects
+      fsck: provide a function to fsck buffer without object struct
+      hash-object: use fsck for object checks
+      hash-object: fix descriptor leak with --literally
+      fsck: do not assume NUL-termination of buffers
+      t/lib-httpd: bump required apache version to 2.2
+      t/lib-httpd: bump required apache version to 2.4
+      t/lib-httpd: drop SSLMutex config
+      t/lib-httpd: increase ssl key size to 2048 bits
+      doc/ls-remote: cosmetic cleanups for examples
+      doc/ls-remote: clarify pattern format
+
+Jiang Xin (3):
+      t1301: fix wrong template dir for git-init
+      t1301: use test_when_finished for cleanup
+      t1301: do not change $CWD in "shared=all" test case
+
+Johannes Schindelin (11):
+      bisect--helper: handle states directly
+      Turn `git bisect` into a full built-in
+      t0021: use Windows-friendly `pwd`
+      tests(mingw): avoid very slow `mingw_test_cmp`
+      bisect--helper: simplify exit code computation
+      bisect: verify that a bogus option won't try to start a bisection
+      bisect run: fix the error message
+      bisect: remove Cogito-related code
+      bisect: no longer try to clean up left-over `.git/head-name` files
+      t7510: add a test case that does not need gpg
+      gpg: do show gpg's error message upon failure
+
+John Cai (2):
+      docs: link generating patch sections
+      attr: fix instructions on how to check attrs
+
+Jonathan Tan (5):
+      http-fetch: invoke trace2_cmd_name()
+      object-file: remove OBJECT_INFO_IGNORE_LOOSE
+      object-file: refactor map_loose_object_1()
+      object-file: emit corruption errors when detected
+      commit: don't lazy-fetch commits
+
+Junio C Hamano (22):
+      Start the 2.40 cycle
+      The first batch for 2.40
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      format-patch: unleak "-v <num>"
+      The seventh batch
+      The eighth batch
+      The ninth batch
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      The thirteenth batch
+      The fourteenth batch
+      The fifteenth batch
+      The sixteenth batch
+      rev-list: clarify git-log default date format
+      test-genzeros: avoid raw write(2)
+      The seventeenth batch
+      Git 2.40-rc0
+
+Karthik Nayak (2):
+      t0003: move setup for `--all` into new block
+      attr: add flag `--source` to work with tree-ish
+
+Kostya Farber (1):
+      t5000: modernise archive and :(glob) test
+
+Kyle Meyer (2):
+      send-email: relay '-v N' to format-patch
+      doc/git-branch: fix --force description typo
+
+Kyle Zhao (3):
+      merge-tree.c: add --merge-base=<commit> option
+      merge-tree.c: allow specifying the merge-base when --stdin is passed
+      docs: fix description of the `--merge-base` option
+
+M Hickford (1):
+      Documentation: clarify that cache forgets credentials if the system restarts
+
+Martin Ågren (1):
+      git-cat-file.txt: fix list continuations rendering literally
+
+Mathias Krause (1):
+      grep: fall back to interpreter if JIT memory allocation fails
+
+Peter Grayson (1):
+      diff: fix regression with --stat and unmerged file
+
+Philip Oakley (6):
+      doc: pretty-formats: separate parameters from placeholders
+      doc: pretty-formats: delineate `%<|(` parameter values
+      doc: pretty-formats document negative column alignments
+      doc: pretty-formats describe use of ellipsis in truncation
+      doc: pretty-formats note wide char limitations, and add tests
+      .gitattributes: include `text` attribute for eol attributes
+
+Philippe Blain (1):
+      branch: improve advice when --recurse-submodules fails
+
+Phillip Wood (2):
+      ci(github): restore "print test failures" step name
+      rebase: cleanup "--exec" option handling
+
+René Scharfe (19):
+      t5317: stop losing return codes of git ls-files
+      t5317: demonstrate failure to handle multiple --filter options
+      pack-objects: fix handling of multiple --filter options
+      pack-objects: simplify --filter handling
+      list-objects-filter: remove OPT_PARSE_LIST_OBJECTS_FILTER_INIT()
+      diff: factor out add_diff_options()
+      diff: use add_diff_options() in diff_opt_parse()
+      diff: remove parseopts member from struct diff_options
+      mingw: make argv2 in try_shell_exec() non-const
+      factor out BARF_UNLESS_COPYABLE
+      do full type check in BARF_UNLESS_COPYABLE
+      add DUP_ARRAY
+      use DUP_ARRAY
+      read-cache: use size_t for {base,df}_name_compare()
+      pack-objects: use strcspn(3) in name_cmp_len()
+      cache-tree: fix strbuf growth in prime_cache_tree_rec()
+      test-ctype: test isascii
+      test-ctype: test islower and isupper
+      test-ctype: test iscntrl, ispunct, isxdigit and isprint
+
+Rudy Rigot (1):
+      status: modernize git-status "slow untracked files" advice
+
+SZEDER Gábor (1):
+      tests: make 'test_oid' print trailing newline
+
+Sean Allred (3):
+      var: do not print usage() with a correct invocation
+      var: allow GIT_EDITOR to return null
+      var: add GIT_SEQUENCE_EDITOR variable
+
+Seija (1):
+      maintenance: compare output of pthread functions for inequality with 0
+
+Seija Kijin (5):
+      win32: use _endthreadex to terminate threads, not ExitThread
+      win32: prepare pthread.c for change by formatting
+      win32: close handles of threads that have been joined
+      merge: break out of all_strategy loop when strategy is found
+      compat/winansi: check for errors of CreateThread() correctly
+
+Siddharth Asthana (2):
+      cat-file: add mailmap support to -s option
+      cat-file: add mailmap support to --batch-check option
+
+Simon Gerber (1):
+      help.c: fix autocorrect in work tree for bare repository
+
+Sven Strickroth (1):
+      submodule: accept -v for the update command
+
+Teng Long (4):
+      pack-bitmap.c: remove unnecessary "open_pack_index()" calls
+      pack-bitmap.c: avoid exposing absolute paths
+      ls-tree: cleanup the redundant SPACE
+      t3104: remove shift code in 'test_ls_tree_format'
+
+Thierry Reding (1):
+      am: allow passing --no-verify flag
+
+Torsten Bögershausen (1):
+      t0003: call dd with portable blocksize
+
+Wes Lord (1):
+      new-command.txt: update reference to builtin docs
+
+Yoichi Nakayama (2):
+      git-jump: add an optional argument '--stdout'
+      git-jump: invoke emacs/emacsclient
+
+Yukai Chou (1):
+      doc: fix non-existent config name
+
+Yutaro Ohno (1):
+      doc: add "git switch -c" as another option on detached HEAD
+
+ZheNing Hu (1):
+      scalar: show progress if stderr refers to a terminal
+
+Ævar Arnfjörð Bjarmason (84):
+      bisect tests: test for v2.30.0 "bisect run" regressions
+      bisect: refactor bisect_run() to match CodingGuidelines
+      bisect test: test exit codes on bad usage
+      bisect--helper: emit usage for "git bisect"
+      bisect; remove unused "git-bisect.sh" and ".gitignore" entry
+      tests: mark tests as passing with SANITIZE=leak
+      {reset,merge}: call discard_index() before returning
+      commit: discard partial cache before (re-)reading it
+      read-cache.c: clear and free "sparse_checkout_patterns"
+      dir.c: free "ident" and "exclude_per_dir" in "struct untracked_cache"
+      built-ins & libs & helpers: add/move destructors, fix leaks
+      unpack-file: fix ancient leak in create_temp_file()
+      revision API: call graph_clear() in release_revisions()
+      ls-files: fix a --with-tree memory leak
+      sequencer.c: fix "opts->strategy" leak in read_strategy_opts()
+      connected.c: free the "struct packed_git"
+      rebase: don't leak on "--abort"
+      cherry-pick: free "struct replay_opts" members
+      revert: fix parse_options_concat() leak
+      built-ins: use free() not UNLEAK() if trivial, rm dead code
+      Makefile: use sha1collisiondetection by default on OSX and Darwin
+      protocol v2: add server-side "bundle-uri" skeleton
+      t: create test harness for 'bundle-uri' command
+      clone: request the 'bundle-uri' command when available
+      bundle-uri client: add boolean transfer.bundleURI setting
+      bundle-uri client: add helper for testing server
+      submodule absorbgitdirs tests: add missing "Migrating git..." tests
+      submodule.c & submodule--helper: pass along "super_prefix" param
+      submodule--helper: don't use global --super-prefix in "absorbgitdirs"
+      submodule--helper: convert "foreach" to its own "--super-prefix"
+      submodule--helper: convert "sync" to its own "--super-prefix"
+      submodule--helper: convert "status" to its own "--super-prefix"
+      submodule--helper: convert "{update,clone}" to their own "--super-prefix"
+      read-tree: add "--super-prefix" option, eliminate global
+      builtin/difftool.c: { 0 }-initialize rather than using memset()
+      sparse-index.c: expand_to_path() can assume non-NULL "istate"
+      sparse-index API: BUG() out on NULL ensure_full_index()
+      read-cache.c: refactor set_new_index_sparsity() for subsequent commit
+      bisect--helper: make the order consistently `argc, argv`
+      ls-tree: don't use "show_tree_data" for "fast" callbacks
+      ls-tree: use a "struct options"
+      ls-tree: fold "show_tree_data" into "cb" struct
+      ls-tree: make "line_termination" less generic
+      env-helper: move this built-in to "test-tool env-helper"
+      cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()
+      treewide: always have a valid "index_state.repo" member
+      add: remove "add.interactive.useBuiltin" & Perl "git add--interactive"
+      add API: remove run_add_interactive() wrapper function
+      docs & comments: replace mentions of "git-add--interactive.perl"
+      tests: mark tests as passing with SANITIZE=leak
+      bundle.c: don't leak the "args" in the "struct child_process"
+      commit-graph: use free_commit_graph() instead of UNLEAK()
+      clone: use free() instead of UNLEAK()
+      various: add missing clear_pathspec(), fix leaks
+      name-rev: don't xstrdup() an already dup'd string
+      repack: fix leaks on error with "goto cleanup"
+      worktree: fix a trivial leak in prune_worktrees()
+      http-backend.c: fix "dir" and "cmd_arg" leaks in cmd_main()
+      http-backend.c: fix cmd_main() memory leak, refactor reg{exec,free}()
+      commit-graph: fix a parse_options_concat() leak
+      show-branch: free() allocated "head" before return
+      builtin/merge.c: use fixed strings, not "strbuf", fix leak
+      builtin/merge.c: free "&buf" on "Your local changes..." error
+      grep.c: refactor free_grep_patterns()
+      grep API: plug memory leaks by freeing "header_list"
+      receive-pack: release the linked "struct command *" list
+      push: refactor refspec_append_mapped() for subsequent leak-fix
+      push: free_refs() the "local_refs" in set_refspecs()
+      rebase: use "cleanup" pattern in do_interactive_rebase()
+      sequencer.c: split up sequencer_remove_state()
+      sequencer API users: fix get_replay_opts() leaks
+      builtin/revert.c: move free-ing of "revs" to replay_opts_release()
+      builtin/rebase.c: fix "options.onto_name" leak
+      sequencer.c: always free() the "msgbuf" in do_pick_commit()
+      builtin/rebase.c: free() "options.strategy_opts"
+      commit.c: free() revs.commit in get_fork_point()
+      config.h: remove unused git_configset_add_parameters()
+      run-command.c: remove dead assignment in while-loop
+      builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"
+      cocci & cache.h: fully apply "active_nr" part of index-compatibility
+      cocci & cache.h: apply pending "index_cache_pos" rule
+      cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*"
+      cache-tree API: remove redundant update_main_cache_tree()
+      cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS"
+
+Đoàn Trần Công Danh (6):
+      bisect: fix output regressions in v2.30.0
+      bisect run: keep some of the post-v2.30.0 output
+      bisect-run: verify_good: account for non-negative exit status
+      bisect--helper: identify as bisect when report error
+      bisect--helper: log: allow arbitrary number of arguments
+      date.c: allow ISO 8601 reduced precision times
+
+
+Version v2.39.3; changes since v2.39.2:
+---------------------------------------
+
+Chris. Webster (3):
+      ci (check-whitespace): suggest fixes for errors
+      ci (check-whitespace): add links to job output
+      ci (check-whitespace): move to actions/checkout@v3
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Eric Sunshine (1):
+      githooks: discuss Git operations in foreign repositories
+
+Jeff King (25):
+      git-compat-util: avoid redefining system function names
+      git-compat-util: undefine system names before redeclaring them
+      server_supports_v2(): use a separate function for die_on_error
+      ls-refs: use repository parameter to iterate refs
+      blob: drop unused parts of parse_blob_buffer()
+      list-objects: drop process_gitlink() function
+      ws: drop unused parameter from ws_blank_line()
+      xdiff: drop unused parameter in def_ff()
+      xdiff: mark unused parameter in xdl_call_hunk_func()
+      diff: mark unused parameters in callbacks
+      list-objects-filter: mark unused parameters in virtual functions
+      userdiff: mark unused parameter in internal callback
+      diff: use filespec path to set up tempfiles for ext-diff
+      diff: clean up external-diff argv setup
+      diff: drop "name" parameter from prepare_temp_file()
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (22):
+      ci: only run win+VS build & tests in Git for Windows' fork
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+      Git 2.36.6
+      Git 2.37.7
+      Git 2.38.5
+      Git 2.39.3
+
+Johannes Sixt (1):
+      t3920: don't ignore errors of more than one command with `|| true`
+
+Junio C Hamano (4):
+      branch: document `-f` and linked worktree behaviour
+      checkout: document -b/-B to highlight the differences from "git branch"
+      Prepare for 2.39.3 just in case
+      http.c: clear the 'finished' member once we are done with it
+
+Lars Kellogg-Stedman (1):
+      line-range: fix infinite loop bug with '$' regex
+
+Patrick Steinhardt (1):
+      refs: fix corruption by not correctly syncing packed-refs to disk
+
+Philippe Blain (5):
+      git-cherry-pick.txt: do not use 'ORIG_HEAD' in example
+      git-reset.txt: mention 'ORIG_HEAD' in the Description
+      git-merge.txt: mention 'ORIG_HEAD' in the Description
+      revisions.txt: be explicit about commands writing 'ORIG_HEAD'
+      git-rebase.txt: add a note about 'ORIG_HEAD' being overwritten
+
+René Scharfe (10):
+      t4205: don't exit test script on failure
+      list-objects-filter: plug pattern_list leak
+      t3920: support CR-eating grep
+      reflog: clear leftovers in reflog_expiry_cleanup()
+      commit: skip already cleared parents in clear_commit_marks_1()
+      am: don't pass strvec to apply_parse_options()
+      object-file: inline write_buffer()
+      use enhanced basic regular expressions on macOS
+      ls-tree: fix expansion of repeated %(path)
+      ls-tree: remove dead store and strbuf for quote_c_style()
+
+Rubén Justo (1):
+      branch: force-copy a branch to itself via @{-1} is a no-op
+
+Seija Kijin (1):
+      git: remove duplicate includes
+
+Taylor Blau (6):
+      ci: avoid unnecessary builds
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+William Sprent (1):
+      dir: check for single file cone patterns
+
+Ævar Arnfjörð Bjarmason (6):
+      t5314: check exit code of "git"
+      t7600: don't ignore "rev-parse" exit code in helper
+      t4023: fix ignored exit codes of git
+      bundle: don't segfault on "git bundle <subcmd>"
+      builtin/bundle.c: remove superfluous "newargc" variable
+      bundle <cmd>: have usage_msg_opt() note the missing "<file>"
+
+
+Version v2.39.2; changes since v2.39.1:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (12):
+      fsck: document the new `gitattributes` message IDs
+      attr: adjust a mismatched data type
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+      Git 2.35.7
+      Git 2.36.5
+      Git 2.37.6
+      Git 2.38.4
+      Git 2.39.2
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.39.1; changes since v2.39.0:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (10):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+      Git 2.35.6
+      Git 2.36.4
+      Git 2.37.5
+      Git 2.38.3
+      Git 2.39.1
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.39.0; changes since v2.39.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5501t)
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.39 (round 1)
+
+Emir SARI (1):
+      l10n: tr: v2.39.0 updates
+
+Fangyi Zhou (1):
+      l10n: zh_CN v2.39.0 round 1
+
+Jean-Noël Avila (1):
+      l10n: fr: v2.39 rnd 1
+
+Johannes Schindelin (3):
+      ci: avoid using deprecated {up,down}load-artifacts Action
+      RelNotes: a couple of typofixes
+      ci: use a newer `github-script` version
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      Git 2.38.2
+      Git 2.39
+
+Matheus Tavares (1):
+      mailmap: update email address of Matheus Tavares
+
+Oscar Dominguez (1):
+      ci(main): upgrade actions/checkout to v3
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5501t0f0)
+
+Ralf Thielow (1):
+      l10n: de.po: update German translation
+
+Victoria Dye (1):
+      rebase --update-refs: avoid unintended ref deletion
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: Git 2.39-rc2
+
+Ævar Arnfjörð Bjarmason (3):
+      CI: upgrade to macos-12, and pin OSX version
+      CI: don't explicitly pick "bash" shell outside of Windows, fix regression
+      CI: migrate away from deprecated "set-output" syntax
+
+
+Version v2.39.0-rc2; changes since v2.39.0-rc1:
+-----------------------------------------------
+
+Junio C Hamano (1):
+      Git 2.39-rc2
+
+Ævar Arnfjörð Bjarmason (2):
+      Makefiles: change search through $(MAKEFLAGS) for GNU make 4.4
+      cocci: avoid "should ... be a metavariable" warnings
+
+
+Version v2.39.0-rc1; changes since v2.39.0-rc0:
+-----------------------------------------------
+
+Andreas Hasenack (1):
+      chainlint.pl: fix /proc/cpuinfo regexp
+
+Eric Sunshine (1):
+      lib-httpd: extend module location auto-detection
+
+Eric Wong (1):
+      prune: quiet ENOENT on missing directories
+
+Glen Choo (1):
+      object-file: use real paths when adding alternates
+
+Jean-Noël Avila (1):
+      i18n: fix command template placeholder format
+
+Jeff King (2):
+      parse_object(): drop extra "has" check before checking object type
+      parse_object(): check on-disk type of suspected blob
+
+Jiang Xin (5):
+      t5516: fail to run in verbose mode
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Junio C Hamano (3):
+      Another batch before -rc1
+      A bit more before -rc1
+      Git 2.39-rc1
+
+Kyle Meyer (1):
+      merge-recursive: fix variable typo in error message
+
+Paul Smith (1):
+      Makefile: avoid multiple patterns when recipes generate one file
+
+Phillip Wood (3):
+      git_parse_unsigned: reject negative values
+      config: require at least one digit when parsing numbers
+      git_parse_signed(): avoid integer overflow
+
+René Scharfe (1):
+      list-objects-filter: plug combine_filter_data leak
+
+SZEDER Gábor (3):
+      line-log: free diff queue when processing non-merge commits
+      line-log: free the diff queues' arrays when processing merge commits
+      diff.c: use diff_free_queue()
+
+Ævar Arnfjörð Bjarmason (13):
+      cache.h: remove unused "the_index" compat macros
+      builtin/{grep,log}.: don't define "USE_THE_INDEX_COMPATIBILITY_MACROS"
+      cocci & cache.h: remove rarely used "the_index" compat macros
+      read-cache API & users: make discard_index() return void
+      cocci: add a index-compatibility.pending.cocci
+      cocci & cache.h: apply a selection of "pending" index-compatibility
+      cocci & cache.h: apply variable section of "pending" index-compatibility
+      cocci: apply "pending" index-compatibility to "t/helper/*.c"
+      {builtin/*,repository}.c: add & use "USE_THE_INDEX_VARIABLE"
+      cache.h & test-tool.h: add & use "USE_THE_INDEX_VARIABLE"
+      cocci: apply "pending" index-compatibility to some "builtin/*.c"
+      parse_object(): simplify blob conditional
+      trace2 tests: guard pthread test with "PTHREAD"
+
+
+Version v2.39.0-rc0; changes since v2.38.5:
+-------------------------------------------
+
+Alex Henrie (1):
+      push: improve grammar of branch.autoSetupMerge advice
+
+Anh Le (2):
+      index: add trace2 region for clear skip worktree
+      index: raise a bug if the index is materialised more than once
+
+Arthur Chan (1):
+      fuzz: reorganise the path for existing oss-fuzz fuzzers
+
+Daniel Sonbolian (1):
+      git.c: improve code readability in cmd_main()
+
+Debra Obondo (1):
+      t7001-mv.sh: modernizing test script using functions
+
+Derrick Stolee (14):
+      maintenance: add 'unregister --force'
+      scalar: make 'unregister' idempotent
+      gc: replace config subprocesses with API calls
+      string-list: document iterator behavior on NULL input
+      bundle-uri: use plain string in find_temp_filename()
+      bundle-uri: create bundle_list struct and helpers
+      bundle-uri: create base key-value pair parsing
+      bundle-uri: parse bundle list in config format
+      bundle-uri: limit recursion depth for bundle lists
+      bundle: properly clear all revision flags
+      bundle-uri: fetch a list of bundles
+      bundle: add flags to verify_bundle()
+      bundle-uri: quiet failed unbundlings
+      bundle-uri: suppress stderr from remote-https
+
+Diomidis Spinellis (1):
+      grep: fix multibyte regex handling under macOS
+
+Elijah Newren (4):
+      merge-ort: fix bug with dir rename vs change dir to symlink
+      merge-tree: update documentation for differences in -z output
+      merge-tree: support multiple batched merges with --stdin
+      sparse-checkout.txt: new document with sparse-checkout directions
+
+Emily Shaffer (2):
+      gc: add tests for --cruft and friends
+      config: let feature.experimental imply gc.cruftPacks=true
+
+Eric DeCosta (6):
+      fsmonitor: refactor filesystem checks to common interface
+      fsmonitor: relocate socket file if .git directory is remote
+      fsmonitor: avoid socket location check if using hook
+      fsmonitor: deal with synthetic firmlinks on macOS
+      fsmonitor: check for compatability before communicating with fsmonitor
+      fsmonitor: add documentation for allowRemote and socketDir options
+
+Eric Sunshine (8):
+      check-non-portable-shell: detect obsolescent egrep/fgrep
+      chainlint: add explanatory comments
+      chainlint: tighten accuracy when consuming input stream
+      chainlint: latch start/end position of each token
+      chainlint: annotate original test definition rather than token stream
+      chainlint: sidestep impoverished macOS "terminfo"
+      chainlint: latch line numbers at which each token starts and ends
+      chainlint: prefix annotated test definition with line numbers
+
+Eric Wong (1):
+      delta-islands: free island-related data after use
+
+Glen Choo (2):
+      config: respect includes in protected config
+      http: redact curl h2h3 headers in info
+
+Han-Wen Nienhuys (1):
+      refs: unify parse_worktree_ref() and ref_type()
+
+Jeff Hostetler (8):
+      trace2: use size_t alloc,nr_open_regions in tr2tls_thread_ctx
+      tr2tls: clarify TLS terminology
+      api-trace2.txt: elminate section describing the public trace2 API
+      trace2: rename the thread_name argument to trace2_thread_start
+      trace2: improve thread-name documentation in the thread-context
+      trace2: convert ctx.thread_name from strbuf to pointer
+      trace2: add stopwatch timers
+      trace2: add global counter mechanism
+
+Jeff King (27):
+      fsmonitor: fix leak of warning message
+      diffstat_consume(): assert non-zero length
+      submodule--helper: drop unused argc from module_list_compute()
+      update-index: drop unused argc from do_reupdate()
+      mark unused parameters in trivial compat functions
+      object-file: mark unused parameters in hash_unknown functions
+      string-list: mark unused callback parameters
+      date: mark unused parameters in handler functions
+      apply: mark unused parameters in handlers
+      apply: mark unused parameters in noop error/warning routine
+      convert: mark unused parameter in null stream filter
+      diffcore-pickaxe: mark unused parameters in pickaxe functions
+      ll-merge: mark unused parameters in callbacks
+      Makefile: force -O0 when compiling with SANITIZE=leak
+      repack: convert "names" util bitfield to array
+      repack: populate extension bits incrementally
+      repack: expand error message for missing pack files
+      repack: use tempfiles for signal cleanup
+      repack: drop remove_temporary_files()
+      Git.pm: trust rev-parse to find bare repositories
+      t7700: annotate cruft-pack failure with ok=sigpipe
+      shortlog: accept `--date`-related options
+      t5516: move plaintext-password tests from t5601 and t5516
+      ref-filter: fix parsing of signatures without blank lines
+      ref-filter: fix parsing of signatures with CRLF and no body
+      branch: gracefully handle '-d' on orphan HEAD
+      t: run t5551 tests with both HTTP and HTTP/2
+
+Jerry Zhang (6):
+      patch-id: fix stable patch id for binary / header-only
+      patch-id: use stable patch-id for rebases
+      builtin: patch-id: fix patch-id with binary diffs
+      patch-id: fix patch-id for mode changes
+      builtin: patch-id: add --verbatim as a command mode
+      builtin: patch-id: remove unused diff-tree prefix
+
+Johannes Schindelin (9):
+      cmake: make it easier to diagnose regressions in CTest runs
+      cmake: copy the merge tools for testing
+      add -p: avoid ambiguous signed/unsigned comparison
+      cmake: avoid editing t/test-lib.sh
+      cmake: increase time-out for a long-running test
+      t5516/t5601: be less strict about the number of credential warnings
+      scalar reconfigure -a: remove stale `scalar.repo` entries
+      ci: use a newer `github-script` version
+      tests(scalar): tighten the stale `scalar.repo` test some
+
+John Cai (2):
+      fsck: remove the unused BAD_TAG_OBJECT
+      fsck: document msg-id
+
+Jonathan Tan (4):
+      promisor-remote: remove a return value
+      promisor-remote: die upon failing fetch
+      negotiator/skipping: avoid stack overflow
+      Doc: document push.recurseSubmodules=only
+
+Julia Ramer (1):
+      embargoed releases: also describe the git-security list and the process
+
+Junio C Hamano (17):
+      Start 2.39 cycle
+      symbolic-ref: teach "--[no-]recurse" option
+      The (real) first batch for 2.39
+      The second batch
+      The third batch
+      The fourth batch
+      ci: add address and undefined sanitizer tasks
+      ci: use DC_SHA1=YesPlease on osx-clang job for CI
+      The fifth batch
+      diff: leave NEEDWORK notes in show_stats() function
+      fsck: remove the unused MISSING_TREE_OBJECT
+      Documentation: add lint-fsck-msgids
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      adjust_shared_perm(): leave g+s alone when the group does not matter
+      Git 2.39-rc0
+
+Kousik Sanagavarapu (1):
+      repository-version.txt: partialClone casing change
+
+M Hickford (4):
+      Documentation/gitcredentials.txt: mention password alternatives
+      Documentation: increase example cache timeout to 1 hour
+      docs: clarify that credential discards unrecognised attributes
+      Docs: describe how a credential-generating helper works
+
+Martin Ågren (1):
+      test-lib-functions: drop redundant diagnostic print
+
+Matthew John Cheetham (3):
+      wincred: ignore unknown lines (do not die)
+      netrc: ignore unknown lines (do not die)
+      osxkeychain: clarify that we ignore unknown lines
+
+Michael J Gruber (1):
+      notes: avoid empty line in template
+
+Michael McClimon (1):
+      Git.pm: add semicolon after catch statement
+
+Nsengiyumva Wilberforce (1):
+      t1002: modernize outdated conditional
+
+Patrick Steinhardt (7):
+      refs: fix memory leak when parsing hideRefs config
+      refs: get rid of global list of hidden refs
+      revision: move together exclusion-related functions
+      revision: introduce struct to handle exclusions
+      revision: add new parameter to exclude hidden refs
+      rev-parse: add `--exclude-hidden=` option
+      receive-pack: only use visible refs for connectivity check
+
+Philip Oakley (4):
+      doc: use "commit-graph" hyphenation consistently
+      doc: use 'object database' not ODB or abbreviation
+      glossary: add "commit graph" description
+      glossary: add reachability bitmap description
+
+Philippe Blain (9):
+      test-lib-functions: mark 'test_commit' variables as 'local'
+      subtree: use 'git rev-parse --verify [--quiet]' for better error messages
+      subtree: add 'die_incompatible_opt' function to reduce duplication
+      subtree: prefix die messages with 'fatal'
+      subtree: define a variable before its first use in 'find_latest_squash'
+      subtree: use named variables instead of "$@" in cmd_pull
+      subtree: process 'git-subtree-split' trailer in separate function
+      subtree: fix squash merging after annotated tag was squashed merged
+      subtree: fix split after annotated tag was squashed merged
+
+Phillip Wood (20):
+      t3416: tighten two tests
+      t3416: set $EDITOR in subshell
+      rebase: be stricter when reading state files containing oids
+      rebase: store orig_head as a commit
+      rebase: rename merge_base to branch_base
+      rebase: factor out branch_base calculation
+      rebase --keep-base: imply --reapply-cherry-picks
+      rebase --keep-base: imply --no-fork-point
+      rebase --apply: remove duplicated code
+      t3406: rework rebase reflog tests
+      rebase --merge: fix reflog when continuing
+      rebase --merge: fix reflog message after skipping
+      rebase --apply: respect GIT_REFLOG_ACTION
+      rebase --apply: make reflog messages match rebase --merge
+      rebase --abort: improve reflog message
+      rebase: cleanup action handling
+      sequencer: stop exporting GIT_REFLOG_ACTION
+      rebase: stop exporting GIT_REFLOG_ACTION
+      sequencer: unify label lookup
+      sequencer: tighten label lookups
+
+René Scharfe (16):
+      revision: use strtol_i() for exclude_parent
+      revisions.txt: unspecify order of resolved parts of ^!
+      diff: support ^! for merges
+      submodule: use strvec_pushf() for --super-prefix
+      run-command: fix return value comment
+      am: simplify building "show" argument list
+      bisect: simplify building "checkout" argument list
+      bisect--helper: factor out do_bisect_run()
+      sequencer: simplify building argument list in do_exec()
+      use child_process member "args" instead of string array variable
+      use child_process members "args" and "env" directly
+      replace and remove run_command_v_opt_cd_env()
+      replace and remove run_command_v_opt_tr2()
+      replace and remove run_command_v_opt_cd_env_tr2()
+      replace and remove run_command_v_opt()
+      archive-tar: report filter start error only once
+
+Ronan Pigott (2):
+      for-each-repo: interpolate repo path arguments
+      maintenance: add option to register in a specific config
+
+Rubén Justo (3):
+      branch: support for shortcuts like @{-1}, completed
+      branch: error copying or renaming a detached HEAD
+      branch: error code with --edit-description
+
+SZEDER Gábor (1):
+      Documentation/build-docdep.perl: generate sorted output
+
+Shaoxuan Yuan (1):
+      builtin/grep.c: integrate with sparse index
+
+Sotir Danailov (1):
+      docs: git-send-email: difference between ssl and tls smtp-encryption
+
+Taylor Blau (26):
+      midx.c: fix whitespace typo
+      midx.c: consider annotated tags during bitmap selection
+      midx.c: instrument MIDX and bitmap generation with trace2 regions
+      pack-bitmap-write.c: instrument number of reused bitmaps
+      builtin/repack.c: remove redundant pack-based bitmaps
+      repack: don't remove .keep packs with `--pack-kept-objects`
+      builtin/repack.c: pass "out" to `prepare_pack_objects`
+      builtin/repack.c: pass "cruft_expiration" to `write_cruft_pack`
+      builtin/repack.c: write cruft packs to arbitrary locations
+      builtin/repack.c: implement `--expire-to` for storing pruned objects
+      shortlog: make trailer insertion a noop when appropriate
+      shortlog: extract `--group` fragment for translation
+      shortlog: support arbitrary commit format `--group`s
+      shortlog: extract `shortlog_finish_setup()`
+      shortlog: implement `--group=author` in terms of `--group=<format>`
+      shortlog: implement `--group=committer` in terms of `--group=<format>`
+      apply: reject patches larger than ~1 GiB
+      Documentation/howto/maintain-git.txt: fix Meta/redo-jch.sh invocation
+      The ninth batch
+      Documentation: build redo-jch.sh from master..jch
+      Documentation: build redo-seen.sh from jch..seen
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      builtin/gc.c: fix use-after-free in maintenance_unregister()
+      The thirteenth batch
+
+Torsten Bögershausen (1):
+      diff.c: use utf8_strwidth() to count display width
+
+Victoria Dye (6):
+      rebase --update-refs: avoid unintended ref deletion
+      cache-tree: add perf test comparing update and prime
+      unpack-trees: add 'skip_cache_tree_update' option
+      reset: use 'skip_cache_tree_update' option
+      read-tree: use 'skip_cache_tree_update' option
+      rebase: use 'skip_cache_tree_update' option
+
+Vincent Bernat (1):
+      ls-files: fix --ignored and --killed flags in synopsis
+
+Vlad-Stefan Harbuz (1):
+      Documentation: fix typo
+
+srz_zumix (1):
+      fsmonitor--daemon: on macOS support symlink
+
+Ævar Arnfjörð Bjarmason (94):
+      grep.c: remove "extended" in favor of "pattern_expression", fix segfault
+      bundle-uri: create "key=value" line parsing
+      bundle-uri: unit test "key=value" parsing
+      run-command test helper: use "else if" pattern
+      run-command API: have "run_processes_parallel{,_tr2}()" return void
+      run-command tests: use "return", not "exit"
+      run-command API: make "n" parameter a "size_t"
+      run-command API: don't fall back on online_cpus()
+      run-command.c: use designated init for pp_init(), add "const"
+      run-command API: have run_process_parallel() take an "opts" struct
+      run-command API: move *_tr2() users to "run_processes_parallel()"
+      run-command.c: make "struct parallel_processes" const if possible
+      run-command.c: don't copy *_fn to "struct parallel_processes"
+      run-command.c: don't copy "ungroup" to "struct parallel_processes"
+      run-command.c: don't copy "data" to "struct parallel_processes"
+      run-command.c: use "opts->processes", not "pp->max_processes"
+      run-command.c: pass "opts" further down, and use "opts->processes"
+      run-command.c: remove "max_processes", add "const" to signal() handler
+      tests: assert *.txt SYNOPSIS and -h output
+      CodingGuidelines: update and clarify command-line conventions
+      builtin/bundle.c: indent with tabs
+      bundle: define subcommand -h in terms of command -h
+      doc SYNOPSIS: don't use ' for subcommands
+      doc SYNOPSIS: consistently use ' for commands
+      built-ins: consistently add "\n" between "usage" and options
+      doc txt & -h consistency: word-wrap
+      doc txt & -h consistency: fix incorrect alternates syntax
+      doc txt & -h consistency: add "-z" to cat-file "-h"
+      doc txt & -h consistency: balance unbalanced "[" and "]"
+      doc txt & -h consistency: correct padding around "[]()"
+      stash doc SYNOPSIS & -h: correct padding around "[]()"
+      doc txt & -h consistency: use "<options>", not "<options>..."
+      doc SYNOPSIS & -h: use "-" to separate words in labels, not "_"
+      doc txt & -h consistency: fix mismatching labels
+      doc txt & -h consistency: add or fix optional "--" syntax
+      doc txt & -h consistency: make output order consistent
+      doc txt & -h consistency: add missing options and labels
+      doc txt & -h consistency: make "rerere" consistent
+      doc txt & -h consistency: make "read-tree" consistent
+      doc txt & -h consistency: make "bundle" consistent
+      doc txt & -h consistency: use "git foo" form, not "git-foo"
+      doc txt & -h consistency: add missing options
+      doc txt & -h consistency: make "stash" consistent
+      doc txt & -h consistency: make "annotate" consistent
+      doc txt & -h consistency: use "[<label>...]" for "zero or more"
+      doc txt & -h consistency: make "diff-tree" consistent
+      doc txt & -h consistency: make "commit" consistent
+      reflog doc: list real subcommands up-front
+      worktree: define subcommand -h in terms of command -h
+      doc txt & -h consistency: make "worktree" consistent
+      tests: start asserting that *.txt SYNOPSIS matches -h output
+      tests: assert consistent whitespace in -h output
+      fsmonitor OSX: compile with DC_SHA1=YesPlease
+      merge: remove always-the-same "verbose" arguments
+      hook tests: fix redirection logic error in 96e7225b310
+      submodule tests: reset "trace.out" between "grep" invocations
+      run-command tests: test stdout of run_command_parallel()
+      Makefile + shared.mak: rename and indent $(QUIET_SPATCH_T)
+      cocci rules: remove unused "F" metavariable from pending rule
+      Makefile: add ability to TAB-complete cocci *.patch rules
+      Makefile: have "coccicheck" re-run if flags change
+      Makefile: split off SPATCH_BATCH_SIZE comment from "cocci" heading
+      cocci: split off include-less "tests" from SPATCH_FLAGS
+      cocci: split off "--all-includes" from SPATCH_FLAGS
+      cocci: make "coccicheck" rule incremental
+      cocci: optimistically use COMPUTE_HEADER_DEPENDENCIES
+      Makefile: copy contrib/coccinelle/*.cocci to build/
+      cocci rules: remove <id>'s from rules that don't need them
+      cocci: run against a generated ALL.cocci
+      spatchcache: add a ccache-alike for "spatch"
+      Makefile: always (re)set DC_SHA1 on fallback
+      INSTALL: remove discussion of SHA-1 backends
+      Makefile: correct DC_SHA1 documentation
+      Makefile: create and use sections for "define" flag listing
+      Makefile: rephrase the discussion of *_SHA1 knobs
+      Makefile: document default SHA-256 backend
+      Makefile: document SHA-1 and SHA-256 default and selection order
+      Makefile & test-tool: replace "DC_SHA1" variable with a "define"
+      Makefile: document default SHA-1 backend on OSX
+      Makefile: discuss SHAttered in *_SHA{1,256} discussion
+      submodule--helper: move "config" to a test-tool
+      submodule tests: add tests for top-level flag output
+      submodule--helper: fix a memory leak in "status"
+      submodule tests: test for a "foreach" blind-spot
+      submodule.c: refactor recursive block out of absorb function
+      submodule API & "absorbgitdirs": remove "----recursive" option
+      submodule--helper: remove --prefix from "absorbgitdirs"
+      submodule--helper: drop "update --prefix <pfx>" for "-C <pfx> update"
+      submodule--helper: use OPT_SUBCOMMAND() API
+      revisions API: extend the nascent REV_INFO_INIT macro
+      t7610: fix flaky timeout issue, don't clone from example.com
+      Makefile: don't create a ".build/.build/" for cocci, fix output
+      maintenance --unregister: fix uninit'd data use & -Wdeclaration-after-statement
+      t7610: use "file:///dev/null", not "/dev/null", fixes MinGW
+
+Đoàn Trần Công Danh (7):
+      CodingGuidelines: allow grep -E
+      t: remove \{m,n\} from BRE grep usage
+      t: convert egrep usage to "grep -E"
+      t: convert fgrep usage to "grep -F"
+      bisect--helper: remove unused options
+      bisect--helper: move all subcommands into their own functions
+      bisect--helper: parse subcommand with OPT_SUBCOMMAND
+
+
+Version v2.38.5; changes since v2.38.4:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (7):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (20):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+      Git 2.36.6
+      Git 2.37.7
+      Git 2.38.5
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.38.4; changes since v2.38.3:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (9):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+      Git 2.35.7
+      Git 2.36.5
+      Git 2.37.6
+      Git 2.38.4
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.38.3; changes since v2.38.2:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (9):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+      Git 2.35.6
+      Git 2.36.4
+      Git 2.37.5
+      Git 2.38.3
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.38.2; changes since v2.38.1:
+---------------------------------------
+
+Alejandro R. Sedeño (1):
+      git-compat-util.h: GCC deprecated message arg only in GCC 4.5+
+
+Alex Henrie (1):
+      fsmonitor--daemon: don't translate literal commands
+
+Derrick Stolee (1):
+      bundle-uri: fix technical doc issues
+
+Jeff Hostetler (1):
+      config.mak.dev: disable suggest braces error on old clang versions
+
+Jeff King (12):
+      fsck: free tree buffers after walking unreachable objects
+      fsck: turn off save_commit_buffer
+      parse_object_buffer(): respect save_commit_buffer
+      clone: allow "--bare" with "-o"
+      remote: handle rename of remote without fetch refspec
+      sequencer: detect author name errors in read_author_script()
+      test-submodule: inline resolve_relative_url() function
+      multi-pack-index: avoid writing to global in option callback
+      commit: avoid writing to global in option callback
+      attr: drop DEBUG_ATTR code
+      dir: use fspathncmp() in pl_hashmap_cmp()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Altmanninger (1):
+      sequencer: avoid dropping fixup commit that targets self via commit-ish
+
+Johannes Schindelin (4):
+      merge-ort: fix segmentation fault in read-only repositories
+      merge-ort: return early when failing to write a blob
+      ci: avoid using deprecated {up,down}load-artifacts Action
+      ci: use a newer `github-script` version
+
+John Cai (1):
+      tmp-objdir: skip clean up when handling a signal
+
+Junio C Hamano (10):
+      environ: document GIT_SSL_NO_VERIFY
+      environ: explain Boolean environment variables
+      environ: GIT_FLUSH should be made a usual Boolean
+      environ: simplify description of GIT_INDEX_FILE
+      environ: GIT_INDEX_VERSION affects not just a new repository
+      branch: do not fail a no-op --edit-desc
+      SubmittingPatches: use usual capitalization in the log message body
+      Downmerge a handful of topics for 2.38.2
+      Downmerge a bit more for 2.38.2
+      Git 2.38.2
+
+Noah Betzen (1):
+      mergetool.txt: typofix 'overwriten' -> 'overwritten'
+
+Oscar Dominguez (1):
+      ci(main): upgrade actions/checkout to v3
+
+Phillip Wood (3):
+      mailinfo -b: fix an out of bounds access
+      ssh signing: return an error when signature cannot be read
+      t3435: remove redundant test case
+
+René Scharfe (4):
+      gc: simplify maintenance_task_pack_refs()
+      t/lib-httpd: pass LANG and LC_ALL to Apache
+      bisect--helper: plug strvec leak
+      archive: deduplicate verbose printing
+
+Rubén Justo (2):
+      ref-filter.c: fix a leak in get_head_description
+      branch: description for non-existent branch errors
+
+Sergey Organov (3):
+      diff-merges: cleanup func_by_opt()
+      diff-merges: cleanup set_diff_merges()
+      diff-merges: clarify log.diffMerges documentation
+
+Taylor Blau (7):
+      Documentation/git-multi-pack-index.txt: fix typo
+      Documentation/git-multi-pack-index.txt: clarify expire behavior
+      midx.c: prevent `expire` from removing the cruft pack
+      midx.c: avoid cruft packs with `repack --batch-size=0`
+      midx.c: replace `xcalloc()` with `CALLOC_ARRAY()`
+      midx.c: remove unnecessary loop condition
+      midx.c: avoid cruft packs with non-zero `repack --batch-size`
+
+Victoria Dye (2):
+      read-cache: avoid misaligned reads in index v4
+      rebase --update-refs: avoid unintended ref deletion
+
+Ævar Arnfjörð Bjarmason (9):
+      test-lib: have SANITIZE=leak imply TEST_NO_MALLOC_CHECK
+      CodingGuidelines: update for C99
+      CodingGuidelines: mention dynamic C99 initializer elements
+      CodingGuidelines: allow declaring variables in for loops
+      CodingGuidelines: mention C99 features we can't use
+      CodingGuidelines: recommend against unportable C99 struct syntax
+      CI: upgrade to macos-12, and pin OSX version
+      CI: don't explicitly pick "bash" shell outside of Windows, fix regression
+      CI: migrate away from deprecated "set-output" syntax
+
+Đoàn Trần Công Danh (1):
+      Makefile: clarify runtime relative gitexecdir
+
+
+Version v2.38.1; changes since v2.38.0:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (31):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t3207: prepare for changing protocol.file.allow
+      t5516: prepare for changing protocol.file.allow
+      t5537: prepare for changing protocol.file.allow
+      t7814: prepare for changing protocol.file.allow
+      t3206: prepare for changing protocol.file.allow
+      t5537: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+      Git 2.34.5
+      Git 2.35.5
+      Git 2.36.3
+      t7527: prepare for changing protocol.file.allow
+      Git 2.37.4
+      Git 2.38.1
+
+
+Version v2.38.0; changes since v2.38.0-rc2:
+-------------------------------------------
+
+Alex Henrie (2):
+      l10n: fr: don't say that merge is "the default strategy"
+      l10n: es: update translation
+
+Alexander Shopov (3):
+      l10n: bg.po: Updated Bulgarian translation (5482t)
+      l10n: bg.po: Updated Bulgarian translation (5484t)
+      l10n: bg.po: Updated Bulgarian translation (5484t)
+
+Bagas Sanjaya (3):
+      l10n: po-id for 2.38 (round 1)
+      l10n: po-id for 2.38 (round 2)
+      l10n: po-id for 2.38 (round 3)
+
+Emir SARI (3):
+      l10n: tr: Update translations for v2.38.0 round #1
+      l10n: tr: v2.38.0 round 2
+      l10n: tr: v2.38.0 3rd round
+
+Fangyi Zhou (2):
+      l10n: zh_CN v2.38.0 rounds 1 & 2
+      l10n: zh_CN: 2.38.0 round 3
+
+Hubert Bossot (1):
+      l10n: fr: The word 'branche' is only feminine
+
+Jean-Noël Avila (3):
+      l10n: fr: v2.38 round 1
+      l10n: fr: v2.38.0 round 2
+      l10n: fr: v2.38.0 round 3
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.38
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (5482t0f0u)
+      l10n: sv.po: Update Swedish translation (5484t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: update German translation
+      l10n: de.po: update German translation
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: Git 2.38.0, round 3
+
+
+Version v2.38.0-rc2; changes since v2.38.0-rc1:
+-----------------------------------------------
+
+Alex Henrie (1):
+      pack-bitmap: improve grammar of "xor chain" error message
+
+Derrick Stolee (1):
+      pack-bitmap: remove trace2 region from hot path
+
+Jeff King (1):
+      list-objects-filter: initialize sub-filter structs
+
+Junio C Hamano (1):
+      Git 2.38-rc2
+
+Martin Ågren (1):
+      cmd-list.perl: fix identifying man sections
+
+
+Version v2.38.0-rc1; changes since v2.38.0-rc0:
+-----------------------------------------------
+
+Adam Dinwoodie (1):
+      t1800: correct test to handle Cygwin
+
+Alex Henrie (2):
+      gc: don't translate literal commands
+      builtin/diagnose.c: don't translate the two mode values
+
+Elijah Conners (1):
+      reftable: use a pointer for pq_entry param
+
+Eric Sunshine (19):
+      t: add skeleton chainlint.pl
+      chainlint.pl: add POSIX shell lexical analyzer
+      chainlint.pl: add POSIX shell parser
+      chainlint.pl: add parser to validate tests
+      chainlint.pl: add parser to identify test definitions
+      chainlint.pl: validate test scripts in parallel
+      chainlint.pl: don't require `return|exit|continue` to end with `&&`
+      t/Makefile: apply chainlint.pl to existing self-tests
+      chainlint.pl: don't require `&` background command to end with `&&`
+      chainlint.pl: don't flag broken &&-chain if `$?` handled explicitly
+      chainlint.pl: don't flag broken &&-chain if failure indicated explicitly
+      chainlint.pl: complain about loops lacking explicit failure handling
+      chainlint.pl: allow `|| echo` to signal failure upstream of a pipe
+      t/chainlint: add more chainlint.pl self-tests
+      test-lib: retire "lint harder" optimization hack
+      test-lib: replace chainlint.sed with chainlint.pl
+      t/Makefile: teach `make test` and `make prove` to run chainlint.pl
+      t: retire unused chainlint.sed
+      chainlint: colorize problem annotations and test delimiters
+
+Fangyi Zhou (1):
+      help: fix doubled words in explanation for developer interfaces
+
+Jacob Stopak (2):
+      Documentation: clean up a few misspelled word typos
+      Documentation: clean up various typos in technical docs
+
+Jeff King (4):
+      list-objects-filter: don't memset after releasing filter struct
+      list-objects-filter: handle null default filter spec
+      list-objects-filter: add and use initializers
+      list-objects-filter: convert filter_spec to a strbuf
+
+Johannes Schindelin (2):
+      git help: special-case `scalar`
+      scalar: implement the `help` subcommand
+
+Junio C Hamano (3):
+      A bit more of remaining topics before -rc1
+      Final batch before -rc1
+      Git 2.38-rc1
+
+Miaoqian Lin (1):
+      commit-graph: Fix missing closedir in expire_commit_graphs
+
+SZEDER Gábor (1):
+      t/Makefile: remove 'test-results' on 'make clean'
+
+Shaoxuan Yuan (10):
+      t7002: add tests for moving from in-cone to out-of-cone
+      mv: rename check_dir_in_index() to empty_dir_has_sparse_contents()
+      mv: free the with_slash in check_dir_in_index()
+      mv: check if <destination> is a SKIP_WORKTREE_DIR
+      mv: remove BOTH from enum update_mode
+      mv: from in-cone to out-of-cone
+      mv: cleanup empty WORKING_DIRECTORY
+      advice.h: add advise_on_moving_dirty_path()
+      mv: check overwrite for in-to-out move
+      builtin/mv.c: fix possible segfault in add_slash()
+
+Todd Zullinger (2):
+      docs: fix a few recently broken links
+      api docs: link to html version of api-trace2
+
+Victoria Dye (11):
+      scalar: fix command documentation section header
+      scalar: include in standard Git build & installation
+      scalar: add to 'git help -a' command list
+      scalar-clone: add test coverage
+      t/perf: add Scalar performance tests
+      t/perf: add 'GIT_PERF_USE_SCALAR' run option
+      Documentation/technical: include Scalar technical doc
+      diagnose.c: refactor to safely use 'd_type'
+      Documentation: add ReviewingGuidelines
+      diagnose: add to command-list.txt
+      version: fix builtin linking & documentation
+
+ZheNing Hu (1):
+      ls-files: fix black space in error message
+
+
+Version v2.38.0-rc0; changes since v2.37.7:
+-------------------------------------------
+
+Abhradeep Chakraborty (6):
+      Documentation/technical: describe bitmap lookup table extension
+      bitmap: move `get commit positions` code to `bitmap_writer_finish`
+      pack-bitmap-write.c: write lookup table extension
+      pack-bitmap-write: learn pack.writeBitmapLookupTable and add tests
+      pack-bitmap: prepare to read lookup table extension
+      bitmap-lookup-table: add performance tests for lookup table
+
+Calvin Wan (1):
+      submodule merge: update conflict error message
+
+Carlos López (1):
+      grep: add --max-count command line option
+
+Christian Couder (1):
+      Documentation: clarify whitespace rules for trailers
+
+Derrick Stolee (40):
+      branch: add branch_checked_out() helper
+      branch: check for bisects and rebases
+      fetch: use new branch_checked_out() and add tests
+      branch: use branch_checked_out() when deleting refs
+      branch: fix branch_checked_out() leaks
+      pack-bitmap-write: use const for hashes
+      midx: extract bitmap write setup
+      midx: reduce memory pressure while writing bitmaps
+      t2407: test bisect and rebase as black-boxes
+      t2407: test branches currently using apply backend
+      branch: consider refs under 'update-refs'
+      rebase-interactive: update 'merge' description
+      sequencer: define array with enum values
+      sequencer: add update-ref command
+      rebase: add --update-refs option
+      rebase: update refs from 'update-ref' commands
+      sequencer: rewrite update-refs as user edits todo list
+      rebase: add rebase.updateRefs config option
+      sequencer: ignore HEAD ref under --update-refs
+      sequencer: notify user of --update-refs activity
+      refs: allow "HEAD" as decoration filter
+      t4207: modernize test
+      t4207: test coloring of grafted decorations
+      refs: add array of ref namespaces
+      refs: use ref_namespaces for replace refs base
+      log-tree: use ref_namespaces instead of if/else-if
+      log: add default decoration filter
+      log: add --clear-decorations option
+      log: create log.initialDecorationSet=all
+      maintenance: stop writing log.excludeDecoration
+      fetch: use ref_namespaces during prefetch
+      docs: document bundle URI standard
+      bundle-uri: add example bundle organization
+      remote-curl: add 'get' capability
+      bundle-uri: create basic file-copy logic
+      clone: add --bundle-uri option
+      bundle-uri: add support for http(s):// and file://
+      clone: --bundle-uri cannot be combined with --depth
+      t6019: modernize tests with helper
+      clone: warn on failure to repo_init()
+
+Elijah Newren (36):
+      merge-tree: rename merge_trees() to trivial_merge_trees()
+      merge-tree: move logic for existing merge into new function
+      merge-tree: add option parsing and initial shell for real merge function
+      merge-tree: implement real merges
+      merge-ort: split out a separate display_update_messages() function
+      merge-tree: support including merge messages in output
+      merge-ort: provide a merge_get_conflicted_files() helper function
+      merge-ort: remove command-line-centric submodule message from merge-ort
+      merge-tree: provide a list of which files have conflicts
+      merge-tree: provide easy access to `ls-files -u` style info
+      merge-ort: store more specific conflict information
+      merge-ort: optionally produce machine-readable output
+      merge-tree: allow `ls-files -u` style info to be NUL terminated
+      merge-tree: add a --allow-unrelated-histories flag
+      git-merge-tree.txt: add a section on potentional usage mistakes
+      merge-ort-wrappers: make printed message match the one from recursive
+      merge-resolve: abort if index does not match HEAD
+      merge: abort if index does not match HEAD for trivial merges
+      merge: do not abort early if one strategy fails to handle the merge
+      merge: fix save_state() to work when there are stat-dirty files
+      merge: make restore_state() restore staged state too
+      merge: ensure we can actually restore pre-merge state
+      merge: do not exit restore_state() prematurely
+      merge-ort: remove translator lego in new "submodule conflict suggestion"
+      merge-ort: avoid surprise with new sub_flag variable
+      merge-ort: provide helpful submodule update message when possible
+      merge-ort: remove code obsoleted by other changes
+      rev-list-options.txt: fix simple typo
+      revision: allow --ancestry-path to take an argument
+      merge: cleanup confusing logic for handling successful merges
+      merge: small code readability improvement
+      t4301: add more interesting merge-tree testcases
+      t64xx: convert 'test_create_repo' to 'git init'
+      diff: have submodule_format logic avoid additional diff headers
+      diff: fix filtering of additional headers under --remerge-diff
+      diff: fix filtering of merge commits under --remerge-diff
+
+Eric DeCosta (1):
+      fsmonitor: option to allow fsmonitor to run against network-mounted repos
+
+Eric Sunshine (6):
+      t2407: fix broken &&-chains in compound statement
+      t1092: fix buggy sparse "blame" test
+      t: detect and signal failure within loop
+      t4301: account for behavior differences between sed implementations
+      t4301: fix broken &&-chains and add missing loop termination
+      t4301: emit blank line in more idiomatic fashion
+
+Glen Choo (15):
+      submodule--helper: eliminate internal "--update" option
+      submodule--helper tests: add missing "display path" coverage
+      submodule--helper update: use display path helper
+      submodule--helper: don't recreate recursive prefix
+      submodule--helper: use correct display path helper
+      submodule--helper update: use --super-prefix
+      submodule--helper: remove display path helper
+      Documentation/git-config.txt: add SCOPES section
+      Documentation: define protected configuration
+      config: learn `git_protected_config()`
+      safe.directory: use git_protected_config()
+      setup.c: create `safe.bareRepository`
+      config.c: NULL check when reading protected config
+      submodule--helper: add "const" to copy of "update_data"
+      submodule--helper: refactor "errmsg_str" to be a "struct strbuf"
+
+Han Xin (4):
+      unpack-objects: low memory footprint for get_data() in dry_run mode
+      object-file.c: refactor write_loose_object() to several steps
+      object-file.c: add "stream_loose_object()" to handle large object
+      unpack-objects: use stream_loose_object() to unpack large objects
+
+Jacob Keller (1):
+      remote: handle negative refspecs in git remote show
+
+Jacob Stopak (1):
+      Documentation: fix various repeat word typos
+
+Jaydeep Das (1):
+      gpg-interface: add function for converting trust level to string
+
+Jeff King (43):
+      is_promisor_object(): walk promisor packs in pack-order
+      fetch: stop passing around unused worktrees variable
+      branch: drop unused worktrees variable
+      ref-filter: disable save_commit_buffer while traversing
+      write_midx_bitmap(): drop unused refs_snapshot parameter
+      git-compat-util: add UNUSED macro
+      refs: mark unused each_ref_fn parameters
+      refs: mark unused reflog callback parameters
+      refs: mark unused virtual method parameters
+      transport: mark bundle transport_options as unused
+      streaming: mark unused virtual method parameters
+      config: mark unused callback parameters
+      hashmap: mark unused callback parameters
+      mark unused read_tree_recursive() callback parameters
+      run-command: mark unused async callback parameters
+      is_path_owned_by_current_uid(): mark "report" parameter as unused
+      xdiff: drop unused mmfile parameters from xdl_do_histogram_diff()
+      log-tree: drop unused commit param in remerge_diff()
+      match_pathname(): drop unused "flags" parameter
+      verify_one_sparse(): drop unused parameters
+      reftable: drop unused parameter from reader_seek_linear()
+      reflog: assert PARSE_OPT_NONEG in parse-options callbacks
+      xdiff: drop unused mmfile parameters from xdl_do_patience_diff()
+      pass subcommand "prefix" arguments to parse_options()
+      maintenance: add parse-options boilerplate for subcommands
+      remote: run "remote rm" argv through parse_options()
+      pack-bitmap-write: drop unused pack_idx_entry parameters
+      tempfile: drop active flag
+      tempfile: update comment describing state transitions
+      test-crontab: minor memory and error handling fixes
+      lookup_commit_in_graph(): use prepare_commit_graph() to check for graph
+      rev-list: disable commit graph with --verify-objects
+      parse_object(): allow skipping hash check
+      upload-pack: skip parse-object re-hashing of "want" objects
+      parse_object(): check commit-graph when skip_hash set
+      t1060: check partial clone of misnamed blob
+      list_objects_filter_copy(): deep-copy sparse_oid_name field
+      transport: deep-copy object-filter struct for fetch-pack
+      transport: free filter options in disconnect_git()
+      list_objects_filter_options: plug leak of filter_spec strings
+      prepare_repo_settings(): plug leak of config values
+      fetch: stop checking for NULL transport->remote in do_fetch()
+      fetch: add branch.*.merge to default ref-prefix extension
+
+Johannes Schindelin (14):
+      merge-ort: store messages in a list, not in a single strbuf
+      merge-ort: make `path_messages` a strmap to a string_list
+      t5351: avoid relying on `core.fsyncMethod = batch` to be supported
+      t5351: avoid using `test_cmp` for binary data
+      scalar unregister: stop FSMonitor daemon
+      range-diff: reorder argument handling
+      range-diff: consistently validate the arguments
+      range-diff: optionally accept pathspecs
+      add -p: avoid ambiguous signed/unsigned comparison
+      t3701: test the built-in `add -i` regardless of NO_PERL
+      t6132(NO_PERL): do not run the scripted `add -p`
+      add -p: detect more mismatches between plain vs colored diffs
+      add -p: gracefully handle unparseable hunk headers in colored diffs
+      add -p: ignore dirty submodules
+
+Jonathan Tan (1):
+      fetch-pack: write effective filter to trace2
+
+Josh Steadmon (1):
+      fetch-pack: add tracing for negotiation rounds
+
+Julien Rouhaud (1):
+      gitweb: remove title shortening heuristics
+
+Junio C Hamano (30):
+      A regression fix for 2.37
+      builtin/mv.c: use the MOVE_ARRAY() macro instead of memmove()
+      The first batch after Git 2.37
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      The ninth batch
+      doc: consolidate --rerere-autoupdate description
+      doc: clarify rerere-autoupdate
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      The thirteenth batch
+      The fourteenth batch
+      t5329: notice a failure within a loop
+      The fifteenth batch
+      pretty: separate out the logic to decide the use of in-body from
+      format-patch: allow forcing the use of in-body From: header
+      format-patch: learn format.forceInBodyFrom configuration variable
+      The sixteenth batch
+      The seventeenth batch
+      The eighteenth batch
+      The nineteenth batch
+      The twentieth batch
+      Prepare for 2.38-rc0
+      Git 2.38-rc0
+
+Justin Donnelly (1):
+      git-prompt: show presence of unresolved conflicts at command prompt
+
+Kyle Zhao (1):
+      send-pack.c: add config push.useBitmaps
+
+Li Linchao (2):
+      remote-curl: send Accept-Language header to server
+      rev-list: support human-readable output for `--disk-usage`
+
+Linus Torvalds (1):
+      symbolic-ref: refuse to set syntactically invalid target
+
+Matheus Tavares (3):
+      t0021: avoid grepping for a Perl-specific string at filter output
+      t0021: implementation the rot13-filter.pl script in C
+      tests: use the new C rot13-filter helper to avoid PERL prereq
+
+Matthew John Cheetham (1):
+      scalar: enable built-in FSMonitor on `register`
+
+Michael J Gruber (3):
+      sequencer: do not translate reflog messages
+      sequencer: do not translate parameters to error_resolve_conflict()
+      sequencer: do not translate command names
+
+Moritz Baumann (2):
+      git-p4: fix typo in P4Submit.applyCommit()
+      git-p4: fix error handling in P4Unshelve.renameBranch()
+
+Phillip Wood (4):
+      xdiff: introduce XDL_ALLOC_ARRAY()
+      xdiff: introduce xdl_calloc
+      xdiff: introduce XDL_CALLOC_ARRAY()
+      xdiff: introduce XDL_ALLOC_GROW()
+
+René Scharfe (24):
+      archive: update format documentation
+      archive: rename archiver data field to filter_command
+      archive-tar: factor out write_block()
+      archive-tar: add internal gzip implementation
+      archive-tar: use OS_CODE 3 (Unix) for internal gzip
+      archive-tar: use internal gzip by default
+      cocci: avoid normalization rules for memcpy
+      mergesort: unify ranks loops
+      mergesort: tighten merge loop
+      mergesort: add macros for typed sort of linked lists
+      test-mergesort: use DEFINE_LIST_SORT_DEBUG
+      test-mergesort: use DEFINE_LIST_SORT
+      blame: use DEFINE_LIST_SORT
+      commit: use DEFINE_LIST_SORT
+      fetch-pack: use DEFINE_LIST_SORT
+      packfile: use DEFINE_LIST_SORT
+      mergesort: remove llist_mergesort()
+      tempfile: avoid directory cleanup race
+      test-mergesort: read sort input all at once
+      test-mergesort: use mem_pool for sort input
+      diff-no-index: release strbuf on queue error
+      diff-no-index: release prefixed filenames
+      diff-no-index: simplify argv index calculation
+      add -p: fix worktree patch mode prompts
+
+SZEDER Gábor (27):
+      Makefile: build 'gitweb' in the default target
+      multi-pack-index: simplify handling of unknown --options
+      git.c: update NO_PARSEOPT markings
+      t3301-notes.sh: check that default operation mode doesn't take arguments
+      t5505-remote.sh: check the behavior without a subcommand
+      t0040-parse-options: test parse_options() with various 'parse_opt_flags'
+      api-parse-options.txt: fix description of OPT_CMDMODE
+      parse-options: PARSE_OPT_KEEP_UNKNOWN only applies to --options
+      parse-options: clarify the limitations of PARSE_OPT_NODASH
+      parse-options: drop leading space from '--git-completion-helper' output
+      parse-options: add support for parsing subcommands
+      builtin/bundle.c: let parse-options parse subcommands
+      builtin/commit-graph.c: let parse-options parse subcommands
+      builtin/gc.c: let parse-options parse 'git maintenance's subcommands
+      builtin/hook.c: let parse-options parse subcommands
+      builtin/multi-pack-index.c: let parse-options parse subcommands
+      builtin/notes.c: let parse-options parse subcommands
+      builtin/reflog.c: let parse-options parse subcommands
+      builtin/remote.c: let parse-options parse subcommands
+      builtin/sparse-checkout.c: let parse-options parse subcommands
+      builtin/stash.c: let parse-options parse subcommands
+      builtin/worktree.c: let parse-options parse subcommands
+      t0040-parse-options: remove leftover debugging
+      test-parse-options.c: don't use for loop initial declaration
+      test-parse-options.c: fix style of comparison with zero
+      notes: simplify default operation mode arguments check
+      notes, remote: show unknown subcommands between `'
+
+Shaoxuan Yuan (12):
+      t7002: add tests for moving out-of-cone file/directory
+      t1092: mv directory from out-of-cone to in-cone
+      mv: update sparsity after moving from out-of-cone to in-cone
+      mv: decouple if/else-if checks using goto
+      mv: check if out-of-cone file exists in index with SKIP_WORKTREE bit
+      mv: check if <destination> exists in index to handle overwriting
+      mv: use flags mode for update_mode
+      mv: add check_dir_in_index() and solve general dir check issue
+      t1092: add tests for `git-rm`
+      pathspec.h: move pathspec_needs_expanded_index() from reset.c to here
+      rm: expand the index only when necessary
+      rm: integrate with sparse-index
+
+Siddharth Asthana (4):
+      revision: improve commit_rewrite_person()
+      ident: move commit_rewrite_person() to ident.c
+      ident: rename commit_rewrite_person() to apply_mailmap_to_header()
+      cat-file: add mailmap support
+
+Taylor Blau (10):
+      commit-graph: pass repo_settings instead of repository
+      t1006: extract --batch-command inputs to variables
+      builtin/cat-file.c: support NUL-delimited input with `-z`
+      t5326: demonstrate potential bitmap corruption
+      t/lib-bitmap.sh: avoid silencing stderr
+      midx.c: extract `struct midx_fanout`
+      midx.c: extract `midx_fanout_add_midx_fanout()`
+      midx.c: extract `midx_fanout_add_pack_fanout()`
+      midx.c: include preferred pack correctly with existing MIDX
+      midx.c: avoid adding preferred objects twice
+
+Teng Long (8):
+      pack-bitmap.c: fix formatting of error messages
+      pack-bitmap.c: mark more strings for translations
+      pack-bitmap.c: rename "idx_name" to "bitmap_name"
+      pack-bitmap.c: do not ignore error when opening a bitmap file
+      pack-bitmap.c: using error() instead of silently returning -1
+      pack-bitmap.c: continue looping when first MIDX bitmap is found
+      api-trace2.txt: print config key-value pair
+      tr2: shows scope unconditionally in addition to key-value pair
+
+Victoria Dye (22):
+      scalar: reword command documentation to clarify purpose
+      scalar: convert README.md into a technical design doc
+      scalar-diagnose: use "$GIT_UNZIP" in test
+      scalar-diagnose: avoid 32-bit overflow of size_t
+      scalar-diagnose: add directory to archiver more gently
+      scalar-diagnose: move 'get_disk_info()' to 'compat/'
+      scalar-diagnose: move functionality to common location
+      diagnose.c: add option to configure archive contents
+      builtin/diagnose.c: create 'git diagnose' builtin
+      builtin/diagnose.c: add '--mode' option
+      builtin/bugreport.c: create '--diagnose' option
+      scalar-diagnose: use 'git diagnose --mode=all'
+      scalar: update technical doc roadmap
+      scalar: constrain enlistment search
+      scalar-unregister: handle error codes greater than 0
+      scalar-[un]register: clearly indicate source of error
+      scalar-delete: do not 'die()' in 'delete_enlistment()'
+      scalar: move config setting logic into its own function
+      scalar: update technical doc roadmap with FSMonitor support
+      p0004: fix prereq declaration
+      p0006: fix 'read-tree' argument ordering
+      unpack-trees: fix sparse directory recursion check
+
+ZheNing Hu (1):
+      ls-files: introduce "--format" option
+
+brian m. carlson (2):
+      sha256: add support for Nettle
+      gc: use temporary file for editing crontab
+
+Ævar Arnfjörð Bjarmason (149):
+      t0008: don't rely on default ".git/info/exclude"
+      tests: don't depend on template-created .git/branches
+      tests: don't assume a .git/info for .git/info/grafts
+      tests: don't assume a .git/info for .git/info/attributes
+      tests: don't assume a .git/info for .git/info/refs
+      tests: don't assume a .git/info for .git/info/exclude
+      tests: don't assume a .git/info for .git/info/sparse-checkout
+      object-file.c: factor out deflate part of write_loose_object()
+      core doc: modernize core.bigFileThreshold documentation
+      git-submodule.sh: remove unused sanitize_submodule_env()
+      git-submodule.sh: remove unused $prefix variable
+      git-submodule.sh: make the "$cached" variable a boolean
+      git-submodule.sh: remove unused top-level "--branch" argument
+      submodule--helper: have --require-init imply --init
+      submodule update: remove "-v" option
+      submodule--helper: rename "absorb-git-dirs" to "absorbgitdirs"
+      submodule--helper: report "submodule" as our name in some "-h" output
+      submodule--helper: understand --checkout, --merge and --rebase synonyms
+      git-submodule.sh: use "$quiet", not "$GIT_QUIET"
+      git-sh-setup.sh: remove "say" function, change last users
+      gitweb/Makefile: define all .PHONY prerequisites inline
+      gitweb/Makefile: add a $(GITWEB_ALL) variable
+      gitweb/Makefile: clear up and de-duplicate the gitweb.{css,js} vars
+      gitweb/Makefile: prepare to merge into top-level Makefile
+      gitweb: remove "test" and "test-installed" targets
+      gitweb/Makefile: include in top-level Makefile
+      gitweb/Makefile: add a "NO_GITWEB" parameter
+      submodule--helper: remove unused SUPPORT_SUPER_PREFIX flags
+      check-ref-format: fix trivial memory leak
+      clone: fix memory leak in wanted_peer_refs()
+      submodule.c: free() memory from xgetcwd()
+      revert: free "struct replay_opts" members
+      cat-file: fix a memory leak in --batch-command mode
+      merge-file: refactor for subsequent memory leak fix
+      merge-file: fix memory leaks on error path
+      checkout: avoid "struct unpack_trees_options" leak
+      gc: fix a memory leak
+      cat-file: fix a common "struct object_context" memory leak
+      pull: fix a "struct oid_array" memory leak
+      test-tool test-hash: fix a memory leak
+      test-tool path-utils: fix a memory leak
+      test-tool {dump,scrap}-cache-tree: fix memory leaks
+      test-tool urlmatch-normalization: fix a memory leak
+      test-tool regex: call regfree(), fix memory leaks
+      test-tool json-writer: fix memory leaks
+      test-tool bloom: fix memory leaks
+      test-tool ref-store: fix a memory leak
+      test-tool delta: fix a memory leak
+      Makefile: remove mandatory "spatch" arguments from SPATCH_FLAGS
+      Makefile & .gitignore: ignore & clean "git.res", not "*.res"
+      cocci: add a "coccicheck-test" target and test *.cocci rules
+      cocci: have "coccicheck{,-pending}" depend on "coccicheck-test"
+      cocci: add and apply a rule to find "unused" strbufs
+      cocci: generalize "unused" rule to cover more than "strbuf"
+      trace2: only include "fsync" events if we git_fsync()
+      test-lib: use $1, not $@ in test_known_broken_{ok,failure}_
+      test-lib: don't set GIT_EXIT_OK before calling test_atexit_handler
+      test-lib: fix GIT_EXIT_OK logic errors, use BAIL_OUT
+      test-lib: add a --invert-exit-code switch
+      t/README: reword the "GIT_TEST_PASSING_SANITIZE_LEAK" description
+      test-lib: add a SANITIZE=leak logging mode
+      t/Makefile: don't remove test-results in "clean-except-prove-cache"
+      tests: move copy/pasted PERL + Test::More checks to a lib-perl.sh
+      test-lib: simplify by removing test_external
+      test-lib: add a GIT_TEST_PASSING_SANITIZE_LEAK=check mode
+      test-lib: have the "check" mode for SANITIZE=leak consider leak logs
+      leak tests: don't skip some tests under SANITIZE=leak
+      leak tests: mark passing SANITIZE=leak tests as leak-free
+      upload-pack: fix a memory leak in create_pack_file()
+      CI: use "GIT_TEST_SANITIZE_LEAK_LOG=true" in linux-leaks
+      bisect.c: add missing "goto" for release_revisions()
+      test-fast-rebase helper: use release_revisions() (again)
+      log: fix a memory leak in "git show <revision>..."
+      log: refactor "rev.pending" code in cmd_show()
+      bisect.c: partially fix bisect_rev_setup() memory leak
+      revisions API: don't leak memory on argv elements that need free()-ing
+      help.c: refactor drop_prefix() to use a "switch" statement"
+      help.c: remove common category behavior from drop_prefix() behavior
+      git help doc: use "<doc>" instead of "<guide>"
+      git docs: add a category for user-facing file, repo and command UX
+      git docs: add a category for file formats, protocols and interfaces
+      docs: move commit-graph format docs to man section 5
+      docs: move protocol-related docs to man section 5
+      docs: move index format docs to man section 5
+      docs: move signature docs to man section 5
+      docs: move pack format docs to man section 5
+      docs: move cruft pack docs to gitformat-pack
+      docs: move http-protocol docs to man section 5
+      Makefile + hash.h: remove PPC_SHA1 implementation
+      Makefile: use $(OBJECTS) instead of $(C_OBJ)
+      git-compat-util.h: use "UNUSED", not "UNUSED(var)"
+      git-compat-util.h: use "deprecated" for UNUSED variables
+      submodule tests: test usage behavior
+      submodule tests: test for "add <repository> <abs-path>"
+      submodule--helper: remove unused "name" helper
+      submodule--helper: remove unused "list" helper
+      test-tool submodule-config: remove unused "--url" handling
+      submodule--helper: move "is-active" to a test-tool
+      submodule--helper: move "check-name" to a test-tool
+      submodule--helper: move "resolve-relative-url-test" to a test-tool
+      submodule--helper style: don't separate declared variables with \n\n
+      submodule--helper style: add \n\n after variable declarations
+      submodule--helper: replace memset() with { 0 }-initialization
+      submodule--helper: use xstrfmt() in clone_submodule()
+      submodule--helper: move "sb" in clone_submodule() to its own scope
+      submodule--helper: add "const" to passed "module_clone_data"
+      submodule--helper: add "const" to passed "struct update_data"
+      submodule--helper: don't redundantly check "else if (res)"
+      submodule--helper: rename "int res" to "int ret"
+      submodule--helper: return "ret", not "1" from update_submodule()
+      submodule--helper: add missing braces to "else" arm
+      submodule--helper: don't call submodule_strategy_to_string() in BUG()
+      submodule API: don't handle SM_..{UNSPECIFIED,COMMAND} in to_string()
+      submodule--helper: use "code" in run_update_command()
+      submodule--helper: don't exit() on failure, return
+      submodule--helper: libify determine_submodule_update_strategy()
+      submodule--helper: libify "must_die_on_failure" code paths
+      submodule--helper update: don't override 'checkout' exit code
+      submodule--helper: libify "must_die_on_failure" code paths (for die)
+      submodule--helper: check repo{_submodule,}_init() return values
+      submodule--helper: libify more "die" paths for module_update()
+      submodule--helper: libify even more "die" paths for module_update()
+      submodule--helper: fix bad config API usage
+      submodule--helper: fix a leak in "clone_submodule"
+      submodule--helper: fix trivial get_default_remote_submodule() leak
+      submodule--helper: fix most "struct pathspec" memory leaks
+      submodule--helper: "struct pathspec" memory leak in module_update()
+      submodule--helper: don't leak {run,capture}_command() cp.dir argument
+      submodule--helper: add and use *_release() functions
+      submodule--helper: fix "errmsg_str" memory leak
+      submodule--helper: fix "sm_path" and other "module_cb_list" leaks
+      submodule--helper: fix a leak with repo_clear()
+      submodule--helper: fix a memory leak in get_default_remote_submodule()
+      submodule--helper: fix "reference" leak
+      submodule--helper: fix obscure leak in module_add()
+      submodule--helper: fix a leak in module_add()
+      submodule--helper: fix a memory leak in print_status()
+      submodule--helper: free some "displaypath" in "struct update_data"
+      submodule--helper: free rest of "displaypath" in "struct update_data"
+      submodule--helper: fix a configure_added_submodule() leak
+      docs: add and use include template for config/* includes
+      grep docs: de-duplicate configuration sections
+      send-email docs: de-duplicate configuration sections
+      apply docs: de-duplicate configuration sections
+      notes docs: de-duplicate and combine configuration sections
+      difftool docs: de-duplicate configuration sections
+      log docs: de-duplicate configuration sections
+      docs: add CONFIGURATION sections that map to a built-in
+      docs: add CONFIGURATION sections that fuzzy map to built-ins
+
+Øystein Walle (1):
+      rev-parse --parseopt: detect missing opt-spec
+
+
+Version v2.37.7; changes since v2.37.6:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (7):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (19):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+      Git 2.36.6
+      Git 2.37.7
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.37.6; changes since v2.37.5:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (8):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+      Git 2.35.7
+      Git 2.36.5
+      Git 2.37.6
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.37.5; changes since v2.37.4:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (8):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+      Git 2.35.6
+      Git 2.36.4
+      Git 2.37.5
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.37.4; changes since v2.37.3:
+---------------------------------------
+
+Anthony Delannoy (1):
+      preload-index: fix memleak
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Elijah Newren (1):
+      merge: only apply autostash when appropriate
+
+Jeff King (8):
+      is_promisor_object(): fix use-after-free of tree buffer
+      compat: add function to enable nonblocking pipes
+      git-compat-util: make MAX_IO_SIZE define globally available
+      pipe_command(): avoid xwrite() for writing to pipe
+      pipe_command(): handle ENOSPC when writing to a pipe
+      pipe_command(): mark stdin descriptor as non-blocking
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Junio C Hamano (1):
+      Merge a handful of topics from the 'master' front
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+René Scharfe (1):
+      nonblock: support Windows
+
+SZEDER Gábor (1):
+      promisor-remote: fix xcalloc() argument order
+
+Taylor Blau (30):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t3207: prepare for changing protocol.file.allow
+      t5516: prepare for changing protocol.file.allow
+      t5537: prepare for changing protocol.file.allow
+      t7814: prepare for changing protocol.file.allow
+      t3206: prepare for changing protocol.file.allow
+      t5537: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+      Git 2.34.5
+      Git 2.35.5
+      Git 2.36.3
+      t7527: prepare for changing protocol.file.allow
+      Git 2.37.4
+
+
+Version v2.37.3; changes since v2.37.2:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      cmake: support local installations of git
+
+Felipe Contreras (7):
+      mergetools: vimdiff: fix comment
+      mergetools: vimdiff: make vimdiff3 actually work
+      mergetools: vimdiff: silence annoying messages
+      mergetools: vimdiff: fix for diffopt
+      mergetools: vimdiff: rework tab logic
+      mergetools: vimdiff: fix single window layouts
+      mergetools: vimdiff: simplify tabfirst
+
+Glen Choo (1):
+      Documentation/git-reflog: remove unneeded \ from \{
+
+Jeff King (4):
+      config.mak.dev: squelch -Wno-missing-braces for older gcc
+      tree-walk: add a mechanism for getting non-canonicalized modes
+      fsck: actually detect bad file modes in trees
+      fsck: downgrade tree badFilemode to "info"
+
+Johannes Schindelin (11):
+      windows: include the Python bits when building Git for Windows
+      mingw: remove unneeded `NO_GETTEXT` directive
+      mingw: remove unneeded `NO_CURL` directive
+      lstat(mingw): correctly detect ENOTDIR scenarios
+      merge-ort: clean up after failed merge
+      merge-ort: do leave trace2 region even if checkout fails
+      setup: fix some formatting
+      setup: prepare for more detailed "dubious ownership" messages
+      mingw: provide details about unsafe directories' ownership
+      mingw: be more informative when ownership check fails on FAT32
+      mingw: handle a file owned by the Administrators group correctly
+
+Junio C Hamano (2):
+      A handful more topics from the 'master' front for 2.37.3
+      Git 2.37.3
+
+Philip Oakley (1):
+      doc add: renormalize is not idempotent for CRCRLF
+
+Phillip Wood (1):
+      tests: cache glibc version check
+
+Victoria Dye (4):
+      checkout: fix nested sparse directory diff in sparse index
+      oneway_diff: handle removed sparse directories
+      cache.h: create 'index_name_pos_sparse()'
+      unpack-trees: unpack new trees as sparse directories
+
+Ævar Arnfjörð Bjarmason (1):
+      hook API: don't segfault on strbuf_addf() to NULL "out"
+
+
+Version v2.37.2; changes since v2.37.1:
+---------------------------------------
+
+Abhradeep Chakraborty (3):
+      bitmap-format.txt: feed the file to asciidoc to generate html
+      bitmap-format.txt: fix some formatting issues
+      bitmap-format.txt: add information for trailing checksum
+
+Celeste Liu (1):
+      contrib/rerere-train: avoid useless gpg sign in training
+
+Cleber Rosa (1):
+      setup: fix function name in a BUG() message
+
+Derrick Stolee (9):
+      t5510: replace 'origin' with URL more carefully
+      vscode: improve tab size and wrapping
+      git-rebase.txt: use back-ticks consistently
+      daemon: clarify directory arguments
+      git-cvsserver: clarify directory list
+      git.txt: remove redundant language
+      t: avoid "whitelist"
+      transport.c: avoid "whitelist"
+      compat/win32: correct for incorrect compiler warning
+
+Dimitriy Ryazantcev (1):
+      i18n: mark message helpers prefix for translation
+
+Elijah Newren (6):
+      t6429: fix use of non-existent function
+      t6423: add tests of dual directory rename plus add/add conflict
+      merge-ort: small cleanups of check_for_directory_rename
+      merge-ort: make a separate function for freeing struct collisions
+      merge-ort: shuffle the computation and cleanup of potential collisions
+      merge-ort: fix issue with dual rename and add/add conflict
+
+Fernando Ramos (1):
+      vimdiff: make layout engine more robust against user vim settings
+
+Goss Geppert (2):
+      dir: traverse into repository
+      dir: minor refactoring / clean-up
+
+Han Xin (2):
+      commit-graph.c: no lazy fetch in lookup_commit_in_graph()
+      t5330: remove run_with_limited_processses()
+
+Jeff King (6):
+      revisions.txt: escape "..." to avoid asciidoc horizontal ellipsis
+      clone: drop extra newline from warning message
+      clone: propagate empty remote HEAD even with other branches
+      clone: use remote branch if it matches default HEAD
+      clone: move unborn head creation to update_head()
+      diff-files: move misplaced cleanup label
+
+Johannes Schindelin (3):
+      tests: fix incorrect --write-junit-xml code
+      mergetool(vimdiff): allow paths to contain spaces again
+      shortlog: use a stable sort
+
+Junio C Hamano (6):
+      revision: mark blobs needed for resolve-undo as reachable
+      fsck: do not dereference NULL while checking resolve-undo data
+      builtin/remote.c: use the right kind of STRING_LIST_INIT
+      Downmerge a handful of fixes for 2.37.x maintenance track
+      Downmerge a bit more for 2.37.x
+      Git 2.37.2
+
+Kilian Kilger (2):
+      git-p4: fix bug with encoding of p4 client name
+      git-p4: refactoring of p4CmdList()
+
+Lessley Dennington (1):
+      osx-keychain: fix compiler warning
+
+Li Linchao (1):
+      ls-files: update test style
+
+Manuel Boni (1):
+      config.txt: document include, includeIf
+
+Martin Ågren (3):
+      config/core.txt: fix minor issues for `core.sparseCheckoutCone`
+      t4200: drop irrelevant code
+      read-cache: make `do_read_index()` always set up `istate->repo`
+
+Matheus Tavares (4):
+      checkout: document bug where delayed checkout counts entries twice
+      checkout: show bug about failed entries being included in final report
+      checkout: fix two bugs on the final count of updated entries
+      pkt-line.h: move comment closer to the associated code
+
+Moritz Baumann (1):
+      git-p4: fix CR LF handling for utf16 files
+
+Philippe Blain (3):
+      diff-format.txt: dst can be 0* SHA-1 when path is deleted, too
+      diff-format.txt: correct misleading wording
+      diff-index.txt: update raw output format in examples
+
+René Scharfe (3):
+      combine-diff: abort if --ignore-matching-lines is given
+      combine-diff: abort if --output is given
+      mingw: avoid mktemp() in mkstemp() implementation
+
+Richard Oliver (1):
+      mktree: do not check type of remote objects
+
+SZEDER Gábor (1):
+      index-format.txt: remove outdated list of supported extensions
+
+Tao Klerks (1):
+      rev-parse: documentation adjustment - mention remote tracking with @{u}
+
+Taylor Blau (4):
+      pack-objects.h: remove outdated pahole results
+      t5318: demonstrate commit-graph generation v2 corruption
+      commit-graph: introduce `repo_find_commit_pos_in_graph()`
+      commit-graph: fix corrupt upgrade from generation v1 to v2
+
+Ævar Arnfjörð Bjarmason (3):
+      tests: add missing double quotes to included library paths
+      test-lib.sh: fix prepend_var() quoting issue
+      config tests: fix harmless but broken "rm -r" cleanup
+
+
+Version v2.37.1; changes since v2.37.0:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (8):
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+      Git 2.33.4
+      Git 2.34.4
+      Git 2.35.4
+      Git 2.36.2
+      add --interactive: allow `update` to stage deleted files
+
+Junio C Hamano (1):
+      Git 2.37.1
+
+
+Version v2.37.0; changes since v2.37.0-rc2:
+-------------------------------------------
+
+Alex Henrie (1):
+      l10n: es: update translation
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5367t)
+
+Arthur Milchior (1):
+      l10n: README: fix typo
+
+Bagas Sanjaya (1):
+      l10n: po-id for 2.37 (first batch)
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Emir SARI (1):
+      l10n: tr: v2.37.0 round #1
+
+Fangyi Zhou (1):
+      l10n: zh_CN: v2.37.0 round 1
+
+Jean-Noël Avila (1):
+      l10n: fr v2.37 round 1
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.37
+
+Matthias Rüster (2):
+      l10n: de.po: Update German translation
+      l10n: TEAMS: Change German translation team leader
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5367t0f0u)
+
+René Scharfe (1):
+      revert: config documentation fixes
+
+Taylor Blau (1):
+      Documentation/config/transfer.txt: fix typo
+
+Trần Ngọc Quân (1):
+      l10n: vi(5367t): Updated translation
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW: v2.37.0 round 1
+
+
+Version v2.37.0-rc2; changes since v2.37.0-rc1:
+-----------------------------------------------
+
+Alexander Shopov (1):
+      name-rev: prefix annotate-stdin with '--' in message
+
+Joakim Petersen (2):
+      git-prompt: make colourization consistent
+      git-prompt: fix expansion of branch colour codes
+
+Junio C Hamano (1):
+      Git 2.37-rc2
+
+René Scharfe (1):
+      gc: simplify --cruft description
+
+
+Version v2.37.0-rc1; changes since v2.37.0-rc0:
+-----------------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      git-compat-util: allow root to access both SUDO_UID and root owned
+
+Derrick Stolee (4):
+      t2107: test 'git update-index --verbose'
+      t5329: test 'git gc --cruft' without '--prune=now'
+      pack-write: drop always-NULL parameter
+      cache-tree: remove cache_tree_find_path()
+
+Fabian Stelzer (1):
+      gpg docs: explain better use of ssh.defaultKeyCommand
+
+Fangyi Zhou (2):
+      push: fix capitalisation of the option name autoSetupMerge
+      builtin/rebase: remove a redundant space in l10n string
+
+Jeff King (2):
+      perf-lib: fix missing test titles in output
+      bug_fl(): correctly initialize trace2 va_list
+
+Jiang Xin (1):
+      i18n: fix mismatched camelCase config variables
+
+Johannes Schindelin (9):
+      ci(github): bring back the 'print test failures' step
+      ci(github): use grouping also in the `win-build` job
+      ci(github): also mark up compile errors
+      fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`
+      submodule-config: avoid memory leak
+      submodule--helper: avoid memory leak when fetching submodules
+      read_index_from(): avoid memory leak
+      pack-mtimes: avoid closing a bogus file descriptor
+      relative_url(): fix incorrect condition
+
+Junio C Hamano (6):
+      revert: optionally refer to commit in the "reference" format
+      revert: --reference should apply only to 'revert', not 'cherry-pick'
+      cocci: retire is_null_sha1() rule
+      Fixes and updates post -rc0
+      Another batch of fixes before -rc1
+      Git 2.37-rc1
+
+Philip Oakley (4):
+      rebase.c: state preserve-merges has been removed
+      rebase: help users when dying with `preserve-merges`
+      rebase: note `preserve` merges may be a pull config option
+      rebase: translate a die(preserve-merges) message
+
+Ævar Arnfjörð Bjarmason (4):
+      add -i tests: mark "TODO" depending on GIT_TEST_ADD_I_USE_BUILTIN
+      fetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate
+      transfer doc: move fetch.credentialsInUrl to "transfer" config namespace
+      tests: add LIBCURL prerequisite to tests needing libcurl
+
+
+Version v2.37.0-rc0; changes since v2.36.6:
+-------------------------------------------
+
+Abhradeep Chakraborty (1):
+      builtin/remote.c: teach `-v` to list filters for promisor remotes
+
+Alex Henrie (1):
+      convert: clarify line ending conversion warning
+
+COGONI Guillaume (2):
+      contrib/vscode/: debugging with VS Code and gdb
+      Documentation/ToolsForGit.txt: Tools for developing Git
+
+Carlo Marcelo Arenas Belón (1):
+      reftable: avoid undefined behaviour breaking t0032
+
+Chris Down (2):
+      bisect: output state before we are ready to compute bisection
+      bisect: output bisect setup status in bisect log
+
+Christian Couder (1):
+      http: add custom hostname to IP address resolutions
+
+Derrick Stolee (21):
+      clone: die() instead of BUG() on bad refs
+      t1092: add compatibility tests for 'git show'
+      show: integrate with the sparse index
+      object-name: reject trees found in the index
+      object-name: diagnose trees in index properly
+      rev-parse: integrate with sparse index
+      http: make http_get_file() external
+      remote: move relative_url()
+      remote: allow relative_url() to return an absolute url
+      object-file: convert 'switch' back to 'if'
+      t1092: refactor 'sparse-index contents' test
+      t1092: stress test 'git sparse-checkout set'
+      sparse-index: create expand_index()
+      sparse-index: introduce partially-sparse indexes
+      cache-tree: implement cache_tree_find_path()
+      sparse-checkout: --no-sparse-index needs a full index
+      sparse-index: partially expand directories
+      sparse-index: complete partial expansion
+      p2000: add test for 'git sparse-checkout [add|set]'
+      sparse-checkout: integrate with sparse index
+      remote: create fetch.credentialsInUrl config
+
+Edmundo Carmona Antoranz (2):
+      blame: report correct number of lines in progress when using ranges
+      rebase: simplify an assignment of options.type in cmd_rebase
+
+Elia Pinto (2):
+      Makefile: add a prerequisite to the coverage-report target
+      contrib/coccinnelle: add equals-null.cocci
+
+Elijah Newren (9):
+      tests: stop assuming --no-cone is the default mode for sparse-checkout
+      sparse-checkout: make --cone the default
+      git-sparse-checkout.txt: wording updates for the cone mode default
+      git-sparse-checkout.txt: update docs for deprecation of 'init'
+      git-sparse-checkout.txt: shuffle some sections and mark as internal
+      git-sparse-checkout.txt: add a new EXAMPLES section
+      git-sparse-checkout.txt: flesh out pattern set sections a bit
+      git-sparse-checkout.txt: mark non-cone mode as deprecated
+      Documentation: some sparsity wording clarifications
+
+Fernando Ramos (4):
+      vimdiff: new implementation with layout support
+      vimdiff: integrate layout tests in the unit tests framework ('t' folder)
+      vimdiff: add tool documentation
+      mergetools: add description to all diff/merge tools
+
+Frantisek Hrbata (3):
+      transport: remove unnecessary indenting in transport_push()
+      transport: unify return values and exit point from transport_push()
+      transport: free local and remote refs in transport_push()
+
+Garrit Franke (3):
+      cli: add -v and -h shorthands
+      serve.c: remove unnecessary include
+      apply.c: remove unnecessary include
+
+Glen Choo (4):
+      pull: do not let submodule.recurse override fetch.recurseSubmodules
+      remote.c: don't BUG() on 0-length branch names
+      remote.c: reject 0-length branch names
+      config: document and test the 'worktree' scope
+
+Jason Yundt (1):
+      gitweb: switch to an XHTML5 DOCTYPE
+
+Jeff Hostetler (30):
+      fsm-listen-win32: handle shortnames
+      t7527: test FSMonitor on repos with Unicode root paths
+      t/helper/fsmonitor-client: create stress test
+      fsmonitor-settings: bare repos are incompatible with FSMonitor
+      fsmonitor-settings: stub in Win32-specific incompatibility checking
+      fsmonitor-settings: VFS for Git virtual repos are incompatible
+      fsmonitor-settings: stub in macOS-specific incompatibility checking
+      fsmonitor-settings: remote repos on macOS are incompatible
+      fsmonitor-settings: remote repos on Windows are incompatible
+      fsmonitor-settings: NTFS and FAT32 on MacOS are incompatible
+      unpack-trees: initialize fsmonitor_has_run_once in o->result
+      fsm-listen-darwin: ignore FSEvents caused by xattr changes on macOS
+      fsmonitor--daemon: cd out of worktree root
+      fsmonitor--daemon: prepare for adding health thread
+      fsmonitor--daemon: rename listener thread related variables
+      fsmonitor--daemon: stub in health thread
+      fsm-health-win32: add polling framework to monitor daemon health
+      fsm-health-win32: force shutdown daemon if worktree root moves
+      fsm-listen-darwin: shutdown daemon if worktree root is moved/renamed
+      fsmonitor: optimize processing of directory events
+      t7527: FSMonitor tests for directory moves
+      t/perf/p7527: add perf test for builtin FSMonitor
+      fsmonitor: never set CE_FSMONITOR_VALID on submodules
+      t7527: test FSMonitor on case insensitive+preserving file system
+      fsmonitor: on macOS also emit NFC spelling for NFD pathname
+      t/helper/hexdump: add helper to print hexdump of stdin
+      t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd
+      t7527: test Unicode NFC/NFD handling on MacOS
+      fsmonitor--daemon: allow --super-prefix argument
+      t7527: improve implicit shutdown testing in fsmonitor--daemon
+
+Jiang Xin (5):
+      Makefile: sort source files before feeding to xgettext
+      Makefile: generate "po/git.pot" from stable LOCALIZED_C
+      Makefile: remove duplicate and unwanted files in FOUND_SOURCE_FILES
+      po/git.pot: this is now a generated file
+      Makefile: add "po-update" rule to update po/XX.po
+
+Joel Holdsworth (22):
+      git-p4: add blank lines between functions and class definitions
+      git-p4: remove unneeded semicolons from statements
+      git-p4: indent with 4-spaces
+      git-p4: improve consistency of docstring formatting
+      git-p4: convert descriptive class and function comments into docstrings
+      git-p4: remove commented code
+      git-p4: sort and de-duplcate pylint disable list
+      git-p4: remove padding from lists, tuples and function arguments
+      git-p4: remove spaces around default arguments
+      git-p4: removed brackets when assigning multiple return values
+      git-p4: place a single space after every comma
+      git-p4: remove extraneous spaces before function arguments
+      git-p4: remove redundant backslash-continuations inside brackets
+      git-p4: remove spaces between dictionary keys and colons
+      git-p4: ensure every comment has a single #
+      git-p4: ensure there is a single space around all operators
+      git-p4: normalize indentation of lines in conditionals
+      git-p4: compare to singletons with "is" and "is not"
+      git-p4: only seperate code blocks by a single empty line
+      git-p4: move inline comments to line above
+      git-p4: seperate multiple statements onto seperate lines
+      git-p4: sort imports
+
+Johannes Schindelin (24):
+      t2016: require the PERL prereq only when necessary
+      add -i: default to the built-in implementation
+      trace2 docs: a couple of grammar fixes
+      trace2 docs: "printf" is not an English word
+      trace2 docs: surround more terms in backticks
+      trace2 docs: fix a JSON formatted example
+      trace2 docs: clarify what `varargs` is all about
+      trace2 docs: add missing full stop
+      ci: fix code style
+      tests: refactor --write-junit-xml code
+      test(junit): avoid line feeds in XML attributes
+      ci/run-build-and-tests: take a more high-level view
+      ci: make it easier to find failed tests' logs in the GitHub workflow
+      ci/run-build-and-tests: add some structure to the GitHub workflow output
+      ci: optionally mark up output in the GitHub workflow
+      ci(github): skip the logs of the successful test cases
+      ci: use `--github-workflow-markup` in the GitHub workflow
+      ci(github): mention where the full logs can be found
+      ci: call `finalize_test_case_output` a little later
+      archive: optionally add "virtual" files
+      archive --add-virtual-file: allow paths containing colons
+      scalar: validate the optional enlistment argument
+      scalar: implement `scalar diagnose`
+      scalar diagnose: include disk space information
+
+Jonathan Tan (2):
+      fetch-pack: make unexpected peek result non-fatal
+      commit,shallow: unparse commits if grafts changed
+
+Josh Steadmon (1):
+      run-command: don't spam trace2_child_exit()
+
+Junio C Hamano (22):
+      Some regression fixes for 2.36
+      tree-wide: apply equals-null.cocci
+      tree-wide: apply equals-null.cocci
+      tree-wide: apply equals-null.cocci
+      A bit more regression fixes for 2.36
+      0th batch for topics from the previous cycle
+      second 0th batch of topics from the previous cycle
+      commit: fix "author_ident" leak
+      fetch: do not run a redundant fetch from submodule
+      t6424: make sure a failed merge preserves local changes
+      First batch for 2.37
+      Second batch
+      Third batch
+      Fourth batch
+      pathspec: correct an empty string used as a pathspec element
+      Fifth batch
+      Sixth batch
+      Revert -Wno-error=dangling-pointer
+      Seventh batch
+      Eighth batch
+      Ninth batch
+      Git 2.37-rc0
+
+Kevin Locke (1):
+      setup: don't die if realpath(3) fails on getcwd(3)
+
+Khalid Masum (1):
+      t3501: remove test -f and stop ignoring git <cmd> exit code
+
+Kirill Frolov (1):
+      git-p4: fix issue with multiple perforce remotes
+
+Kleber Tarcísio (1):
+      commit-graph: close file before returning NULL
+
+Matthew John Cheetham (2):
+      scalar: teach `diagnose` to gather packfile info
+      scalar: teach `diagnose` to gather loose objects information
+
+Miklos Vajna (1):
+      log: "--since-as-filter" option is a non-terminating "--since" variant
+
+Neeraj Singh (12):
+      bulk-checkin: rename 'state' variable and separate 'plugged' boolean
+      bulk-checkin: rebrand plug/unplug APIs as 'odb transactions'
+      core.fsyncmethod: batched disk flushes for loose-objects
+      cache-tree: use ODB transaction around writing a tree
+      builtin/add: add ODB transaction around add_files_to_cache
+      update-index: use the bulk-checkin infrastructure
+      unpack-objects: use the bulk-checkin infrastructure
+      core.fsync: use batch mode and sync loose objects by default on Windows
+      test-lib-functions: add parsing helpers for ls-files and ls-tree
+      core.fsyncmethod: tests for batch mode
+      t/perf: add iteration setup mechanism to perf-lib
+      core.fsyncmethod: performance tests for batch mode
+
+Orgad Shaneh (1):
+      fetch: limit shared symref check only for local branches
+
+Philippe Blain (8):
+      submodule.h: use a named enum for RECURSE_SUBMODULES_*
+      MyFirstContribution: add "Anatomy of a Patch Series" section
+      MyFirstContribution: add standalone section on cover letter
+      MyFirstContribution: reference "The cover letter" in "Preparing Email"
+      MyFirstContribution: reference "The cover letter" in GitGitGadget section
+      MyFirstContribution: drop PR description for GGG single-patch contributions
+      ci: update Cirrus-CI image to FreeBSD 12.3
+      range-diff: show submodule changes irrespective of diff.submodule
+
+René Scharfe (4):
+      t7812: test PCRE2 whitespace bug
+      tempfile: add mks_tempfile_dt()
+      diff: use mks_tempfile_dt()
+      archive: improve documentation of --prefix
+
+SZEDER Gábor (3):
+      t0033-safe-directory: check the error message without matching the trash dir
+      t0033-safe-directory: check when 'safe.directory' is ignored
+      safe.directory: document and check that it's ignored in the environment
+
+Siddharth Asthana (1):
+      t1011: replace test -f with test_path_is_file
+
+Son Luong Ngoc (1):
+      fsmonitor: query watchman with right valid json
+
+Tao Klerks (8):
+      untracked-cache: test untracked-cache-bypassing behavior with -uall
+      untracked-cache: support '--untracked-files=all' if configured
+      git-p4: support explicit sync of arbitrary existing git-p4 refs
+      git-p4: preserve utf8 BOM when importing from p4 to git
+      branch: new autosetupmerge option 'simple' for matching branches
+      push: default to single remote even when not named origin
+      push: new config option "push.autoSetupRemote" supports "simple" push
+      git-p4: improve encoding handling to support inconsistent encodings
+
+Taylor Blau (25):
+      builtin/receive-pack.c: remove redundant 'if'
+      t7703: demonstrate object corruption with pack.packSizeLimit
+      builtin/repack.c: ensure that `names` is sorted
+      Documentation/technical: add cruft-packs.txt
+      pack-bitmap.c: check preferred pack validity when opening MIDX bitmap
+      builtin/pack-objects.c: avoid redundant NULL check
+      builtin/pack-objects.c: ensure included `--stdin-packs` exist
+      builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects
+      pack-mtimes: support reading .mtimes files
+      pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles'
+      chunk-format.h: extract oid_version()
+      pack-mtimes: support writing pack .mtimes files
+      t/helper: add 'pack-mtimes' test-tool
+      builtin/pack-objects.c: return from create_object_entry()
+      builtin/pack-objects.c: --cruft without expiration
+      reachable: add options to add_unseen_recent_objects_to_traversal
+      reachable: report precise timestamps from objects in cruft packs
+      builtin/pack-objects.c: --cruft with expiration
+      builtin/repack.c: support generating a cruft pack
+      builtin/repack.c: allow configuring cruft pack generation
+      builtin/repack.c: use named flags for existing_packs
+      builtin/repack.c: add cruft packs to MIDX during geometric repack
+      builtin/gc.c: conditionally avoid pruning objects via loose
+      sha1-file.c: don't freshen cruft packs
+      builtin/show-ref.c: avoid over-iterating with --heads, --tags
+
+Victoria Dye (8):
+      stash: expand sparse-checkout compatibility testing
+      stash: integrate with sparse index
+      sparse-index: expose 'is_sparse_index_allowed()'
+      read-cache: set sparsity when index is new
+      stash: apply stash using 'merge_ort_nonrecursive()'
+      unpack-trees: preserve index sparsity
+      repack: respect --keep-pack with geometric repack
+      ci(github): avoid printing test case preamble twice
+
+Yuyi Wang (3):
+      cmake: fix CMakeLists.txt on Linux
+      cmake: add pcre2 support
+      cmake: remove (_)UNICODE def on Windows in CMakeLists.txt
+
+ZheNing Hu (1):
+      read-cache.c: reduce unnecessary cache entry name copying
+
+halilsen (2):
+      gitk: trivial indentation fix
+      gitk: include y coord in recorded sash position
+
+Ævar Arnfjörð Bjarmason (56):
+      run-command.h: remove always unused "clean_on_exit_handler_cbdata"
+      configure.ac: remove USE_PIC comment
+      xdiff/xmacros.h: remove unused XDL_PTRFREE
+      pack-bitmap-write: remove unused bitmap_reset() function
+      object-store.h: remove unused has_sha1_file*()
+      alloc.[ch]: remove alloc_report() function
+      t/helper/test-fast-rebase.c: don't leak "struct strbuf"
+      blame: use "goto cleanup" for cleanup_scoreboard()
+      string_list API users: use string_list_init_{no,}dup
+      format-patch: don't leak "extra_headers" or "ref_message_ids"
+      cocci: add and apply free_commit_list() rules
+      revision.[ch]: provide and start using a release_revisions()
+      revisions API users: add straightforward release_revisions()
+      revision.[ch]: document and move code declared around "init"
+      revisions API users: use release_revisions() needing REV_INFO_INIT
+      stash: always have the owner of "stash_info" free it
+      revisions API users: add "goto cleanup" for release_revisions()
+      revisions API users: use release_revisions() in http-push.c
+      revisions API users: use release_revisions() in builtin/log.c
+      revisions API users: use release_revisions() with UNLEAK()
+      revisions API users: use release_revisions() for "prune_data" users
+      revisions API: have release_revisions() release "commits"
+      revisions API: have release_revisions() release "mailmap"
+      revisions API: have release_revisions() release "cmdline"
+      revisions API: have release_revisions() release "filter"
+      revisions API: have release_revisions() release "grep_filter"
+      revisions API: have release_revisions() release "prune_data"
+      revisions API: clear "boundary_commits" in release_revisions()
+      revisions API: release "reflog_info" in release revisions()
+      revisions API: call diff_free(&revs->pruning) in revisions_release()
+      revisions API: have release_revisions() release "date_mode"
+      revisions API: have release_revisions() release "topo_walk_info"
+      revisions API: add a TODO for diff_free(&revs->diffopt)
+      connect.c: refactor sending of agent & object-format
+      dir API: add a generalized path_match_flags() function
+      fetch-pack: add a deref_without_lazy_fetch_extended()
+      fetch-pack: move --keep=* option filling to a function
+      bundle.h: make "fd" version of read_bundle_header() public
+      Makefile: have "make pot" not "reset --hard"
+      i18n CI: stop allowing non-ASCII source messages in po/git.pot
+      po/git.pot: don't check in result of "make pot"
+      Makefile: add "po-init" rule to initialize po/XX.po
+      l10n: Document the new l10n workflow
+      common-main.c: move non-trace2 exit() behavior out of trace2.c
+      usage.c: add a non-fatal bug() function to go with BUG()
+      parse-options.c: use new bug() API for optbug()
+      parse-options.c: use optbug() instead of BUG() "opts" check
+      receive-pack: use bug() and BUG_if_bug()
+      cache-tree.c: use bug() and BUG_if_bug()
+      run-command API: rename "env_array" to "env"
+      run-command API users: use "env" not "env_array" in comments & names
+      ls-tree: test for the regression in 9c4d58ff2c3
+      run-command: add an "ungroup" option to run_process_parallel()
+      remote.c: remove braces from one-statement "for"-loops
+      remote.c: don't dereference NULL in freeing loop
+      hook API: fix v2.36.0 regression: hooks should be connected to a TTY
+
+
+Version v2.36.6; changes since v2.36.5:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (7):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (18):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+      Git 2.36.6
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.36.5; changes since v2.36.4:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (7):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+      Git 2.35.7
+      Git 2.36.5
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.36.4; changes since v2.36.3:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (7):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+      Git 2.35.6
+      Git 2.36.4
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.36.3; changes since v2.36.2:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (26):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t3207: prepare for changing protocol.file.allow
+      t5516: prepare for changing protocol.file.allow
+      t5537: prepare for changing protocol.file.allow
+      t7814: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+      Git 2.34.5
+      Git 2.35.5
+      Git 2.36.3
+
+
+Version v2.36.2; changes since v2.36.1:
+---------------------------------------
+
+Alex Henrie (1):
+      rebase: use correct base for --keep-base when a branch is given
+
+Carlo Marcelo Arenas Belón (8):
+      ci: make failure to find perforce more user friendly
+      ci: avoid brew for installing perforce
+      ci: reintroduce prevention from perforce being quarantined in macOS
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Derrick Stolee (3):
+      midx: use real paths in lookup_multi_pack_index()
+      multi-pack-index: use --object-dir real path
+      cache: use const char * for get_object_directory()
+
+Johannes Schindelin (10):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      dir.c: avoid "exceeds maximum object size" error with GCC v12.x
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+      Git 2.33.4
+      Git 2.34.4
+      Git 2.35.4
+      Git 2.36.2
+
+Junio C Hamano (6):
+      show-branch: -g and --current are incompatible
+      clone: plug a miniscule leak
+      SubmittingPatches: use more stable git.ozlabs.org URL
+      archive: do not let on-disk mode leak to zip archives
+      http.c: clear the 'finished' member once we are done with it
+      Prepare for 2.36.2
+
+Michael J Gruber (1):
+      detect-compiler: make detection independent of locale
+
+Phillip Wood (1):
+      tests: make SANITIZE=address imply TEST_NO_MALLOC_CHECK
+
+René Scharfe (1):
+      commit, sequencer: turn off break_opt for commit summary
+
+Ævar Arnfjörð Bjarmason (5):
+      tests: using custom GIT_EXEC_PATH breaks --valgrind tests
+      log test: skip a failing mkstemp() test under valgrind
+      object-file: fix a unpack_loose_header() regression in 3b6a8db3b03
+      commit-graph.c: don't assume that stat() succeeds
+      ci: use https, not http to download binaries from perforce.com
+
+
+Version v2.36.1; changes since v2.36.0:
+---------------------------------------
+
+Junio C Hamano (4):
+      2.36 gitk/diff-tree --stdin regression fix
+      2.36 show regression fix
+      cocci: drop bogus xstrdup_or_null() rule
+      Git 2.36.1
+
+Orgad Shaneh (1):
+      submodule--helper: fix initialization of warn_if_uninitialized
+
+René Scharfe (3):
+      Revert "name-rev: release unused name strings"
+      2.36 format-patch regression fix
+      2.36 fast-export regression fix
+
+Ævar Arnfjörð Bjarmason (1):
+      CI: select CC based on CC_PACKAGE (again)
+
+
+Version v2.36.0; changes since v2.36.0-rc2:
+-------------------------------------------
+
+Bagas Sanjaya (2):
+      l10n: po-id for 2.36 (round 1)
+      l10n: po-id for 2.36 (round 2)
+
+Carlo Marcelo Arenas Belón (2):
+      config.mak.dev: workaround gcc 12 bug affecting "pedantic" CI job
+      config.mak.dev: alternative workaround to gcc 12 warning in http.c
+
+Daniel Santos (3):
+      l10n: pt_PT: update Portuguese translation
+      l10n: pt_PT: update TEAMS file
+      l10n: pt_PT: update Portuguese translation
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Emir SARI (2):
+      l10n: tr: v2.36.0 round 1
+      l10n: tr: v2.36.0 round 2
+
+Fangyi Zhou (3):
+      l10n: Update zh_CN repo link
+      l10n: zh_CN v2.36.0 round 1
+      l10n: zh_CN v2.36.0 round 2
+
+Jean-Noël Avila (2):
+      l10n: fr: v2.36 round 1
+      l10n: fr: v2.36 round 2
+
+Jiang Xin (2):
+      l10n: git.pot: v2.36.0 round 1 (192 new, 106 removed)
+      l10n: git.pot: v2.36.0 round 2 (4 new, 3 removed)
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (7):
+      Git 2.30.4
+      Revert "Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'"
+      Revert "fetch: increase test coverage of fetches"
+      RelNotes: clarify "bisect run unexecutable" tweak
+      RelNotes: mention safe.directory
+      RelNotes: revert the description on the reverted topics
+      Git 2.36
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5282t0f0u)
+
+Trần Ngọc Quân (1):
+      l10n: vi(5285t): v2.36.0 round 2
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW: v2.36.0 round 2
+
+
+Version v2.36.0-rc2; changes since v2.36.0-rc1:
+-----------------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Jean-Noël Avila (1):
+      i18n: fix some badly formatted i18n strings
+
+Johannes Schindelin (10):
+      GIT-VERSION-GEN: bump to v2.33.1
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+      Git 2.32.1
+      Git 2.33.2
+      Git 2.34.2
+      Git 2.35.2
+
+Junio C Hamano (1):
+      Git 2.36-rc2
+
+
+Version v2.36.0-rc1; changes since v2.36.0-rc0:
+-----------------------------------------------
+
+Adam Dinwoodie (2):
+      configure.ac: fix HAVE_SYNC_FILE_RANGE definition
+      t9902: split test to run on appropriate systems
+
+Carlo Marcelo Arenas Belón (1):
+      git-compat-util: really support openssl as a source of entropy
+
+Fangyi Zhou (1):
+      submodule-helper: fix usage string
+
+Josh Steadmon (1):
+      ls-tree: `-l` should not imply recursive listing
+
+Junio C Hamano (1):
+      Git 2.36-rc1
+
+Martin Ågren (1):
+      git-ls-tree.txt: fix the name of "%(objectsize:padded)"
+
+Todd Zullinger (1):
+      doc: replace "--" with {litdd} in credential-cache/fsmonitor
+
+Victoria Dye (1):
+      contrib/scalar: fix 'all' target in Makefile
+
+Ævar Arnfjörð Bjarmason (3):
+      Documentation/Makefile: fix "make info" regression in dad9cd7d518
+      Documentation: add --batch-command to cat-file synopsis
+      ls-tree doc: document interaction with submodules
+
+
+Version v2.36.0-rc0; changes since v2.35.8:
+-------------------------------------------
+
+Abhradeep Chakraborty (2):
+      amend remaining usage strings according to style guide
+      partial-clone: add a partial-clone test case
+
+Alex Henrie (3):
+      log: fix memory leak if --graph is passed multiple times
+      log: add a --no-graph option
+      switch: mention the --detach option when dying due to lack of a branch
+
+Atharva Raykar (5):
+      submodule--helper: get remote names from any repository
+      submodule--helper: refactor get_submodule_displaypath()
+      submodule--helper: allow setting superprefix for init_submodule()
+      submodule--helper: run update using child process struct
+      submodule: move core cmd_update() logic to C
+
+Bagas Sanjaya (1):
+      fetch-pack: parameterize message containing 'ready' keyword
+
+COGONI Guillaume (3):
+      t/t3903-stash.sh: replace test [-d|-f] with test_path_is_*
+      tests: allow testing if a path is truly a file or a directory
+      tests: make the code more readable
+
+Chen Bojun (1):
+      receive-pack: purge temporary data if no command is ready to run
+
+David Cantrell (1):
+      completion: tab completion of filenames for 'git restore'
+
+Derrick Stolee (45):
+      Documentation: add extensions.worktreeConfig details
+      worktree: create init_worktree_config()
+      config: add repo_config_set_worktree_gently()
+      sparse-checkout: set worktree-config correctly
+      worktree: copy sparse-checkout patterns and config on add
+      config: make git_configset_get_string_tmp() private
+      mailmap: change primary address for Derrick Stolee
+      dir: force untracked cache with core.untrackedCache
+      worktree: combine two translatable messages
+      worktree: extract copy_filtered_worktree_config()
+      worktree: extract copy_sparse_checkout()
+      worktree: extract checkout_worktree()
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      worktree: use 'worktree' over 'working tree'
+      test-read-graph: include extra post-parse info
+      t5318: extract helpers to lib-commit-graph.sh
+      commit-graph: fix ordering bug in generation numbers
+      commit-graph: start parsing generation v2 (again)
+      commit-graph: fix generation number v2 overflow values
+      commit-graph: declare bankruptcy on GDAT chunks
+      index-pack: document and test the --promisor option
+      list-objects-filter-options: create copy helper
+      revision: put object filter into struct rev_info
+      pack-objects: use rev.filter when possible
+      pack-bitmap: drop filter in prepare_bitmap_walk()
+      list-objects: consolidate traverse_commit_list[_filtered]
+      MyFirstObjectWalk: update recommended usage
+      bundle: parse filter capability
+      rev-list: move --filter parsing into revision.c
+      bundle: create filtered bundles
+      bundle: unbundle promisor packs
+      clone: fail gracefully when cloning filtered bundle
+      maintenance: fix synopsis in documentation
+      list-objects-filter: remove CL_ARG__FILTER
+      pack-objects: move revs out of get_object_list()
+      pack-objects: parse --filter directly into revs.filter
+      bundle: move capabilities to end of 'verify'
+      bundle: output hash information in 'verify'
+      t7700: check post-condition in kept-pack test
+      test-lib-functions: remove test_subcommand_inexact
+
+Des Preston (1):
+      worktree: include repair cmd in usage
+
+Elia Pinto (8):
+      test-lib.sh: Use GLIBC_TUNABLES instead of MALLOC_CHECK_ on glibc >= 2.34
+      t6423-merge-rename-directories.sh: use the $(...) construct
+      attr.c: delete duplicate include
+      builtin/gc.c: delete duplicate include
+      builtin/sparse-checkout.c: delete duplicate include
+      builtin/stash.c: delete duplicate include
+      t/helper/test-run-command.c: delete duplicate include
+      attr.h: remove duplicate struct definition
+
+Elijah Newren (32):
+      t1011: add testcase demonstrating accidental loss of user modifications
+      unpack-trees: fix accidental loss of user changes
+      repo_read_index: clear SKIP_WORKTREE bit from files present in worktree
+      Update documentation related to sparsity and the skip-worktree bit
+      Accelerate clear_skip_worktree_from_present_files() by caching
+      merge-ort: avoid assuming all renames detected
+      merge-ort: fix memory leak in merge_ort_internal()
+      merge: fix memory leaks in cmd_merge()
+      sparse-checkout: fix a couple minor memory leaks
+      repo-settings: fix checking for fetch.negotiationAlgorithm=default
+      repo-settings: fix error handling for unknown values
+      repo-settings: rename the traditional default fetch.negotiationAlgorithm
+      show, log: provide a --remerge-diff capability
+      log: clean unneeded objects during `log --remerge-diff`
+      ll-merge: make callers responsible for showing warnings
+      merge-ort: capture and print ll-merge warnings in our preferred fashion
+      merge-ort: mark a few more conflict messages as omittable
+      merge-ort: format messages slightly different for use in headers
+      diff: add ability to insert additional headers for paths
+      show, log: include conflict/warning messages in --remerge-diff headers
+      merge-ort: mark conflict/warning messages from inner merges as omittable
+      diff-merges: avoid history simplifications when diffing merges
+      merge-ort: make informational messages from recursive merges clearer
+      sparse-checkout: correct reapply's handling of options
+      sparse-checkout: correctly set non-cone mode when expected
+      sparse-checkout: pay attention to prefix for {set, add}
+      sparse-checkout: error or warn when given individual files
+      sparse-checkout: reject arguments in cone-mode that look like patterns
+      merge-ort: fix small memory leak in detect_and_process_renames()
+      merge-ort: fix small memory leak in unique_path()
+      merge-ort: exclude messages from inner merges by default
+      repo_read_index: add config to expect files outside sparse patterns
+
+Emily Shaffer (14):
+      hook: add 'run' subcommand
+      gc: use hook library for pre-auto-gc hook
+      am: convert {pre,post}-applypatch to use hook.h
+      rebase: convert pre-rebase to use hook.h
+      am: convert applypatch-msg to use hook.h
+      merge: convert post-merge to use hook.h
+      hooks: convert non-worktree 'post-checkout' hook to hook library
+      hooks: convert worktree 'post-checkout' hook to hook library
+      send-email: use 'git hook run' for 'sendemail-validate'
+      git-p4: use 'git hook' to run hooks
+      commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
+      read-cache: convert post-index-change to use hook.h
+      receive-pack: convert push-to-checkout hook to hook.h
+      run-command: remove old run_hook_{le,ve}() hook API
+
+Fabian Stelzer (2):
+      gpg-interface: trim CR from ssh-keygen
+      gpg-interface/gpgsm: fix for v2.3
+
+Glen Choo (39):
+      fetch: use goto cleanup in cmd_fetch()
+      fetch: skip tasks related to fetching objects
+      fetch --negotiate-only: do not update submodules
+      branch: move --set-upstream-to behavior to dwim_and_setup_tracking()
+      branch: make create_branch() always create a branch
+      branch: add a dry_run parameter to create_branch()
+      builtin/branch: consolidate action-picking logic in cmd_branch()
+      branch: add --recurse-submodules option for branch creation
+      branch.c: use 'goto cleanup' in setup_tracking() to fix memory leaks
+      stash: strip "refs/heads/" with skip_prefix
+      checkout, clone: die if tree cannot be parsed
+      submodule--helper: remove update-module-mode
+      submodule--helper: reorganize code for sh to C conversion
+      submodule--helper run-update-procedure: remove --suboid
+      submodule--helper run-update-procedure: learn --remote
+      submodule--helper update-clone: learn --init
+      submodule--helper: remove ensure-core-worktree
+      submodule update: add tests for --filter
+      submodule--helper update-clone: check for --filter and --init
+      t5526: introduce test helper to assert on fetches
+      t5526: stop asserting on stderr literally
+      t5526: create superproject commits with test helper
+      submodule: make static functions read submodules from commits
+      submodule: inline submodule_commits() into caller
+      submodule: store new submodule commits oid_array in a struct
+      submodule: extract get_fetch_task()
+      submodule: move logic into fetch_task_create()
+      submodule update: use die_message()
+      submodule--helper: teach update_data more options
+      submodule--helper: reduce logic in run_update_procedure()
+      submodule--helper: remove forward declaration
+      fetch: fetch unpopulated, changed submodules
+      submodule: fix latent check_has_commit() bug
+      branch: support more tracking modes when recursing
+      branch: give submodule updating advice before exit
+      branch --set-upstream-to: be consistent when advising
+      branch: remove negative exit code
+      branch: rework comments for future developers
+      branch.c: simplify advice-and-die sequence
+
+Greg Hurrell (2):
+      Documentation/config/pgp.txt: replace stray <TAB> character with <SPC>
+      Documentation/config/pgp.txt: add missing apostrophe
+
+Han-Wen Nienhuys (27):
+      reftable: fix OOB stack write in print functions
+      reftable: fix resource leak in block.c error path
+      reftable: fix resource leak blocksource.c
+      reftable: check reftable_stack_auto_compact() return value
+      reftable: ignore remove() return value in stack_test.c
+      reftable: fix resource warning
+      reftable: all xxx_free() functions accept NULL arguments
+      reftable: order unittests by complexity
+      reftable: drop stray printf in readwrite_test
+      reftable: handle null refnames in reftable_ref_record_equal
+      reftable: make reftable-record.h function signatures const correct
+      reftable: implement record equality generically
+      reftable: remove outdated file reftable.c
+      reftable: make reftable_record a tagged union
+      reftable: add print functions to the record types
+      t1405: explictly delete reflogs for reftable
+      t1405: mark test that checks existence as REFFILES
+      t5312: prepare for reftable
+      t1410: use test-tool ref-store to inspect reflogs
+      t1410: mark bufsize boundary test as REFFILES
+      Documentation: object_id_len goes up to 31
+      reftable: reject 0 object_id_len
+      reftable: add a test that verifies that writing empty keys fails
+      reftable: avoid writing empty keys at the block layer
+      reftable: ensure that obj_id_len is >= 2 on writing
+      reftable: add test for length of disambiguating prefix
+      reftable: rename writer_stats to reftable_writer_stats
+
+Jacob Keller (1):
+      name-rev: use generation numbers if available
+
+Jason Yundt (2):
+      comment: fix typo
+      gitweb: remove invalid http-equiv="content-type"
+
+Jayati Shrivastava (1):
+      sequencer: use reverse_commit_list() helper
+
+Jaydeep Das (1):
+      t/t0015-hash.sh: remove unnecessary '\' at line end
+
+Jaydeep P Das (1):
+      userdiff: add builtin diff driver for kotlin language.
+
+Jean-Noël Avila (4):
+      i18n: factorize more 'incompatible options' messages
+      i18n: factorize "invalid value" messages
+      i18n: remove from i18n strings that do not hold translatable parts
+      i18n: fix some misformated placeholders in command synopsis
+
+Jeff Hostetler (30):
+      fsmonitor: enhance existing comments, clarify trivial response handling
+      fsmonitor-ipc: create client routines for git-fsmonitor--daemon
+      fsmonitor: config settings are repository-specific
+      fsmonitor: use IPC to query the builtin FSMonitor daemon
+      fsmonitor: document builtin fsmonitor
+      fsmonitor--daemon: add a built-in fsmonitor daemon
+      fsmonitor--daemon: implement 'stop' and 'status' commands
+      compat/fsmonitor/fsm-listen-win32: stub in backend for Windows
+      compat/fsmonitor/fsm-listen-darwin: stub in backend for Darwin
+      fsmonitor--daemon: implement 'run' command
+      fsmonitor--daemon: implement 'start' command
+      fsmonitor--daemon: add pathname classification
+      fsmonitor--daemon: define token-ids
+      fsmonitor--daemon: create token-based changed path cache
+      compat/fsmonitor/fsm-listen-win32: implement FSMonitor backend on Windows
+      compat/fsmonitor/fsm-listen-darwin: add MacOS header files for FSEvent
+      compat/fsmonitor/fsm-listen-darwin: implement FSEvent listener on MacOS
+      fsmonitor--daemon: implement handle_client callback
+      help: include fsmonitor--daemon feature flag in version info
+      t/helper/fsmonitor-client: create IPC client to talk to FSMonitor Daemon
+      t7527: create test for fsmonitor--daemon
+      t/perf: avoid copying builtin fsmonitor files into test repo
+      t/helper/test-chmtime: skip directories on Windows
+      t/perf/p7519: fix coding style
+      t/perf/p7519: speed up test on Windows
+      t/perf/p7519: add fsmonitor--daemon test cases
+      fsmonitor--daemon: periodically truncate list of modified files
+      fsmonitor--daemon: use a cookie file to sync with file system
+      fsmonitor: force update index after large responses
+      t7527: test status with untracked-cache and fsmonitor--daemon
+
+Jerry Zhang (3):
+      git-rev-list: add --exclude-first-parent-only flag
+      patch-id: fix antipatterns in tests
+      patch-id: fix scan_hunk_header on diffs with 1 line of before/after
+
+Jessica Clarke (1):
+      mem-pool: don't assume uintmax_t is aligned enough for all types
+
+Joel Holdsworth (4):
+      git-p4: don't select shell mode using the type of the command argument
+      git-p4: pass command arguments as lists instead of using shell
+      git-p4: don't print shell commands as python lists
+      git-p4: fix instantiation of CalledProcessError
+
+Johannes Schindelin (14):
+      sparse-index: sparse index is disallowed when split index is active
+      t1091: disable split index
+      split-index: it really is incompatible with the sparse index
+      git-sh-setup: remove remnant bits referring to `git-legacy-stash`
+      add: remove support for `git-legacy-stash`
+      stash: remove documentation for `stash.useBuiltin`
+      stash: stop warning about the obsolete `stash.useBuiltin` config setting
+      docs(diff): lose incorrect claim about `diff-files --diff-filter=A`
+      diff.c: move the diff filter bits definitions up a bit
+      diff-filter: be more careful when looking for negative bits
+      scalar: accept -C and -c options before the subcommand
+      checkout/fetch/pull/pack-objects: allow `-h` outside a repository
+      t0012: verify that built-ins handle `-h` even without gitdir
+      cocci: allow padding with `strbuf_addf()`
+
+John Cai (15):
+      receive-pack.c: consolidate find header logic
+      name-rev: deprecate --stdin in favor of --annotate-stdin
+      name-rev.c: use strbuf_getline instead of limited size buffer
+      builtin/reflog.c: use parse-options api for expire, delete subcommands
+      name-rev: replace --stdin with --annotate-stdin in synopsis
+      cat-file: rename cmdmode to transform_mode
+      cat-file: introduce batch_mode enum to replace print_contents
+      cat-file: add remove_timestamp helper
+      cat-file: add --batch-command mode
+      stash: add tests to ensure reflog --rewrite --updatref behavior
+      reflog: libify delete reflog function and helpers
+      stash: call reflog_delete() in reflog.c
+      cat-file: skip expanding default format
+      rebase: use test_commit helper in setup
+      rebase: set REF_HEAD_DETACH in checkout_up_to_date()
+
+Jonathan Tan (6):
+      config: make git_config_include() static
+      config: include file if remote URL matches a glob
+      sparse-checkout: create leading directory
+      clone: support unusual remote ref configurations
+      ls-files: support --recurse-submodules --stage
+      shallow: reset commit grafts when shallow is reset
+
+Josh Steadmon (2):
+      test-lib: unset trace2 parent envvars
+      clone, submodule: pass partial clone filters to submodules
+
+Junio C Hamano (30):
+      compat/qsort_s.c: avoid using potentially unaligned access
+      fetch: help translators by reusing the same message template
+      Start post 2.35 cycle
+      SubmittingPatches: write problem statement in the log in the present tense
+      CodingGuidelines: hint why we value clearly written log messages
+      SubmittingPatches: explain why we care about log messages
+      Name the next one 2.36 to prepare for 2.35.1
+      The first batch
+      The second batch for 2.36
+      glossary: describe "worktree"
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      rerere-train: two fixes to the use of "git show -s"
+      am/apply: warn if we end up reading patches from terminal
+      The ninth batch
+      The tenth batch
+      The eleventh batch
+      The twelfth batch
+      The thirteenth batch
+      The 14th batch
+      reset: show --no-refresh in the short-help
+      The 15th batch
+      The 16th batch
+      The 17th batch
+      CodingGuidelines: give deadline for "for (int i = 0; ..."
+      Git 2.36-rc0
+
+Justin Donnelly (4):
+      git-prompt: rename `upstream` to `upstream_type`
+      git-prompt: make upstream state indicator location consistent
+      git-prompt: make long upstream state indicator consistent
+      git-prompt: put upstream comments together
+
+Lessley Dennington (3):
+      completion: address sparse-checkout issues
+      completion: improve sparse-checkout cone mode directory completion
+      completion: handle unusual characters for sparse-checkout
+
+Liginity Lee (1):
+      fix typo in git-mktree.txt
+
+Marc Strapetz (4):
+      test-lib: introduce API for verifying file mtime
+      t7508: fix bogus mtime verification
+      t7508: add tests capturing racy timestamp handling
+      update-index: refresh should rewrite index in case of racy timestamps
+
+Matheus Felipe (1):
+      config: correct "--type" option in "git config -h" output
+
+Matt Cooper (1):
+      index-pack: clarify the breached limit
+
+Michael J Gruber (2):
+      test-lib: declare local variables as local
+      tests: demonstrate "show --word-diff --color-moved" regression
+
+Neeraj Singh (10):
+      wrapper: make inclusion of Windows csprng header tightly scoped
+      core.fsyncmethod: add writeout-only mode
+      core.fsync: introduce granular fsync control infrastructure
+      core.fsync: add configuration parsing
+      core.fsync: new option to harden the index
+      core.fsync: documentation and user-friendly aggregate options
+      core.fsync: fix incorrect expression for default configuration
+      trace2: add stats for fsync operations
+      core.fsyncmethod: correctly camel-case warning message
+      object-file: pass filename to fsync_or_die
+
+Nihal Jere (1):
+      Documentation: git-read-tree: separate links using commas
+
+Patrick Steinhardt (24):
+      refs: extract packed_refs_delete_refs() to allow control of transaction
+      refs: allow passing flags when beginning transactions
+      refs: allow skipping the reference-transaction hook
+      refs: demonstrate excessive execution of the reference-transaction hook
+      refs: do not execute reference-transaction hook on packing refs
+      refs: skip hooks when deleting uncovered packed refs
+      fetch-pack: use commit-graph when computing cutoff
+      fetch: skip computing output width when not printing anything
+      fetch: increase test coverage of fetches
+      fetch: backfill tags before setting upstream
+      fetch: control lifecycle of FETCH_HEAD in a single place
+      fetch: report errors when backfilling tags fails
+      refs: add interface to iterate over queued transactional updates
+      fetch: make `--atomic` flag cover backfilling of tags
+      fetch: make `--atomic` flag cover pruning of refs
+      upload-pack: look up "want" lines via commit-graph
+      fetch: avoid lookup of commits when not appending to FETCH_HEAD
+      refs: add ability for backends to special-case reading of symbolic refs
+      remote: read symbolic refs via `refs_read_symbolic_ref()`
+      refs/files-backend: optimize reading of symbolic refs
+      t5503: simplify setup of test which exercises failure of backfill
+      repack: refactor to avoid double-negation of update-server-info
+      repack: add config to skip updating server info
+      core.fsync: new option to harden references
+
+Philip Oakley (2):
+      README.md: add CodingGuidelines and a link for Translators
+      doc: check-ignore: code-quote an exclamation mark
+
+Philippe Blain (1):
+      pull --rebase: honor rebase.autostash when fast-forwarding
+
+Phillip Wood (29):
+      t3701: clean up hunk splitting tests
+      builtin add -p: fix hunk splitting
+      rebase: factor out checkout for up to date branch
+      t5403: refactor rebase post-checkout hook tests
+      rebase: pass correct arguments to post-checkout hook
+      rebase: do not remove untracked files on checkout
+      rebase --apply: don't run post-checkout hook if there is an error
+      reset_head(): remove action parameter
+      reset_head(): factor out ref updates
+      reset_head(): make default_reflog_action optional
+      create_autostash(): remove unneeded parameter
+      rebase: cleanup reset_head() calls
+      reset_head(): take struct rebase_head_opts
+      rebase --apply: fix reflog
+      rebase --apply: set ORIG_HEAD correctly
+      rebase -m: don't fork git checkout
+      xdiff: fix a memory leak
+      xdiff: handle allocation failure in patience diff
+      xdiff: refactor a function
+      xdiff: handle allocation failure when merging
+      terminal: always reset terminal when reading without echo
+      terminal: pop signal handler when terminal is restored
+      terminal: set VMIN and VTIME in non-canonical mode
+      add -p: disable stdin buffering when interactive.singlekey is set
+      terminal: use flags for save_term()
+      terminal: don't assume stdin is /dev/tty
+      terminal: work around macos poll() bug
+      terminal: restore settings on SIGTSTP
+      worktree: add -z option for list subcommand
+
+René Scharfe (10):
+      grep: use grep_or_expr() in compile_pattern_or()
+      grep: use grep_not_expr() in compile_pattern_not()
+      apply: use strsets to track symlinks
+      stable-qsort: avoid using potentially unaligned access
+      bisect--helper: report actual bisect_state() argument on error
+      bisect--helper: release strbuf and strvec on run error
+      bisect: document run behavior with exit codes 126 and 127
+      bisect--helper: double-check run command on exit code 126 and 127
+      parse-options: document bracketing of argh
+      grep: fix triggering PCRE2_NO_START_OPTIMIZE workaround
+
+Robert Coup (8):
+      fetch: fix negotiate-only error message
+      fetch-negotiator: add specific noop initializer
+      fetch-pack: add refetch
+      builtin/fetch-pack: add --refetch option
+      fetch: add --refetch option
+      t5615-partial-clone: add test for fetch --refetch
+      fetch: after refetch, encourage auto gc repacking
+      docs: mention --refetch fetch option
+
+SZEDER Gábor (1):
+      reflog: fix 'show' subcommand's argv
+
+Shaoxuan Yuan (4):
+      builtin/diff.c: fix "git-diff" usage string typo
+      t/lib-read-tree-m-3way: modernize style
+      t/lib-read-tree-m-3way: indent with tabs
+      t0001: replace "test [-d|-f]" with test_path_is_* functions
+
+Shubham Mishra (3):
+      t0003: avoid pipes with Git on LHS
+      t0001-t0028: avoid pipes with Git on LHS
+      t0030-t0050: avoid pipes with Git on LHS
+
+Tao Klerks (6):
+      t7519: avoid file to index mtime race for untracked cache
+      t7519: populate untracked cache before test
+      untracked-cache: write index when populating empty untracked cache
+      t/helper/test-chmtime: update mingw to support chmtime on directories
+      t7063: mtime-mangling instead of delays in untracked cache testing
+      tracking branches: add advice to ambiguous refspec error
+
+Taylor Blau (15):
+      grep: extract grep_binexp() from grep_or_expr()
+      grep: use grep_and_expr() in compile_pattern_and()
+      t5326: demonstrate bitmap corruption after permutation
+      midx.c: make changing the preferred pack safe
+      pack-revindex.c: instrument loading on-disk reverse index
+      t5326: drop unnecessary setup
+      t5326: extract `test_rev_exists`
+      t5326: move tests to t/lib-bitmap.sh
+      t/lib-bitmap.sh: parameterize tests over reverse index source
+      midx: read `RIDX` chunk when present
+      pack-bitmap.c: gracefully fallback after opening pack/MIDX
+      midx: prevent writing a .bitmap without any objects
+      CODE_OF_CONDUCT.md: update PLC members list
+      builtin/remote.c: parse options in 'rename'
+      builtin/remote.c: show progress when renaming remote references
+
+Teng Long (6):
+      git-cli.txt: clarify "options first and then args"
+      ls-tree: rename "retval" to "recurse" in "show_tree()"
+      ls-tree: simplify nesting if/else logic in "show_tree()"
+      ls-tree: fix "--name-only" and "--long" combined use bug
+      ls-tree: slightly refactor `show_tree()`
+      ls-tree: support --object-only option for "git-ls-tree"
+
+Thomas Gummerer (1):
+      fetch --prune: exit with error if pruning fails
+
+Thomas Koutcher (1):
+      subtree: force merge commit
+
+Todd Zullinger (2):
+      t/lib-gpg: reload gpg components after updating trustlist
+      t/lib-gpg: kill all gpg components, not just gpg-agent
+
+Victoria Dye (29):
+      reset: fix validation in sparse index test
+      reset: reorder wildcard pathspec conditions
+      clean: integrate with sparse index
+      checkout-index: expand sparse checkout compatibility tests
+      checkout-index: add --ignore-skip-worktree-bits option
+      checkout-index: integrate with sparse index
+      update-index: add tests for sparse-checkout compatibility
+      update-index: integrate with sparse index
+      update-index: reduce scope of index expansion in do_reupdate
+      sparse-index: prevent repo root from becoming sparse
+      status: fix nested sparse directory diff in sparse index
+      read-tree: explicitly disallow prefixes with a leading '/'
+      read-tree: expand sparse checkout test coverage
+      read-tree: integrate with sparse index
+      read-tree: narrow scope of index expansion for '--prefix'
+      read-tree: make two-way merge sparse-aware
+      read-tree: make three-way merge sparse-aware
+      reset: revise index refresh advice
+      reset: introduce --[no-]refresh option to --mixed
+      reset: replace '--quiet' with '--no-refresh' in performance advice
+      reset: suppress '--no-refresh' advice if logging is silenced
+      stash: make internal resets quiet and refresh index
+      t1092: add sparse directory before cone in test repo
+      unpack-trees: increment cache_bottom for sparse directories
+      Revert "unpack-trees: improve performance of next_cache_entry"
+      reset: do not make '--quiet' disable index refresh
+      reset: remove 'reset.quiet' config option
+      reset: remove 'reset.refresh' config option
+      mv: refresh stat info for moved entry
+
+brian m. carlson (6):
+      t0027: add tests for eol without text in .gitattributes
+      docs: correct documentation about eol attribute
+      wrapper: add a helper to generate numbers from a CSPRNG
+      wrapper: use a CSPRNG to generate random file names
+      doc: clarify interaction between 'eol' and text=auto
+      block-sha1: remove use of obsolete x86 assembly
+
+Ævar Arnfjörð Bjarmason (183):
+      cat-file tests: test bad usage
+      cat-file tests: test messaging on bad objects/paths
+      parse-options API: add a usage_msg_optf()
+      cat-file docs: fix SYNOPSIS and "-h" output
+      cat-file: move "usage" variable to cmd_cat_file()
+      cat-file: make --batch-all-objects a CMDMODE
+      cat-file: fix remaining usage bugs
+      cat-file: correct and improve usage information
+      object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY
+      cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters)
+      hook API: add a run_hooks() wrapper
+      hook API: add a run_hooks_l() wrapper
+      git hook run: add an --ignore-missing flag
+      cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output
+      cat-file: s/_/-/ in typo'd usage_msg_optf() message
+      compat: auto-detect if zlib has uncompress2()
+      sequencer: don't use die_errno() on refs_resolve_ref_unsafe() failure
+      refs API: remove "failure_errno" from refs_resolve_ref_unsafe()
+      object-name tests: add tests for ambiguous object blind spots
+      object-name: explicitly handle OBJ_BAD in show_ambiguous_object()
+      object-name: explicitly handle bad tags in show_ambiguous_object()
+      object-name: make ambiguous object output translatable
+      object-name: show date for ambiguous tag objects
+      object-name: iterate ambiguous objects before showing header
+      object-name: re-use "struct strbuf" in show_ambiguous_object()
+      perl Git.pm: don't ignore signalled failure in _cmd_close()
+      completion tests: re-source git-completion.bash in a subshell
+      completion: add a GIT_COMPLETION_SHOW_ALL_COMMANDS
+      leak tests: fix a memory leak in "test-progress" helper
+      progress.c test helper: add missing braces
+      progress.c tests: make start/stop commands on stdin
+      progress.c tests: test some invalid usage
+      progress.h: format and be consistent with progress.c naming
+      progress.c: use dereferenced "progress" variable, not "(*p_progress)"
+      progress.c: refactor stop_progress{,_msg}() to use helpers
+      progress API: unify stop_progress{,_msg}(), fix trace2 bug
+      pack-bitmap-write.c: don't return without stop_progress()
+      t0051: use "skip_all" under !MINGW in single-test file
+      hash-object: fix a trivial leak in --path
+      ls-remote & transport API: release "struct transport_ls_refs_options"
+      grep.h: remove unused "regex_t regexp" from grep_opt
+      log tests: check if grep_config() is called by "log"-like cmds
+      grep tests: create a helper function for "BRE" or "ERE"
+      grep tests: add missing "grep.patternType" config tests
+      built-ins: trust the "prefix" from run_builtin()
+      grep.c: don't pass along NULL callback value
+      grep API: call grep_config() after grep_init()
+      grep.h: make "grep_opt.pattern_type_option" use its enum
+      grep.c: do "if (bool && memchr())" not "if (memchr() && bool)"
+      grep: simplify config parsing and option parsing
+      cache.h: remove always unused show_date_human() declaration
+      date API: create a date.h, split from cache.h
+      date API: provide and use a DATE_MODE_INIT
+      date API: add basic API docs
+      date API: add and use a date_mode_release()
+      diff.[ch]: have diff_free() call clear_pathspec(opts.pathspec)
+      diff.[ch]: have diff_free() free options->parseopts
+      hook tests: test for exact "pre-push" hook input
+      hook tests: use a modern style for "pre-push" tests
+      git-compat-util.h: clarify GCC v.s. C99-specific in comment
+      C99: remove hardcoded-out !HAVE_VARIADIC_MACROS code
+      help doc: add missing "]" to "[-a|--all]"
+      help.c: use puts() instead of printf{,_ln}() for consistency
+      help tests: test "git" and "git help [-a|-g] spacing
+      help.c: split up list_all_cmds_help() function
+      help: note the option name on option incompatibility
+      help: correct usage & behavior of "git help --all"
+      help: error if [-a|-g|-c] and [-i|-m|-w] are combined
+      help: add --no-[external-commands|aliases] for use with --all
+      help: don't print "\n" before single-section output
+      imap-send.c: use designated initializers for "struct imap_server_conf"
+      trace2: use designated initializers for "struct tr2_tgt"
+      trace2: use designated initializers for "struct tr2_dst"
+      object-file: use designated initializers for "struct git_hash_algo"
+      archive-*.c: use designated initializers for "struct archiver"
+      userdiff.c: use designated initializers for "struct userdiff_driver"
+      convert.c: use designated initializers for "struct stream_filter*"
+      refspec.c: use designated initializers for "struct refspec_item"
+      fast-import.c: use designated initializers for "partial" struct assignments
+      object-file.c: split up declaration of unrelated variables
+      object-file API: return "void", not "int" from hash_object_file()
+      object-file API: add a format_object_header() function
+      object-file API: have write_object_file() take "enum object_type"
+      object API: correct "buf" v.s. "map" mismatch in *.c and *.h
+      object API docs: move check_object_signature() docs to cache.h
+      object API users + docs: check <0, not !0 with check_object_signature()
+      object-file API: split up and simplify check_object_signature()
+      object API: rename hash_object_file_literally() to write_*()
+      object-file API: have hash_object_file() take "enum object_type"
+      object-file.c: add a literal version of write_object_file_prepare()
+      object-file API: pass an enum to read_object_with_reference()
+      test-lib: add GIT_SAN_OPTIONS, inherit [AL]SAN_OPTIONS
+      test-lib: correct and assert TEST_DIRECTORY overriding
+      test-lib: make $GIT_BUILD_DIR an absolute path
+      test-lib: add "fast_unwind_on_malloc=0" to LSAN_OPTIONS
+      scalar Makefile: use "The default target of..." pattern
+      Makefiles: add "shared.mak", move ".DELETE_ON_ERROR" to it
+      Makefile: disable GNU make built-in wildcard rules
+      Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES)
+      Makefile: move ".SUFFIXES" rule to shared.mak
+      Makefile: move $(comma), $(empty) and $(space) to shared.mak
+      Makefile: add "$(QUIET)" boilerplate to shared.mak
+      Makefiles: add and use wildcard "mkdir -p" template
+      log tests: fix "abort tests early" regression in ff37a60c369
+      index-pack: fix memory leaks
+      merge-base: free() allocated "struct commit **" list
+      diff.c: free "buf" in diff_words_flush()
+      urlmatch.c: add and use a *_release() function
+      remote-curl.c: free memory in cmd_main()
+      bundle: call strvec_clear() on allocated strvec
+      transport: stop needlessly copying bundle header references
+      submodule--helper: fix trivial leak in module_add()
+      commit-graph: fix memory leak in misused string_list API
+      commit-graph: stop fill_oids_from_packs() progress on error and free()
+      lockfile API users: simplify and don't leak "path"
+      range-diff: plug memory leak in common invocation
+      range-diff: plug memory leak in read_patches()
+      repository.c: free the "path cache" in repo_clear()
+      submodule tests: test for init and update failure output
+      submodule--helper: don't use bitfield indirection for parse_options()
+      gettext API users: don't explicitly cast ngettext()'s "n"
+      string-list API: change "nr" and "alloc" to "size_t"
+      merge: don't run post-hook logic on --no-verify
+      hooks: fix an obscure TOCTOU "did we just run a hook?" race
+      tests: change some 'test $(git) = "x"' to test_cmp
+      tests: use "test_stdout_line_count", not "test $(git [...] | wc -l)"
+      read-tree tests: check "diff-files" exit code on failure
+      diff tests: don't ignore "git diff" exit code
+      diff tests: don't ignore "git diff" exit code in "read" loop
+      apply tests: use "test_must_fail" instead of ad-hoc pattern
+      merge tests: use "test_must_fail" instead of ad-hoc pattern
+      rev-parse tests: don't ignore "git reflog" exit code
+      notes tests: don't ignore "git" exit code
+      diff tests: don't ignore "git rev-list" exit code
+      rev-list tests: don't hide abort() in "test_expect_failure"
+      gettext tests: don't ignore "test-tool regex" exit code
+      apply tests: don't ignore "git ls-files" exit code, drop sub-shell
+      checkout tests: don't ignore "git <cmd>" exit code
+      rev-list simplify tests: don't ignore "git" exit code
+      list-objects: handle NULL function pointers
+      reflog: don't be noisy on empty reflogs
+      builtin/submodule--helper.c: rename option struct to "opt"
+      test-lib-functions: add and use a "test_hook" wrapper
+      hook tests: turn exit code assertions into a loop
+      http tests: don't rely on "hook/post-update.sample"
+      tests: assume the hooks are disabled by default
+      bugreport tests: tighten up "git bugreport -s hooks" test
+      fetch+push tests: use "test_hook" and "test_when_finished" pattern
+      gc + p4 tests: use "test_hook", remove sub-shells
+      tests: change "cat && chmod +x" to use "test_hook"
+      tests: change "mkdir -p && write_script" to use "test_hook"
+      tests: use "test_hook" for misc "mkdir -p" and "chmod" cases
+      diff.c: fix a double-free regression in a18d66cefb
+      refs: use designated initializers for "struct ref_storage_be"
+      refs: use designated initializers for "struct ref_iterator_vtable"
+      misc *.c: use designated initializers for struct assignments
+      packed-backend: remove stub BUG(...) functions
+      refs debug: add a wrapper for "read_symbolic_ref"
+      tests: extend "test_hook" for "rm" and "chmod -x", convert "$HOOK"
+      proc-receive hook tests: use "test_hook" instead of "write_script"
+      http tests: use "test_hook" for "smart" and "dumb" http tests
+      reflog.c: indent argument lists
+      reflog: refactor cmd_reflog() to "if" branches
+      reflog tests: add missing "git reflog exists" tests
+      reflog: move "usage" variables and use macros
+      git reflog [expire|delete]: make -h output consistent with SYNOPSIS
+      reflog exists: use parse_options() API
+      Makefile: use ' ', not non-existing $(wspfx_SQ)
+      ls-tree tests: add tests for --name-status
+      ls-tree: remove commented-out code
+      ls-tree: add missing braces to "else" arms
+      ls-tree: use "enum object_type", not {blob,tree,commit}_type
+      ls-tree: use "size_t", not "int" for "struct strbuf"'s "len"
+      ls-tree: introduce struct "show_tree_data"
+      ls-tree: introduce "--format" option
+      ls-tree: detect and error on --name-only --name-status
+      ls-tree: split up "fast path" callbacks
+      hooks: fix "invoked hook" regression in a8cc5943338
+      reflog: convert to parse_options() API
+      reflog [show]: display sensible -h output
+      test-lib: have --immediate emit valid TAP on failure
+      pack-objects: lazily set up "struct rev_info", don't leak
+      reftable: make assignments portable to AIX xlc v12.01
+
+
+Version v2.35.8; changes since v2.35.7:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (7):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      Makefile: force -O0 when compiling with SANITIZE=leak
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (17):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+      Git 2.35.8
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.35.7; changes since v2.35.6:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (6):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+      Git 2.35.7
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.35.6; changes since v2.35.5:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (6):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+      Git 2.35.6
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.35.5; changes since v2.35.4:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (21):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+      Git 2.34.5
+      Git 2.35.5
+
+
+Version v2.35.4; changes since v2.35.3:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (6):
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+      Git 2.33.4
+      Git 2.34.4
+      Git 2.35.4
+
+
+Version v2.35.3; changes since v2.35.2:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.35.2; changes since v2.35.1:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Johannes Schindelin (10):
+      GIT-VERSION-GEN: bump to v2.33.1
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+      Git 2.32.1
+      Git 2.33.2
+      Git 2.34.2
+      Git 2.35.2
+
+
+Version v2.35.1; changes since v2.35.0:
+---------------------------------------
+
+Elijah Newren (1):
+      sequencer, stash: fix running from worktree subdir
+
+Junio C Hamano (1):
+      Git 2.35.1
+
+
+Version v2.35.0; changes since v2.35.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5195t)
+
+Bagas Sanjaya (2):
+      l10n: po-id for 2.35 (round 1)
+      l10n: po-id for 2.35 (round 2)
+
+Emir SARI (1):
+      l10n: tr: v2.35.0 round 1
+
+Fangyi Zhou (1):
+      l10n: zh_CN: v2.35.0 round 1
+
+Jean-Noël Avila (1):
+      l10n: fr: v2.35.0 round 1
+
+Jiang Xin (3):
+      l10n: git.pot: v2.35.0 round 1 (126 new, 142 removed)
+      l10n: git.pot: v2.35.0 round 2 (1 new, 1 removed)
+      l10n: batch update to fix typo in branch.c
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      checkout: avoid BUG() when hitting a broken repository
+      Git 2.35
+
+Jürgen Krämer (1):
+      l10n: de.po: Fix translation for "'%s' is aliased to '%s'"
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation
+
+Peter Krefting (2):
+      l10n: sv.po: Fix typo
+      l10n: sv.po: Update Swedish translation (5196t0f0u)
+
+René Scharfe (1):
+      branch,checkout: fix --track documentation
+
+Trần Ngọc Quân (1):
+      l10n: vi(5195t): Update for v2.35.0 round 2
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW: v2.35.0 round 1 (1 fuzzy)
+      l10n: zh_TW: v2.35.0 round 2 (0 untranslated)
+
+
+Version v2.35.0-rc2; changes since v2.35.0-rc1:
+-----------------------------------------------
+
+David Aguilar (1):
+      build: centos/RHEL 7 ships with an older gcc and zlib
+
+Johannes Schindelin (1):
+      getcwd(mingw): handle the case when there is no cwd
+
+Josh Steadmon (1):
+      branch,checkout: fix --track usage strings
+
+Junio C Hamano (2):
+      Makefile: FreeBSD cannot do C99-or-below build
+      Git 2.35-rc2
+
+
+Version v2.35.0-rc1; changes since v2.35.0-rc0:
+-----------------------------------------------
+
+Bagas Sanjaya (1):
+      branch: missing space fix at line 313
+
+Fabian Stelzer (1):
+      t/gpg: simplify test for unknown key
+
+Han-Wen Nienhuys (1):
+      reftable: avoid initializing structs from structs
+
+Johannes Sixt (1):
+      t1450-fsck: exec-bit is not needed to make loose object writable
+
+Junio C Hamano (3):
+      packfile: fix off-by-one error in decoding logic
+      Last minute fixes before -rc1
+      Git 2.35-rc1
+
+Martin Ågren (1):
+      cache.h: drop duplicate `ensure_full_index()` declaration
+
+Matthias Aßhauer (1):
+      lazyload: use correct calling conventions
+
+Patrick Steinhardt (1):
+      fetch: fix deadlock when cleaning up lockfiles in async signals
+
+Randall S. Becker (1):
+      build: NonStop ships with an older zlib
+
+Taylor Blau (1):
+      fmt-merge-msg: prevent use-after-free with signed tags
+
+Ævar Arnfjörð Bjarmason (2):
+      refs API: use "failure_errno", not "errno"
+      reftable tests: avoid "int" overflow, use "uint64_t"
+
+
+Version v2.35.0-rc0; changes since v2.34.8:
+-------------------------------------------
+
+Alex Henrie (1):
+      pull: don't say that merge is "the default strategy"
+
+Anders Kaseorg (8):
+      fetch: lowercase error messages
+      receive-pack: lowercase error messages
+      branch: lowercase error messages
+      worktree: simplify find_shared_symref() memory ownership model
+      fetch: protect branches checked out in all worktrees
+      receive-pack: clean dead code from update_worktree()
+      receive-pack: protect current branch for bare repository worktree
+      branch: protect branches checked out in all worktrees
+
+Calvin Wan (1):
+      protocol-v2.txt: align delim-pkt spec with usage
+
+Carlo Marcelo Arenas Belón (4):
+      test-genzeros: allow more than 2G zeros in Windows
+      test-lib: add prerequisite for 64-bit platforms
+      mingw: avoid fallback for {local,gm}time_r()
+      add -p: avoid use of undefined $key when ReadKey -> EOF
+
+Derrick Stolee (18):
+      test-lib.sh: set GIT_TRACE2_EVENT_NESTING
+      t/t*: remove custom GIT_TRACE2_EVENT_NESTING
+      scalar: 'register' sets recommended config and starts maintenance
+      scalar: 'unregister' stops background maintenance
+      scalar: implement 'scalar list'
+      scalar: implement the `run` command
+      t1092: add deeper changes during a checkout
+      unpack-trees: use traverse_path instead of name
+      repack: respect kept objects with '--write-midx -b'
+      repack: make '--quiet' disable progress
+      fetch/pull: use the sparse index
+      ls-files: add --sparse option
+      t1092: replace 'read-cache --table' with 'ls-files --sparse'
+      t1091/t3705: remove 'test-tool read-cache --table'
+      test-read-cache: remove --table, --expand options
+      sparse-checkout: fix segfault on malformed patterns
+      sparse-checkout: fix OOM error with mixed patterns
+      sparse-checkout: refuse to add to bad patterns
+
+Eli Schwartz (3):
+      pretty.c: rework describe options parsing for better extensibility
+      pretty: add tag option to %(describe)
+      pretty: add abbrev option to %(describe)
+
+Elijah Newren (28):
+      sequencer: avoid adding exec commands for non-commit creating commands
+      update documentation for new zdiff3 conflictStyle
+      name-rev: prefer shorter names over following merges
+      sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec'
+      t2501: add various tests for removing the current working directory
+      setup: introduce startup_info->original_cwd
+      unpack-trees: refuse to remove startup_info->original_cwd
+      unpack-trees: add special cwd handling
+      symlinks: do not include startup_info->original_cwd in dir removal
+      clean: do not attempt to remove startup_info->original_cwd
+      rebase: do not attempt to remove startup_info->original_cwd
+      stash: do not attempt to remove startup_info->original_cwd
+      dir: avoid incidentally removing the original_cwd in remove_path()
+      dir: new flag to remove_dir_recurse() to spare the original_cwd
+      t2501: simplify the tests since we can now assume desired behavior
+      sparse-checkout: pass use_stdin as a parameter instead of as a global
+      sparse-checkout: break apart functions for sparse_checkout_(set|add)
+      sparse-checkout: add sanity-checks on initial sparsity state
+      sparse-checkout: disallow --no-stdin as an argument to set
+      sparse-checkout: split out code for tweaking settings config
+      sparse-checkout: enable `set` to initialize sparse-checkout mode
+      sparse-checkout: enable reapply to take --[no-]{cone,sparse-index}
+      git-sparse-checkout.txt: update to document init/set/reapply changes
+      Documentation: clarify/correct a few sparsity related statements
+      clone: avoid using deprecated `sparse-checkout init`
+      sparse-checkout: remove stray trailing space
+      merge-ort: fix bug with renormalization and rename/delete conflicts
+      stash: do not return before restoring untracked files
+
+Enzo Matsumiya (1):
+      pager: fix crash when pager program doesn't exist
+
+Eric Sunshine (38):
+      worktree: stop being overly intimate with run_command() internals
+      CodingGuidelines: document which output goes to stdout vs. stderr
+      worktree: send "chatty" messages to stderr
+      git-worktree.txt: add missing `-v` to synopsis for `worktree list`
+      t/lib-pager: use sane_unset() to avoid breaking &&-chain
+      t1010: fix unnoticed failure on Windows
+      t1020: avoid aborting entire test script when one test fails
+      t4202: clarify intent by creating expected content less cleverly
+      t5516: drop unnecessary subshell and command invocation
+      t6300: make `%(raw:size) --shell` test more robust
+      t9107: use shell parameter expansion to avoid breaking &&-chain
+      tests: simplify construction of large blocks of text
+      tests: use test_write_lines() to generate line-oriented output
+      tests: fix broken &&-chains in compound statements
+      tests: fix broken &&-chains in `$(...)` command substitutions
+      tests: fix broken &&-chains in `{...}` groups
+      tests: apply modern idiom for signaling test failure
+      tests: apply modern idiom for exiting loop upon failure
+      tests: simplify by dropping unnecessary `for` loops
+      t0000-t3999: detect and signal failure within loop
+      t4000-t4999: detect and signal failure within loop
+      t5000-t5999: detect and signal failure within loop
+      t6000-t9999: detect and signal failure within loop
+      t/chainlint/*.test: don't use invalid shell syntax
+      t/chainlint/*.test: fix invalid test cases due to mixing quote types
+      t/chainlint/*.test: generalize self-test commentary
+      t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge
+      t/Makefile: optimize chainlint self-test
+      chainlint.sed: improve ?!AMP?! placement accuracy
+      chainlint.sed: improve ?!SEMI?! placement accuracy
+      chainlint.sed: tolerate harmless ";" at end of last line in block
+      chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?!
+      chainlint.sed: drop subshell-closing ">" annotation
+      chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like
+      chainlint.sed: don't mistake `<< word` in string as here-doc operator
+      chainlint.sed: stop throwing away here-doc tags
+      chainlint.sed: swallow comments consistently
+      chainlint.sed: stop splitting "(..." into separate lines "(" and "..."
+
+Eric Wong (2):
+      tests: disable fsync everywhere
+      cbtree: remove broken and unused cb_unlink
+
+Fabian Stelzer (14):
+      ssh signing: support non ssh-* keytypes
+      ssh signing: make sign/amend test more resilient
+      test-lib: show missing prereq summary
+      test-lib: introduce required prereq for test runs
+      test-lib: make BAIL_OUT() work in tests and prereq
+      t/fmt-merge-msg: do not redirect stderr
+      t/fmt-merge-msg: make gpgssh tests more specific
+      ssh signing: use sigc struct to pass payload
+      ssh signing: add key lifetime test prereqs
+      ssh signing: make verify-commit consider key lifetime
+      ssh signing: make git log verify key lifetime
+      ssh signing: make verify-tag consider key lifetime
+      ssh signing: make fmt-merge-msg consider key lifetime
+      ssh signing: verify ssh-keygen in test prereq
+
+Glen Choo (5):
+      t5516: add test case for pushing remote refspecs
+      remote: move static variables into per-repository struct
+      remote: use remote_state parameter internally
+      remote: remove the_repository->remote_state from static methods
+      remote: die if branch is not found in repository
+
+Greg Hurrell (1):
+      docs: add missing colon to Documentation/config/gpg.txt
+
+Han-Wen Nienhuys (48):
+      hash.h: provide constants for the hash IDs
+      reftable: add LICENSE
+      reftable: add error related functionality
+      reftable: utility functions
+      reftable: add blocksource, an abstraction for random access reads
+      reftable: (de)serialization for the polymorphic record type.
+      Provide zlib's uncompress2 from compat/zlib-compat.c
+      reftable: reading/writing blocks
+      reftable: a generic binary tree implementation
+      reftable: write reftable files
+      reftable: generic interface to tables
+      reftable: read reftable files
+      reftable: reftable file level tests
+      reftable: add a heap-based priority queue for reftable records
+      reftable: add merged table view
+      reftable: implement refname validation
+      reftable: implement stack, a mutable database of reftable files.
+      reftable: add dump utility
+      Add "test-tool dump-reftable" command.
+      branch tests: test for errno propagating on failing read
+      refs API: make refs_read_raw_ref() not set errno
+      refs API: make parse_loose_ref_contents() not set errno
+      refs: drop force_create argument of create_reflog API
+      t1404: mark directory/file conflict tests with REFFILES
+      show-branch: show reflog message
+      test-ref-store: don't add newline to reflog message
+      t1405: check for_each_reflog_ent_reverse() more thoroughly
+      test-ref-store: tweaks to for-each-reflog-ent format
+      refs/debug: trim trailing LF from reflog message
+      test-ref-store: remove force-create argument for create-reflog
+      test-ref-store: parse symbolic flag constants
+      test-ref-store: plug memory leak in cmd_delete_refs
+      refs: update comment.
+      refs: introduce REF_SKIP_OID_VERIFICATION flag
+      refs: introduce REF_SKIP_REFNAME_VERIFICATION flag
+      t1430: remove refs using test-tool
+      t1430: create valid symrefs using test-helper
+      test-ref-store: print hash algorithm
+      t5540: require REFFILES
+      t5550: require REFFILES
+      t7004: create separate tags for different tests
+      t7004: use "test-tool ref-store" for reflog inspection
+      refs: pass gitdir to packed_ref_store_create
+      refs: print error message in debug output
+      refs: centralize initialization of the base ref_store.
+      reftable: fix typo in header
+      reftable: signal overflow
+      reftable: support preset file mode for writing
+
+Hans Krentel (hakre) (1):
+      ci(check-whitespace): update stale file top comments
+
+Ivan Frade (2):
+      fetch-pack: redact packfile urls in traces
+      http-fetch: redact url on die() message
+
+Jacob Vosmaer (1):
+      upload-pack.c: increase output buffer size
+
+James Limbouris (1):
+      subtree: fix argument handling in check_parents
+
+Jean-Noël Avila (20):
+      doc: fix git credential synopsis
+      doc: split placeholders as individual tokens
+      doc: express grammar placeholders between angle brackets
+      doc: use only hyphens as word separators in placeholders
+      doc: git-ls-files: express options as optional alternatives
+      doc: use three dots for indicating repetition instead of star
+      doc: uniformize <URL> placeholders' case
+      doc: git-http-push: describe the refs as pattern pairs
+      doc: git-init: clarify file modes in octal.
+      i18n: refactor "foo and bar are mutually exclusive"
+      i18n: refactor "%s, %s and %s are mutually exclusive"
+      i18n: turn "options are incompatible" into "cannot be used together"
+      i18n: standardize "cannot open" and "cannot read"
+      i18n: tag.c factorize i18n strings
+      i18n: factorize "--foo requires --bar" and the like
+      i18n: factorize "no directory given for --foo"
+      i18n: refactor "unrecognized %(foo) argument" strings
+      i18n: factorize "--foo outside a repository"
+      i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"
+      i18n: turn even more messages into "cannot be used together" ones
+
+Jeff King (18):
+      urlmatch: add underscore to URL_HOST_CHARS
+      strbuf_addftime(): handle "%s" manually
+      test_bitmap_hashes(): handle repository without bitmaps
+      generate-cmdlist.sh: do not shell out to "sed"
+      git-jump: pass "merge" arguments to ls-files
+      t5319: corrupt more bytes of the midx checksum
+      refs: work around gcc-11 warning with REF_HAVE_NEW
+      fetch-pack: ignore SIGPIPE when writing to index-pack
+      run-command: unify signal and regular logic for wait_or_whine()
+      t7006: clean up SIGPIPE handling in trace2 tests
+      t7006: simplify exit-code checks for sigpipe tests
+      log: handle --decorate-refs with userformat "%d"
+      log: load decorations with --simplify-by-decoration
+      xdiff: drop CMP_ENV macro from xhistogram
+      xdiff: drop xpparam_t parameter from histogram cmp_recs()
+      xdiff: drop unused flags parameter from recs_match
+      config.mak.dev: specify -std=gnu99 for gcc/clang
+      doc/config: mark ssh allowedSigners example as literal
+
+Jerry Zhang (3):
+      git-apply: add --quiet flag
+      git-apply: add --allow-empty flag
+      git-apply: skip threeway in add / rename cases
+
+Joel Holdsworth (9):
+      git-p4: use with statements to close files after use in patchRCSKeywords
+      git-p4: pre-compile RCS keyword regexes
+      git-p4: add raw option to read_pipelines
+      git-p4: open temporary patch file for write only
+      git-p4: resolve RCS keywords in bytes not utf-8
+      git-p4: print size values in appropriate units
+      git-p4: show progress as an integer
+      git-p4: remove "debug" verb
+      git-p4: remove "rollback" verb
+
+Johannes Altmanninger (1):
+      t/perf: do not run tests in user's $SHELL
+
+Johannes Schindelin (14):
+      test-tool genzeros: generate large amounts of data more efficiently
+      git-compat-util: introduce more size_t helpers
+      ci: disallow directional formatting
+      scalar: add a README with a roadmap
+      scalar: create a rudimentary executable
+      scalar: start documenting the command
+      scalar: create test infrastructure
+      scalar: let 'unregister' handle a deleted enlistment directory gracefully
+      scalar: implement the `clone` subcommand
+      scalar: teach 'clone' to support the --single-branch option
+      scalar: allow reconfiguring an existing enlistment
+      scalar: teach 'reconfigure' to optionally handle all registered enlistments
+      scalar: implement the `version` command
+      tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed
+
+Johannes Sixt (2):
+      generate-cmdlist.sh: spawn fewer processes
+      generate-cmdlist.sh: replace for loop by printf's auto-repeat feature
+
+John Cai (2):
+      docs: fix places that break compilation in MyFirstObjectWalk
+      docs: add headers in MyFirstObjectWalk
+
+Jonathan Tan (2):
+      packfile: avoid overflowing shift during decode
+      Doc: no midx and partial clone relation
+
+Josh Steadmon (5):
+      trace2: disable tr2_dst before warning on write errors
+      branch: accept multiple upstream branches for tracking
+      branch: add flags and config to inherit tracking
+      config: require lowercase for branch.*.autosetupmerge
+      l10n: README: call more attention to plural strings
+
+Junio C Hamano (22):
+      for-each-ref: delay parsing of --sort=<atom> options
+      MyFirstContribution: teach to use "format-patch --base=auto"
+      unsetenv(3) returns int, not void
+      init doc: --shared=0xxx does not give umask but perm bits
+      0th batch for early fixes
+      A bit more regression fixes
+      refs: document callback for reflog-ent iterators
+      The first batch to start the current cycle
+      revision: use C99 declaration of variable in for() loop
+      grep: clarify what `grep.patternType=default` means
+      flex-array: simplify compiler-specific workaround
+      The second batch
+      The third batch
+      t4204 is not sanitizer clean at all
+      format-patch: mark rev_info with UNLEAK
+      merge: allow to pretend a merge is made into a different branch
+      The fourth batch
+      The fifth batch
+      SubmittingPatchs: clarify choice of base and testing
+      The sixth batch
+      The seventh batch
+      Git 2.35-rc0
+
+Kashav Madan (1):
+      help: make auto-correction prompt more consistent
+
+Lessley Dennington (7):
+      git: ensure correct git directory setup with -h
+      commit-graph: return if there is no git directory
+      test-read-cache: set up repo after git directory
+      repo-settings: prepare_repo_settings only in git repos
+      diff: replace --staged with --cached in t1092 tests
+      diff: enable and test the sparse index
+      blame: enable and test the sparse index
+
+Lénaïc Huard (1):
+      grep: align default colors with GNU grep ones
+
+Marc Strapetz (1):
+      t/README: fix typo
+
+Matt Cooper (4):
+      t1051: introduce a smudge filter test for extremely large files
+      odb: teach read_blob_entry to use size_t
+      odb: guard against data loss checking out a huge file
+      clean/smudge: allow clean filters to process extremely large files
+
+Matthew John Cheetham (1):
+      scalar: implement the `delete` command
+
+Mugdha Pattnaik (1):
+      submodule: absorb git dir instead of dying on deinit
+
+Neeraj Singh (2):
+      tmp-objdir: new API for creating temporary writable databases
+      tmp-objdir: disable ref updates when replacing the primary odb
+
+Philip Oakley (3):
+      repack.c: LLP64 compatibility, upcast unity for left shift
+      diffcore-delta.c: LLP64 compatibility, upcast unity for left shift
+      object-file.c: LLP64 compatibility, upcast unity for left shift
+
+Phillip Wood (19):
+      diff histogram: intern strings
+      xdiff: avoid unnecessary memory allocations
+      xdiff: simplify comparison
+      xdiff: implement a zealous diff3, or "zdiff3"
+      diff --color-moved: add perf tests
+      diff --color-moved: clear all flags on blocks that are too short
+      diff --color-moved: factor out function
+      diff --color-moved: rewind when discarding pmb
+      diff --color-moved=zebra: fix alternate coloring
+      diff --color-moved: avoid false short line matches and bad zebra coloring
+      diff: simplify allow-indentation-change delta calculation
+      diff --color-moved-ws=allow-indentation-change: simplify and optimize
+      diff --color-moved: call comparison function directly
+      diff --color-moved: unify moved block growth functions
+      diff --color-moved: shrink potential moved blocks as we go
+      diff --color-moved: stop clearing potential moved blocks
+      diff --color-moved-ws=allow-indentation-change: improve hash lookups
+      diff: use designated initializers for emitted_diff_symbol
+      diff --color-moved: intern strings
+
+René Scharfe (6):
+      mergesort: avoid left shift overflow
+      log: let --invert-grep only invert --grep
+      t4202: fix patternType setting in --invert-grep test
+      daemon: plug memory leak on overlong path
+      grep/pcre2: use PCRE2_UTF even with ASCII patterns
+      grep/pcre2: factor out literal variable
+
+Robert Estelle (3):
+      color: add missing GIT_COLOR_* white/black constants
+      color: support "default" to restore fg/bg color
+      color: allow colors to be prefixed with "reset"
+
+Robin Jarry (1):
+      receive-pack: ignore SIGPIPE while reporting status to client
+
+Sergey Organov (2):
+      stash: implement '--staged' option for 'push' and 'save'
+      stash: get rid of unused argument in stash_staged()
+
+Taylor Blau (10):
+      midx.c: clean up chunkfile after reading the MIDX
+      midx.c: don't leak MIDX from verify_midx_file
+      t/helper/test-read-midx.c: free MIDX within read_midx_file()
+      builtin/pack-objects.c: don't leak memory via arguments
+      builtin/repack.c: avoid leaking child arguments
+      builtin/multi-pack-index.c: don't leak concatenated options
+      midx.c: write MIDX filenames to strbuf
+      pack-bitmap.c: don't leak type-level bitmaps
+      pack-bitmap.c: more aggressively free in free_bitmap_index()
+      packfile: make `close_pack_revindex()` static
+
+Teng Long (1):
+      midx: fix a formatting issue in "multi-pack-index.txt"
+
+Thiago Perrotta (2):
+      send-email: programmatically generate bash completions
+      send-email docs: add format-patch options
+
+Thomas Weißschuh (1):
+      var: add GIT_DEFAULT_BRANCH variable
+
+Victoria Dye (12):
+      reset: rename is_missing to !is_in_reset_tree
+      reset: preserve skip-worktree bit in mixed reset
+      sparse-index: update command for expand/collapse test
+      test-read-cache.c: prepare_repo_settings after config init
+      sparse-index: avoid unnecessary cache tree clearing
+      sparse-index: add ensure_correct_sparsity function
+      sparse-index: update do_read_index to ensure correct sparsity
+      reset: expand test coverage for sparse checkouts
+      reset: integrate with sparse index
+      reset: make sparse-aware (except --mixed)
+      reset: make --mixed sparse-aware
+      unpack-trees: improve performance of next_cache_entry
+
+William Sprent (1):
+      fast-export: fix surprising behavior with --first-parent
+
+Yoichi Nakayama (1):
+      completion: add human and auto: date format
+
+brian m. carlson (1):
+      git-compat-util: add a test balloon for C99 support
+
+Ævar Arnfjörð Bjarmason (86):
+      refs API: add a version of refs_resolve_ref_unsafe() with "errno"
+      refs API: make refs_rename_ref_available() static
+      reflog tests: add --updateref tests
+      refs/files: remove "name exist?" check in lock_ref_oid_basic()
+      refs API: remove refs_read_ref_full() wrapper
+      refs API: make resolve_gitlink_ref() not set errno
+      refs API: make loose_fill_ref_dir() not set errno
+      refs API: make files_copy_or_rename_ref() et al not set errno
+      refs API: ignore errno in worktree.c's add_head_info()
+      refs API: ignore errno in worktree.c's find_shared_symref()
+      refs tests: ignore ignore errno in test-ref-store helper
+      refs API: make refs_resolve_refdup() not set errno
+      refs API: make refs_ref_exists() not set errno
+      refs API: make resolve_ref_unsafe() not set errno
+      refs API: make expand_ref() & repo_dwim_log() not set errno
+      refs API: don't expose "errno" in run_transaction_hook()
+      refs API: post-migration API renaming [1/2]
+      refs API: post-migration API renaming [2/2]
+      Makefile: move git-SCRIPT-DEFINES adjacent to $(SCRIPT_DEFINES)
+      Makefile: remove $(GIT_VERSION) from $(SCRIPT_DEFINES)
+      Makefile: remove $(NO_CURL) from $(SCRIPT_DEFINES)
+      git-instaweb: unconditionally assume that gitweb is mod_perl capable
+      git-sh-setup: remove unused sane_egrep() function
+      git-sh-setup: remove "sane_grep", it's not needed anymore
+      leak tests: mark a read-tree test as passing SANITIZE=leak
+      leak tests: mark "sort" test as passing SANITIZE=leak
+      leak tests: mark most gettext tests as passing with SANITIZE=leak
+      leak tests: mark some misc tests as passing with SANITIZE=leak
+      leak tests: mark some rev-list tests as passing with SANITIZE=leak
+      leak tests: mark some rev-parse tests as passing with SANITIZE=leak
+      leak tests: mark some update-index tests as passing with SANITIZE=leak
+      leak tests: mark some notes tests as passing with SANITIZE=leak
+      leak tests: mark some apply tests as passing with SANITIZE=leak
+      leak tests: mark some diff tests as passing with SANITIZE=leak
+      leak tests: mark some add tests as passing with SANITIZE=leak
+      leak tests: mark some clone tests as passing with SANITIZE=leak
+      leak tests: mark some status tests as passing with SANITIZE=leak
+      leak tests: mark some config tests as passing with SANITIZE=leak
+      leak tests: mark some fast-import tests as passing with SANITIZE=leak
+      command-list.txt: sort with "LC_ALL=C sort"
+      generate-cmdlist.sh: trivial whitespace change
+      generate-cmdlist.sh: don't call get_categories() from category_list()
+      generate-cmdlist.sh: run "grep | sort", not "sort | grep"
+      generate-cmdlist.sh: stop sorting category lines
+      generate-cmdlist.sh: replace "grep' invocation with a shell version
+      generate-cmdlist.sh: don't parse command-list.txt thrice
+      parse-options.c: use "enum parse_opt_result" for parse_nodash_opt()
+      checkout: fix "branch info" memory leaks
+      CI: remove Travis CI support
+      CI: use shorter names that fit in UX tooltips
+      CI: rename the "Linux32" job to lower-case "linux32"
+      CI: use "$runs_on_pool", not "$jobname" to select packages & config
+      CI: don't run "make test" twice in one job
+      upload-archive: use regular "struct child_process" pattern
+      run-command API users: use strvec_pushv(), not argv assignment
+      run-command tests: use strvec_pushv(), not argv assignment
+      run-command API users: use strvec_pushl(), not argv construction
+      run-command API users: use strvec_push(), not argv construction
+      run-command API: remove "argv" member, always use "args"
+      difftool: use "env_array" to simplify memory management
+      run-command API: remove "env" member, always use "env_array"
+      common-main.c: call exit(), don't return
+      pack-objects: use BUG(...) not die("BUG: ...")
+      strbuf.h: use BUG(...) not die("BUG: ...")
+      pathspec: use BUG(...) not die("BUG:%s:%d....", <file>, <line>)
+      object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type()
+      usage.c: add a die_message() routine
+      usage.c API users: use die_message() for "fatal :" + exit 128
+      usage.c API users: use die_message() for error() + exit 128
+      gc: return from cmd_gc(), don't call exit()
+      usage.c + gc: add and use a die_message_errno()
+      config API: use get_error_routine(), not vreportf()
+      pull, fetch: fix segfault in --set-upstream option
+      stash: don't show "git stash push" usage on bad "git stash" usage
+      reflog delete: narrow scope of "cmd" passed to count_reflog_ent()
+      reflog expire: narrow scope of "cb" in cmd_reflog_expire()
+      reflog: change one->many worktree->refnames to use a string_list
+      reflog expire: use "switch" over enum values
+      reflog expire: refactor & use "tip_commit" only for UE_NORMAL
+      reflog expire: don't use lookup_commit_reference_gently()
+      reflog: reduce scope of "struct rev_info"
+      refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUN
+      reflog + refs-backend: move "verbose" out of the backend
+      Makefile: correct the dependency graph of hook-list.h
+      Makefile: move -DPAGER_ENV from BASIC_CFLAGS to EXTRA_CPPFLAGS
+      Makefile: don't invoke msgfmt with --statistics
+
+Øystein Walle (2):
+      status: count stash entries in separate function
+      status: print stash info with --porcelain=v2 --show-stash
+
+徐沛文 (Aleen) (3):
+      doc: git-format-patch: describe the option --always
+      am: support --empty=<option> to handle empty patches
+      am: support --allow-empty to record specific empty patches
+
+
+Version v2.34.8; changes since v2.34.7:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (6):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (16):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+      Git 2.34.8
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.34.7; changes since v2.34.6:
+---------------------------------------
+
+Jeff King (3):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      http: support CURLOPT_PROTOCOLS_STR
+
+Johannes Schindelin (5):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+      Git 2.34.7
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.34.6; changes since v2.34.5:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (5):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+      Git 2.34.6
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.34.5; changes since v2.34.4:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (18):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+      Git 2.34.5
+
+
+Version v2.34.4; changes since v2.34.3:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (5):
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+      Git 2.33.4
+      Git 2.34.4
+
+
+Version v2.34.3; changes since v2.34.2:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.34.2; changes since v2.34.1:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Johannes Schindelin (9):
+      GIT-VERSION-GEN: bump to v2.33.1
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+      Git 2.32.1
+      Git 2.33.2
+      Git 2.34.2
+
+
+Version v2.34.1; changes since v2.34.0:
+---------------------------------------
+
+Derrick Stolee (1):
+      dir: revert "dir: select directories correctly"
+
+Erwin Villejo (1):
+      pull: should be noop when already-up-to-date
+
+Junio C Hamano (3):
+      Revert "grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data"
+      Revert "editor: save and reset terminal after calling EDITOR"
+      Git 2.34.1
+
+Philippe Blain (1):
+      SubmittingPatches: fix Asciidoc syntax in "GitHub CI" section
+
+
+Version v2.34.0; changes since v2.34.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (3):
+      l10n: bg.po: Updated Bulgarian translation (5230t)
+      l10n: bg.po: Updated Bulgarian translation (5210t)
+      l10n: bg.po: Updated Bulgarian translation (5211t)
+
+Arusekk (3):
+      l10n: pl: Update translation
+      l10n: pl: 2.34.0 round 2
+      l10n: pl: 2.34.0 round 3
+
+Bagas Sanjaya (3):
+      l10n: po-id for 2.34 (round 1)
+      l10n: po-id for 2.34 (round 2)
+      l10n: po-id for 2.34 (round 3)
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.34.0 round 2
+
+Daniel Santos (3):
+      l10n: pt_PT: update translation table
+      l10n: pt_PT: change email
+      l10n: pt_PT: cleaning duplicate translations (#2)
+
+Derrick Stolee (1):
+      maintenance: disable cron on macOS
+
+Emir Sarı (3):
+      l10n: tr: v2.34.0 round 1
+      l10n: tr: v2.34.0 round 2
+      l10n: tr: v2.34.0 round 3
+
+Fangyi Zhou (3):
+      l10n: zh-CN: v2.34.0 round 1
+      l10n: zh_CN: 2.34.0 Round 2
+      l10n: zh_CN: v2.34.0 round 3
+
+Jean-Noël Avila (3):
+      l10n: fr v2.34.0 rnd1
+      l10n: fr: v2.34.0 round 2
+      l10n: fr: v2.34.0 rnd 3
+
+Jeff King (1):
+      t/lib-gpg: avoid broken versions of ssh-keygen
+
+Jiang Xin (5):
+      l10n: git.pot: v2.34.0 round 1 (134 new, 154 removed)
+      l10n: git.pot: v2.34.0 round 2 (3 new, 3 removed)
+      l10n: git.pot: v2.34.0 round 3 (1 new)
+      l10n: ko: fix typos found by git-po-helper
+      l10n: it: fix typos found by git-po-helper
+
+Johannes Schindelin (1):
+      simple-ipc: work around issues with Cygwin's Unix socket emulation
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Josh Steadmon (1):
+      trace2: increment event format version
+
+Junio C Hamano (4):
+      pull: --ff-only should make it a noop when already-up-to-date
+      A few hotfixes
+      Revert "connected: do not sort input revisions"
+      Git 2.34
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git v2.34.0
+
+Peter Krefting (3):
+      l10n: sv.po: Fix git-po-helper breakage
+      l10n: sv.po: Update Swedish translation (5210t0f0u)
+      l10n: sv.po: Update Swedish translation (5211t0f0)
+
+Trần Ngọc Quân (2):
+      l10n: vi(5210t): Translation for v2.34.0 rd2
+      l10n: vi(5211t): Translation for v2.34.0 rd3
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW.po: v2.34.0 round 2 (0 untranslated)
+      l10n: zh_TW.po: v2.34.0 round 3 (0 untranslated)
+
+Ævar Arnfjörð Bjarmason (2):
+      object-file: fix SEGV on free() regression in v2.34.0-rc2
+      object-file: free(*contents) only in read_loose_object() caller
+
+
+Version v2.34.0-rc2; changes since v2.34.0-rc1:
+-----------------------------------------------
+
+Adam Dinwoodie (1):
+      t/lib-git.sh: fix ACL-related permissions failure
+
+Alex Riesen (2):
+      pull: honor --no-verify and do not call the commit-msg hook
+      Document positive variant of commit and merge option "--no-verify"
+
+Junio C Hamano (2):
+      A few fixes before -rc2
+      Git 2.34-rc2
+
+Robin Dupret (1):
+      http-backend: remove a duplicated code branch
+
+Victoria Dye (1):
+      async_die_is_recursing: work around GCC v11.x issue on Fedora
+
+Ævar Arnfjörð Bjarmason (1):
+      parse-options.[ch]: revert use of "enum" for parse_options()
+
+
+Version v2.34.0-rc1; changes since v2.34.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      dir: fix directory-matching bug
+
+Glen Choo (3):
+      fsck: verify commit graph when implicitly enabled
+      fsck: verify multi-pack-index when implictly enabled
+      gc: perform incremental repack when implictly enabled
+
+Hamza Mahfooz (3):
+      grep: refactor next_match() and match_one_pattern() for external use
+      pretty: colorize pattern matches in commit messages
+      grep/pcre2: fix an edge case concerning ascii patterns and UTF-8 data
+
+Jeff King (1):
+      t5310: drop lib-bundle.sh include
+
+Jiang Xin (1):
+      i18n: fix typos found during l10n for git 2.34.0
+
+Junio C Hamano (3):
+      format-patch (doc): clarify --base=auto
+      A few more topics before -rc1
+      Git 2.34-rc1
+
+Phillip Wood (1):
+      rebase -i: fix rewording with --committer-date-is-author-date
+
+René Scharfe (2):
+      gpg-interface: handle missing " with " gracefully in parse_ssh_output()
+      gpg-interface: avoid buffer overrun in parse_ssh_output()
+
+Ævar Arnfjörð Bjarmason (3):
+      commit-graph tests: fix error-hiding graph_git_two_modes() helper
+      commit-graph tests: fix another graph_git_two_modes() helper
+      commit-graph: don't consider "replace" objects with "verify"
+
+
+Version v2.34.0-rc0; changes since v2.33.8:
+-------------------------------------------
+
+Atharva Raykar (11):
+      submodule--helper: introduce add-config subcommand
+      submodule--helper: add options for compute_submodule_clone_url()
+      submodule--helper: refactor resolve_relative_url() helper
+      submodule--helper: remove repeated code in sync_submodule()
+      dir: libify and export helper functions from clone.c
+      submodule--helper: convert the bulk of cmd_add() to C
+      submodule--helper: remove add-clone subcommand
+      submodule--helper: remove add-config subcommand
+      submodule--helper: remove resolve-relative-url subcommand
+      submodule--helper: rename compute_submodule_clone_url()
+      submodule--helper: run update procedures from C
+
+Azeem Bande-Ali (1):
+      help.c: help.autocorrect=prompt waits for user action
+
+Bagas Sanjaya (7):
+      make: add INSTALL_STRIP option variable
+      ls-files: use imperative mood for -X and -z option description
+      difftool: fix word spacing in the usage strings
+      blame: describe default output format
+      bisect--helper: add space between colon and following sentence
+      blame: document --color-* options
+      archive: describe compression level option
+
+Ben Boeckel (2):
+      advice: add enum variants for missing advice variables
+      advice: remove read uses of most global `advice_` variables
+
+Carlo Marcelo Arenas Belón (11):
+      win32: allow building with pedantic mode enabled
+      developer: enable pedantic by default
+      t0301: fixes for windows compatibility
+      credential-cache: check for windows specific errors
+      git-compat-util: include declaration for unix sockets in windows
+      simple-ipc: move definition of ipc_active_state outside of ifdef
+      lazyload.h: use an even more generic function pointer than FARPROC
+      Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better
+      terminal: teach git how to save/restore its terminal settings
+      editor: save and reset terminal after calling EDITOR
+      wrapper: remove xunsetenv()
+
+David Aguilar (5):
+      difftool: create a tmpdir path without repeated slashes
+      difftool: refactor dir-diff to write files using helper functions
+      difftool: remove an unnecessary call to strbuf_release()
+      difftool: add a missing space to the run_dir_diff() comments
+      mergetools/xxdiff: prevent segfaults from stopping difftool
+
+David Turner (3):
+      t4060: remove unused variable
+      diff --submodule=diff: do not fail on ever-initialied deleted submodules
+      diff --submodule=diff: don't print failure message twice
+
+Derrick Stolee (34):
+      t1092: test merge conflicts outside cone
+      add: allow operating on a sparse-only index
+      pathspec: stop calling ensure_full_index
+      add: ignore outside the sparse-checkout in refresh()
+      add: remove ensure_full_index() with --renormalize
+      t7519: rewrite sparse index test
+      sparse-index: silently return when not using cone-mode patterns
+      unpack-trees: fix nested sparse-dir search
+      sparse-index: silently return when cache tree fails
+      sparse-index: use WRITE_TREE_MISSING_OK
+      sparse-checkout: create helper methods
+      attr: be careful about sparse directories
+      sparse-index: add SPARSE_INDEX_MEMORY_ONLY flag
+      sparse-checkout: clear tracked sparse dirs
+      diff: ignore sparse paths in diffstat
+      merge: make sparse-aware with ORT
+      merge-ort: expand only for out-of-cone conflicts
+      t1092: add cherry-pick, rebase tests
+      sequencer: ensure full index if not ORT strategy
+      sparse-index: integrate with cherry-pick and rebase
+      t/perf/run: fix bin-wrappers computation
+      t3705: test that 'sparse_entry' is unstaged
+      t1092: behavior for adding sparse files
+      dir: select directories correctly
+      dir: fix pattern matching on dirs
+      add: fail when adding an untracked sparse file
+      add: skip tracked paths outside sparse-checkout cone
+      add: implement the --sparse option
+      add: update --chmod to skip sparse paths
+      add: update --renormalize to skip sparse paths
+      rm: add --sparse option
+      rm: skip sparse paths with missing SKIP_WORKTREE
+      mv: refuse to move sparse paths
+      advice: update message to suggest '--sparse'
+
+Elijah Newren (23):
+      merge-ort: rename str{map,intmap,set}_func()
+      diffcore-rename: use a mem_pool for exact rename detection's hashmap
+      merge-ort: add pool_alloc, pool_calloc, and pool_strndup wrappers
+      merge-ort: set up a memory pool
+      merge-ort: switch our strmaps over to using memory pools
+      diffcore-rename, merge-ort: add wrapper functions for filepair alloc/dealloc
+      merge-ort: store filepairs and filespecs in our mem_pool
+      merge-ort: reuse path strings in pool_alloc_filespec
+      merge-ort: remove compile-time ability to turn off usage of memory pools
+      Change default merge backend from recursive to ort
+      Update docs for change of default merge backend
+      tests: remove leftover untracked files
+      t2500: add various tests for nuking untracked files
+      checkout, read-tree: fix leak of unpack_trees_options.dir
+      read-tree, merge-recursive: overwrite ignored files by default
+      unpack-trees: introduce preserve_ignored to unpack_trees_options
+      unpack-trees: make dir an internal-only struct
+      Remove ignored files by default when they are in the way
+      Change unpack_trees' 'reset' flag into an enum
+      unpack-trees: avoid nuking untracked dir in way of unmerged file
+      unpack-trees: avoid nuking untracked dir in way of locally deleted file
+      Comment important codepaths regarding nuking untracked files/dirs
+      Documentation: call out commands that nuke untracked files/directories
+
+Emily Shaffer (3):
+      tr2: make process info collection platform-generic
+      tr2: log parent process name
+      hook.c: add a hook_exists() wrapper and use it in bugreport.c
+
+Eric Wong (1):
+      doc/technical: update note about core.multiPackIndex
+
+Fabian Stelzer (11):
+      ssh signing: preliminary refactoring and clean-up
+      ssh signing: add test prereqs
+      ssh signing: add ssh key format and signing code
+      ssh signing: retrieve a default key from ssh-agent
+      ssh signing: provide a textual signing_key_id
+      ssh signing: verify signatures using ssh-keygen
+      ssh signing: duplicate t7510 tests for commits
+      ssh signing: tests for logs, tags & push certs
+      ssh signing: test that gpg fails for unknown keys
+      ssh signing: fmt-merge-msg tests & config parse
+      ssh signing: clarify trustlevel usage in docs
+
+Glen Choo (1):
+      MyFirstContribution: Document --range-diff option when writing v2
+
+Greg Hurrell (1):
+      gitweb: use HEAD as secondary sort key in git_get_heads_list()
+
+Han-Wen Nienhuys (14):
+      t6050: use git-update-ref rather than filesystem access
+      t1503: mark symlink test as REFFILES
+      t6120: use git-update-ref rather than filesystem access
+      t3320: use git-symbolic-ref rather than filesystem access
+      t2402: use ref-store test helper to create broken symlink
+      t1405: use 'git reflog exists' to check reflog existence
+      t1405: mark test for 'git pack-refs' as REFFILES
+      t1410: mark test as REFFILES
+      t7064: use update-ref -d to remove upstream branch
+      t6500: use "ls -1" to snapshot ref database state
+      t6001: avoid direct file system access
+      refs: remove EINVAL errno output from specification of read_raw_ref_fn
+      refs/files-backend: stop setting errno from lock_ref_oid_basic
+      refs: make errno output explicit for read_raw_ref_fn
+
+Jacob Vosmaer (2):
+      pkt-line: add stdio packet write functions
+      upload-pack: use stdio in send_ref callbacks
+
+Jeff Hostetler (7):
+      trace2: add trace2_child_ready() to report on background children
+      simple-ipc: preparations for supporting binary messages.
+      simple-ipc/ipc-win32: add trace2 debugging
+      simple-ipc/ipc-win32: add Windows ACL to named pipe
+      run-command: create start_bg_command
+      t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command
+      t/perf/perf-lib.sh: remove test_times.* at the end test_perf_()
+
+Jeff King (58):
+      http: drop support for curl < 7.11.1
+      http: drop support for curl < 7.16.0
+      http: drop support for curl < 7.19.4
+      refs: drop unused "flags" parameter to lock_ref_oid_basic()
+      t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
+      t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
+      pack-bitmap: drop repository argument from prepare_midx_bitmap_git()
+      pack-bitmap: drop bitmap_index argument from try_partial_reuse()
+      t5551: test v2-to-v0 http protocol fallback
+      http-backend: handle HTTP_GIT_PROTOCOL CGI variable
+      docs/http-backend: mention v2 protocol
+      docs/git: discuss server-side config for GIT_PROTOCOL
+      docs/protocol-v2: point readers transport config discussion
+      difftool: prepare "diff" cmdline in cmd_difftool()
+      serve: rename is_command() to parse_command()
+      serve: return capability "value" from get_capability()
+      serve: add "receive" method for v2 capabilities table
+      serve: provide "receive" function for object-format capability
+      serve: provide "receive" function for session-id capability
+      serve: drop "keys" strvec
+      ls-refs: ignore very long ref-prefix counts
+      docs/protocol-v2: clarify some ls-refs ref-prefix details
+      serve: reject bogus v2 "command=ls-refs=foo"
+      serve: reject commands used as capabilities
+      ls-refs: reject unknown arguments
+      grep: stop modifying buffer in strip_timestamp
+      grep: stop modifying buffer in show_line()
+      grep: stop modifying buffer in grep_source_1()
+      grep: mark "haystack" buffers as const
+      grep: store grep_source buffer as const
+      t7900: clean up some more broken refs
+      t5516: don't use HEAD ref for invalid ref-deletion tests
+      t5600: provide detached HEAD for corruption failures
+      t5312: drop "verbose" helper
+      t5312: create bogus ref as necessary
+      t5312: test non-destructive repack
+      t5312: be more assertive about command failure
+      refs-internal.h: move DO_FOR_EACH_* flags next to each other
+      refs-internal.h: reorganize DO_FOR_EACH_* flag documentation
+      refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag
+      refs: omit dangling symrefs when using GIT_REF_PARANOIA
+      refs: turn on GIT_REF_PARANOIA by default
+      repack, prune: drop GIT_REF_PARANOIA settings
+      ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN
+      ref-filter: drop broken-ref code entirely
+      refs: drop "broken" flag from for_each_fullref_in()
+      test-read-midx: fix leak of bitmap_index struct
+      t1006: clean up broken objects
+      cat-file: mention --unordered along with --batch-all-objects
+      cat-file: disable refs/replace with --batch-all-objects
+      cat-file: split ordered/unordered batch-all-objects callbacks
+      cat-file: use packed_object_info() for --batch-all-objects
+      gpg-interface: fix leak of "line" in parse_ssh_output()
+      gpg-interface: fix leak of strbufs in get_ssh_key_fingerprint()
+      send-pack: complain about "expecting report" with --helper-status
+      transport-helper: recognize "expecting report" error from send-pack
+      submodule: drop unused sm_name parameter from append_fetch_remotes()
+      Documentation/Makefile: fix lint-docs mkdir dependency
+
+Jiang Xin (1):
+      ci: new github-action for git-l10n code review
+
+Johannes Altmanninger (4):
+      Documentation/git-status: remove impossible porcelain status DR and DC
+      Documentation/diff-format: state in which cases porcelain status is T
+      Documentation/git-status: document porcelain status T (typechange)
+      Documentation/git-status: mention how to detect copies
+
+Johannes Schindelin (23):
+      tests: exercise the RUNTIME_PREFIX feature
+      expand_user_path(): remove stale part of the comment
+      expand_user_path(): clarify the role of the `real_home` parameter
+      Use a better name for the function interpolating paths
+      interpolate_path(): allow specifying paths relative to the runtime prefix
+      t5520: do not use `pull.rebase=preserve`
+      remote: warn about unhandled branch.<name>.rebase values
+      tests: stop testing `git rebase --preserve-merges`
+      pull: remove support for `--rebase=preserve`
+      rebase: drop support for `--preserve-merges`
+      git-svn: drop support for `--preserve-merges`
+      rebase: drop the internal `rebase--interactive` command
+      rebase: remove obsolete code comment
+      rebase: stop mentioning the -p option in comments
+      rebase: remove a no-longer-used function
+      sequencer: restrict scope of a formerly public function
+      commit-graph: when closing the graph, also release the slab
+      pull: release packs before fetching
+      run-command: prettify the `RUN_COMMAND_*` flags
+      run-command: offer to close the object store before running
+      run_auto_maintenance(): implicitly close the object store
+      Close object store closer to spawning child processes
+      ci(windows): ensure that we do not pick up random executables
+
+Johannes Sixt (8):
+      lazyload.h: fix warnings about mismatching function pointer types
+      t4034/cpp: actually test that operator tokens are not split
+      t4034: add tests showing problematic cpp tokenizations
+      userdiff-cpp: tighten word regex
+      userdiff-cpp: prepare test cases with yet unsupported features
+      userdiff-cpp: permit the digit-separating single-quote in numbers
+      userdiff-cpp: learn the C++ spaceship operator
+      userdiff-cpp: back out the digit-separators in numbers
+
+Jonathan Tan (19):
+      submodule: lazily add submodule ODBs as alternates
+      grep: use submodule-ODB-as-alternate lazy-addition
+      grep: typesafe versions of grep_source_init
+      grep: read submodule entry with explicit repo
+      grep: allocate subrepos on heap
+      grep: add repository to OID grep sources
+      submodule-config: pass repo upon blob config read
+      t7814: show lack of alternate ODB-adding
+      submodule: remove unnecessary unabsorbed fallback
+      repository: support unabsorbed in repo_submodule_init
+      revision: remove "submodule" from opt struct
+      submodule: extract path to submodule gitdir func
+      refs: plumb repo into ref stores
+      refs: teach arbitrary repo support to iterators
+      refs: peeling non-the_repository iterators is BUG
+      merge-{ort,recursive}: remove add_submodule_odb()
+      object-file: only register submodule ODB if needed
+      submodule: pass repo to check_has_commit()
+      submodule: trace adding submodule ODB as alternate
+
+Josh Steadmon (1):
+      sequencer: advise if skipping cherry-picked commit
+
+Junio C Hamano (22):
+      expand_user_path: allow in-flight topics to keep using the old name
+      bisect: do not run show-branch just to show the current commit
+      bisect: simplify return code from bisect_checkout()
+      userdiff: comment on the builtin patterns
+      The first batch post 2.33
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      The ninth batch
+      The tenth batch
+      The eleventh batch
+      Twelfth batch
+      signature-format.txt: explain and illustrate multi-line headers
+      Thirteenth batch
+      The fourteenth batch
+      branch (doc): -m/-c copies config and reflog
+      The fifteenth batch
+      Git 2.34-rc0
+
+Kaartic Sivaraam (1):
+      submodule--helper: fix incorrect newlines in an error message
+
+Lénaïc Huard (4):
+      cache.h: Introduce a generic "xdg_config_home_for(…)" function
+      maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
+      maintenance: add support for systemd timers on Linux
+      maintenance: fix test t7900-maintenance.sh
+
+Mahi Kolla (1):
+      clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled
+
+Martin Ågren (5):
+      config.txt: fix typo
+      git-multi-pack-index.txt: change "folder" to "directory"
+      gitignore.txt: change "folder" to "directory"
+      gitweb.txt: change "folder" to "directory"
+      git-bundle.txt: add missing words and punctuation
+
+Matheus Tavares (2):
+      grep: demonstrate bug with textconv attributes and submodules
+      add, rm, mv: fix bug that prevents the update of non-sparse dirs
+
+Matthias Aßhauer (1):
+      help: make sure local html page exists before calling external processes
+
+Miriam Rubio (3):
+      t6030-bisect-porcelain: add tests to control bisect run exit cases
+      t6030-bisect-porcelain: add test for bisect visualize
+      bisect--helper: retire `--bisect-next-check` subcommand
+
+Orgad Shaneh (1):
+      doc: fix capitalization in "git status --porcelain=v2" description
+
+Patrick Steinhardt (15):
+      fetch-pack: speed up loading of refs via commit graph
+      revision: separate walk and unsorted flags
+      connected: do not sort input revisions
+      revision: stop retrieving reference twice
+      commit-graph: split out function to search commit position
+      revision: avoid hitting packfiles when commits are in commit-graph
+      ls-refs: reuse buffer when sending refs
+      fetch: skip formatting updated refs with `--quiet`
+      fetch: speed up lookup of want refs via commit-graph
+      fetch: avoid unpacking headers in object existence check
+      connected: refactor iterator to return next object ID directly
+      fetch-pack: optimize loading of refs via commit graph
+      fetch: refactor fetch refs to be more extendable
+      fetch: merge fetching and consuming refs
+      fetch: avoid second connectivity check if we already have all objects
+
+Philippe Blain (3):
+      test-lib-functions: use 'TEST_SHELL_PATH' in 'test_pause'
+      test-lib-functions: optionally keep HOME, TERM and SHELL in 'test_pause'
+      test-lib-functions: keep user's debugger config files and TERM in 'debug'
+
+Phillip Wood (14):
+      t3407: run tests in $TEST_DIRECTORY
+      t3407: use test_commit
+      t3407: use test_cmp_rev
+      t3407: rename a variable
+      t3407: use test_path_is_missing
+      t3407: strengthen rebase --abort tests
+      t3407: rework rebase --quit tests
+      rebase: use our standard error return value
+      rebase: use lookup_commit_reference_by_name()
+      rebase: dereference tags
+      sequencer.c: factor out a function
+      rebase: fix todo-list rereading
+      sparse index: fix use-after-free bug in cache_tree_verify()
+      t1092: run "rebase --apply" without "-q" in testing
+
+Pranit Bauva (2):
+      run-command: make `exists_in_PATH()` non-static
+      bisect--helper: reimplement `bisect_visualize()` shell function in C
+
+René Scharfe (24):
+      merge-recursive: use fspathcmp() in path_hashmap_cmp()
+      index-pack: use xopen in init_thread
+      oidset: make oidset_size() an inline function
+      midx: inline nth_midxed_pack_entry()
+      packfile: convert mark_bad_packed_object() to object_id
+      packfile: convert has_packed_and_bad() to object_id
+      packfile: use oidset for bad objects
+      packfile: release bad_objects in close_pack()
+      test-mergesort: use strbuf_getline()
+      test-mergesort: add sort subcommand
+      test-mergesort: add test subcommand
+      test-mergesort: add generate subcommand
+      test-mergesort: add unriffle mode
+      test-mergesort: add unriffle_skewed mode
+      p0071: measure sorting of already sorted and reversed files
+      p0071: test performance of llist_mergesort()
+      mergesort: use ranks stack
+      p3400: stop using tac(1)
+      t3905: show failure to ignore sub-repo
+      read-cache: add verify_path_internal()
+      read-cache: let verify_path() reject trailing dir separators again
+      test-mergesort: use repeatable random numbers
+      perf: disable automatic housekeeping
+      add: don't write objects with --dry-run
+
+Robert Estelle (1):
+      completion: fix incorrect bash/zsh string equality check
+
+SZEDER Gábor (9):
+      t1600-index: remove unnecessary redirection
+      t1600-index: don't run git commands upstream of a pipe
+      t1600-index: disable GIT_TEST_SPLIT_INDEX
+      read-cache: look for shared index files next to the index, too
+      tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests
+      read-cache: fix GIT_TEST_SPLIT_INDEX
+      commit-graph: fix bogus counter in "Scanning merged commits" progress line
+      entry: show finer-grained counter in "Filtering content" progress line
+      command-list.txt: remove 'sparse-index' from main help
+
+Tanushree Tumane (1):
+      bisect--helper: reimplement `bisect_run` shell function in C
+
+Tassilo Horn (1):
+      userdiff: improve java hunk header regex
+
+Taylor Blau (51):
+      pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
+      pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
+      pack-bitmap-write.c: free existing bitmaps
+      Documentation: describe MIDX-based bitmaps
+      object-store.h: teach for_each_packed_object to ignore kept packs
+      builtin/pack-objects.c: simplify add_objects_in_unpacked_packs()
+      builtin/pack-objects.c: remove duplicate hash lookup
+      midx: disallow running outside of a repository
+      midx: fix `*.rev` cleanups with `--object-dir`
+      midx: clear auxiliary .rev after replacing the MIDX
+      midx: reject empty `--preferred-pack`'s
+      midx: infer preferred pack when not given one
+      midx: close linked MIDXs, avoid leaking memory
+      midx: avoid opening multiple MIDXs when writing
+      pack-bitmap.c: introduce 'bitmap_num_objects()'
+      pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
+      pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
+      pack-bitmap.c: avoid redundant calls to try_partial_reuse
+      pack-bitmap: read multi-pack bitmaps
+      pack-bitmap: write multi-pack bitmaps
+      t5310: move some tests to lib-bitmap.sh
+      t/helper/test-read-midx.c: add --checksum mode
+      t5326: test multi-pack bitmap behavior
+      t5319: don't write MIDX bitmaps in t5319
+      t7700: update to work with MIDX bitmap test knob
+      midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
+      p5310: extract full and partial bitmap tests
+      p5326: perf tests for MIDX bitmaps
+      t/helper/test-bitmap.c: add 'dump-hashes' mode
+      pack-bitmap.c: propagate namehash values from existing bitmaps
+      midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps
+      p5326: create missing 'perf-tag' tag
+      p5326: don't set core.multiPackIndex unnecessarily
+      p5326: generate pack bitmaps before writing the MIDX bitmap
+      t5326: test propagating hashcache values
+      builtin/commit-graph.c: don't accept common --[no-]progress
+      builtin/multi-pack-index.c: disable top-level --[no-]progress
+      midx: expose `write_midx_file_only()` publicly
+      builtin/multi-pack-index.c: support `--stdin-packs` mode
+      midx: preliminary support for `--refs-snapshot`
+      builtin/repack.c: keep track of existing packs unconditionally
+      builtin/repack.c: rename variables that deal with non-kept packs
+      builtin/repack.c: extract showing progress to a variable
+      builtin/repack.c: support writing a MIDX while repacking
+      builtin/repack.c: make largest pack preferred
+      builtin/repack.c: pass `--refs-snapshot` when writing bitmaps
+      t/perf/aggregate.perl: tolerate leading spaces
+      midx.c: extract MIDX lookup by object_dir
+      midx.c: lookup MIDX by object directory during expire
+      midx.c: lookup MIDX by object directory during repack
+      midx.c: guard against commit_lock_file() failures
+
+Teng Long (1):
+      list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits"
+
+Todd Zullinger (1):
+      doc: add bundle-format to TECH_DOCS
+
+USAMI Kenta (1):
+      userdiff: support enum keyword in PHP hunk header
+
+Wesley Schwengle (1):
+      Document `rebase.forkpoint` in rebase man page
+
+ZheNing Hu (6):
+      ref-filter: add obj-type check in grab contents
+      ref-filter: add %(raw) atom
+      ref-filter: --format=%(raw) support --perl
+      ref-filter: use non-const ref_format in *_atom_parser()
+      ref-filter: add %(rest) atom
+      cherry-pick: use better advice message
+
+brian m. carlson (1):
+      t5607: avoid using prerequisites to select algorithm
+
+Ævar Arnfjörð Bjarmason (201):
+      Makefile: move ".PHONY: cscope" near its target
+      Makefile: add QUIET_GEN to "cscope" target
+      test-lib tests: move "run_sub_test" to a new lib-subtest.sh
+      Makefile: don't use "FORCE" for tags targets
+      http: drop support for curl < 7.19.3 and < 7.17.0 (again)
+      http: rename CURLOPT_FILE to CURLOPT_WRITEDATA
+      serve: mark has_capability() as static
+      transport: rename "fetch" in transport_vtable to "fetch_refs"
+      transport: use designated initializers
+      serve: use designated initializers
+      serve.[ch]: don't pass "struct strvec *keys" to commands
+      serve: move transfer.advertiseSID check into session_id_advertise()
+      serve.c: move version line to advertise_capabilities()
+      {upload,receive}-pack tests: add --advertise-refs tests
+      serve.[ch]: remove "serve_options", split up --advertise-refs code
+      upload-pack: document and rename --advertise-refs
+      Makefile: remove "cscope.out", not "cscope*" in cscope.out target
+      Makefile: normalize clobbering & xargs for tags targets
+      refs/packet: add missing BUG() invocations to reflog callbacks
+      refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
+      advice: remove use of global advice_add_embedded_repo
+      advice: move advice.graftFileDeprecated squashing to commit.[ch]
+      refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
+      refs/files: remove unused "skip" in lock_raw_ref() too
+      refs/debug: re-indent argument list for "prepare"
+      refs: make repo_dwim_log() accept a NULL oid
+      refs/files: add a comment about refs_reflog_exists() call
+      reflog expire: don't lock reflogs using previously seen OID
+      refs API: remove OID argument to reflog_expire()
+      refs/files: remove unused "oid" in lock_ref_oid_basic()
+      refs/files: remove unused "errno == EISDIR" code
+      refs/files: remove unused "errno != ENOTDIR" condition
+      refs file backend: move raceproof_create_file() here
+      bundle API: start writing API documentation
+      commit-graph: define common usage with a macro
+      commit-graph: remove redundant handling of -h
+      commit-graph: use parse_options_concat()
+      multi-pack-index: refactor "goto usage" pattern
+      commit-graph: early exit to "usage" on !argc
+      commit-graph: show usage on "commit-graph [write|verify] garbage"
+      commit-graph: show "unexpected subcommand" error
+      gettext: remove optional non-standard parens in N_() definition
+      bundle API: change "flags" to be "extra_index_pack_args"
+      index-pack: add --progress-title option
+      bundle: show progress on "unbundle"
+      tr2: remove NEEDSWORK comment for "non-procfs" implementations
+      tr2: clarify TRACE2_PROCESS_INFO_EXIT comment under Linux
+      tr2: stop leaking "thread_name" memory
+      tr2: leave the parent list empty upon failure & don't leak memory
+      tr2: do compiler enum check in trace2_collect_process_info()
+      tr2: log N parent process names on Linux
+      help: correct the usage string in -h and documentation
+      INSTALL: don't mention the "curl" executable at all
+      INSTALL: reword and copy-edit the "libcurl" section
+      git-submodule: remove unused is_zero_oid() function
+      git-sh-setup: remove unused "pull with rebase" message
+      git-bisect: remove unused SHA-1 $x40 shell variable
+      test-lib: remove unused $_x40 and $_z40 variables
+      test-tool run-command: fix flip-flop init pattern
+      gc: remove unused launchctl_get_uid() call
+      parse-options API users: align usage output in C-strings
+      send-pack: properly use parse_options() API for usage string
+      git rev-parse --parseopt tests: add more usagestr tests
+      difftool: prepare "struct child_process" in cmd_difftool()
+      difftool: use run_command() API in run_file_diff()
+      parse-options API: remove OPTION_ARGUMENT feature
+      INSTALL: mention that we need libcurl 7.19.4 or newer to build
+      Makefile: drop support for curl < 7.9.8 (again)
+      http: drop support for curl < 7.18.0 (again)
+      http: correct version check for CURL_HTTP_VERSION_2
+      http: correct curl version check for CURLOPT_PINNEDPUBLICKEY
+      http: centralize the accounting of libcurl dependencies
+      http: don't hardcode the value of CURL_SOCKOPT_OK
+      wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c
+      environment.c: remove test-specific "ignore_untracked..." variable
+      read-cache & fetch-negotiator: check "enum" values in switch()
+      repo-settings.c: simplify the setup
+      repository.h: don't use a mix of int and bitfields
+      parse-options: properly align continued usage output
+      test-lib tests: split up "write and run" into two functions
+      test-lib tests: don't provide a description for the sub-tests
+      test-lib tests: avoid subshell for "test_cmp" for readability
+      test-lib tests: refactor common part of check_sub_test_lib_test*()
+      test-lib tests: assert 1 exit code, not non-zero
+      test-lib tests: get rid of copy/pasted mock test code
+      Makefile: make the "sparse" target non-.PHONY
+      Makefile: make COMPUTE_HEADER_DEPENDENCIES=auto work with DEVOPTS=pedantic
+      help: correct usage & behavior of "git help --guides"
+      help tests: add test for --config output
+      help: correct logic error in combining --all and --config
+      help: correct logic error in combining --all and --guides
+      help: simplify by moving to OPT_CMDMODE()
+      help tests: test --config-for-completion option & output
+      help / completion: make "git help" do the hard work
+      help: move column config discovery to help.c library
+      Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS
+      tests: add a test mode for SANITIZE=leak, run it in CI
+      bundle: remove ignored & undocumented "--verbose" flag
+      Makefile: mark "check" target as .PHONY
+      Makefile: stop hardcoding {command,config}-list.h
+      Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H)
+      Makefile: remove an out-of-date comment
+      hook.[ch]: move find_hook() from run-command.c to hook.c
+      hook.c users: use "hook_exists()" instead of "find_hook()"
+      hook-list.h: add a generated list of hooks, like config-list.h
+      http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors
+      Makefile: pass -Wno-pendantic under GENERATE_COMPILATION_DATABASE=yes
+      submodule-config.h: remove unused SUBMODULE_INIT macro
+      *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom
+      *.h _INIT macros: don't specify fields equal to 0
+      *.h: move some *_INIT to designated initializers
+      cbtree.h: define cb_init() in terms of CBTREE_INIT
+      daemon.c: refactor hostinfo_init() to HOSTINFO_INIT macro
+      builtin/blame.c: refactor commit_info_init() to COMMIT_INFO_INIT macro
+      string-list.[ch]: remove string_list_init() compatibility function
+      config.c: remove unused git_config_key_is_valid()
+      refs.[ch]: remove unused ref_storage_backend_exists()
+      refs/ref-cache.[ch]: remove unused remove_entry_from_dir()
+      refs/ref-cache.[ch]: remove unused add_ref_entry()
+      refs/ref-cache.c: remove "mkdir" parameter from find_containing_dir()
+      refs/ref-cache.[ch]: remove "incomplete" from create_dir_entry()
+      parse-options.h: move PARSE_OPT_SHELL_EVAL between enums
+      urlmatch.[ch]: add and use URLMATCH_CONFIG_INIT
+      builtin/remote.c: add and use a REF_STATES_INIT
+      builtin/remote.c: add and use SHOW_INFO_INIT
+      builtin.h: remove cmd_tar_tree() declaration
+      grep.h: remove unused grep_threads_ok() declaration
+      log-tree.h: remove unused function declarations
+      config.h: remove unused git_config_get_untracked_cache() declaration
+      fsck tests: add test for fsck-ing an unknown type
+      fsck tests: refactor one test to use a sub-repo
+      fsck tests: test current hash/type mismatch behavior
+      fsck tests: test for garbage appended to a loose object
+      cat-file tests: move bogus_* variable declarations earlier
+      cat-file tests: test for missing/bogus object with -t, -s and -p
+      cat-file tests: add corrupt loose object test
+      cat-file tests: test for current --allow-unknown-type behavior
+      object-file.c: don't set "typep" when returning non-zero
+      object-file.c: return -1, not "status" from unpack_loose_header()
+      object-file.c: make parse_loose_header_extended() public
+      object-file.c: simplify unpack_loose_short_header()
+      object-file.c: use "enum" return type for unpack_loose_header()
+      object-file.c: return ULHR_TOO_LONG on "header too long"
+      object-file.c: stop dying in parse_loose_header()
+      fsck: don't hard die on invalid object types
+      fsck: report invalid object type-path combinations
+      unpack-trees: don't leak memory in verify_clean_subdirectory()
+      tests: fix a memory leak in test-prio-queue.c
+      tests: fix a memory leak in test-parse-options.c
+      tests: fix a memory leak in test-oidtree.c
+      tests: fix test-oid-array leak, test in SANITIZE=leak
+      ls-files: fix a trivial dir_clear() leak
+      ls-files: add missing string_list_clear()
+      merge: add missing strbuf_release()
+      parse-options.[ch]: consistently use "enum parse_opt_flags"
+      parse-options.[ch]: consistently use "enum parse_opt_result"
+      parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
+      parse-options.h: make the "flags" in "struct option" an enum
+      parse-options.c: move optname() earlier in the file
+      commit-graph: stop using optname()
+      parse-options.[ch]: make opt{bug,name}() "static"
+      parse-options tests: test optname() output
+      parse-options: change OPT_{SHORT,UNSET} to an enum
+      unwritable tests: assert exact error output
+      commit: fix duplication regression in permission error output
+      leak tests: run various built-in tests in t00*.sh SANITIZE=leak
+      leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak
+      leak tests: mark all ls-tree tests as passing with SANITIZE=leak
+      leak tests: mark all trace2 tests as passing with SANITIZE=leak
+      leak tests: mark all checkout-index tests as passing with SANITIZE=leak
+      leak tests: mark some ls-files tests as passing with SANITIZE=leak
+      leak tests: mark some read-tree tests as passing with SANITIZE=leak
+      leak tests: mark various "generic" tests as passing with SANITIZE=leak
+      leak tests: mark some misc tests as passing with SANITIZE=leak
+      sequencer: add a "goto cleanup" to do_reset()
+      sequencer: fix a memory leak in do_reset()
+      test-lib.sh: de-duplicate error() teardown code
+      test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use
+      test-lib.sh: try to re-chmod & retry on failed trash removal
+      "lib-diff" tests: make "README" and "COPYING" test data smaller
+      tests: stop using top-level "README" and "COPYING" files
+      doc lint: fix error-hiding regression
+      doc lint: emit errors on STDERR
+      doc build: speed up "make lint-docs"
+      doc lint: make "lint-docs" non-.PHONY
+      pkt-line.[ch]: remove unused packet_buf_write_len()
+      pkt-line.[ch]: remove unused packet_read_line_buf()
+      git config doc: fix recent ASCIIDOC formatting regression
+      tag: use a "goto cleanup" pattern, leak less memory
+      ref-filter API user: add and use a ref_sorting_release()
+      branch: use ref_sorting_release()
+      git-sh-i18n: remove unused eval_ngettext()
+      git-sh-setup: remove messaging supporting --preserve-merges
+      Makefile: remove redundant GIT-CFLAGS dependency from "sparse"
+      config.c: don't leak memory in handle_path_include()
+      grep: prefer "struct grep_opt" over its "void *" equivalent
+      grep: use object_array_clear() in cmd_grep()
+      grep: fix a "path_list" memory leak
+      clone: fix a memory leak of the "git_dir" variable
+      submodule--helper: fix small memory leaks
+      reflog: free() ref given to us by dwim_log()
+
+
+Version v2.33.8; changes since v2.33.7:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (6):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (15):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+      Git 2.33.8
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.33.7; changes since v2.33.6:
+---------------------------------------
+
+Johannes Schindelin (4):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+      Git 2.33.7
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.33.6; changes since v2.33.5:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (4):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+      Git 2.33.6
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.33.5; changes since v2.33.4:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (17):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+      Git 2.33.5
+
+
+Version v2.33.4; changes since v2.33.3:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (4):
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+      Git 2.33.4
+
+
+Version v2.33.3; changes since v2.33.2:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.33.2; changes since v2.33.1:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Jeff King (1):
+      log: document --encoding behavior on iconv() failure
+
+Johannes Schindelin (8):
+      GIT-VERSION-GEN: bump to v2.33.1
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+      Git 2.32.1
+      Git 2.33.2
+
+Junio C Hamano (1):
+      Revert "logmsg_reencode(): warn when iconv() fails"
+
+Martin Ågren (1):
+      git.txt: fix typo
+
+Phillip Wood (1):
+      rebase -i: fix rewording with --committer-date-is-author-date
+
+Victoria Dye (1):
+      async_die_is_recursing: work around GCC v11.x issue on Fedora
+
+
+Version v2.33.1; changes since v2.33.0:
+---------------------------------------
+
+Alex Henrie (1):
+      pull: abort if --ff-only is given and fast-forwarding is impossible
+
+Andrzej Hunt (1):
+      connect: also update offset for features without values
+
+Bagas Sanjaya (1):
+      Documentation: fix default directory of git bugreport -o
+
+Carlo Marcelo Arenas Belón (12):
+      build: update detect-compiler for newer Xcode version
+      builtin/merge: avoid -Wformat-extra-args from ancient Xcode
+      ci: run a pedantic build as part of the GitHub workflow
+      ci: update freebsd 12 cirrus job
+      ci: use upload-artifacts v1 for dockerized jobs
+      remote: avoid -Wunused-but-set-variable in gcc with -DNDEBUG
+      tree-diff: fix leak when not HAVE_ALLOCA_H
+      t0000: avoid masking git exit value through pipes
+      git-cvsserver: use crypt correctly to compare password hashes
+      git-cvsserver: protect against NULL in crypt(3)
+      Documentation: cleanup git-cvsserver
+      unicode: update the width tables to Unicode 14
+
+David Aguilar (1):
+      difftool: fix symlink-file writing in dir-diff mode
+
+Derrick Stolee (1):
+      maintenance: skip bootout/bootstrap when plist is registered
+
+Elijah Newren (25):
+      t7601: test interaction of merge/rebase/fast-forward flags and options
+      t7601: add tests of interactions with multiple merge heads and config
+      pull: since --ff-only overrides, handle it first
+      pull: make --rebase and --no-rebase override pull.ff=only
+      pull: abort by default when fast-forwarding is not possible
+      pull: update docs & code for option compatibility with rebasing
+      pull: fix handling of multiple heads
+      git-rebase.txt: correct antiquated claims about --rebase-merges
+      directory-rename-detection.txt: small updates due to merge-ort optimizations
+      Documentation: edit awkward references to `git merge-recursive`
+      merge-strategies.txt: update wording for the resolve strategy
+      merge-strategies.txt: do not imply using copy detection is desired
+      merge-strategies.txt: avoid giving special preference to patience algorithm
+      merge-strategies.txt: fix simple capitalization error
+      git-rebase.txt: correct out-of-date and misleading text about renames
+      merge-strategies.txt: add coverage of the `ort` merge strategy
+      Update error message and code comment
+      t3903: document a pair of directory/file bugs
+      stash: avoid feeding directories to update-index
+      stash: restore untracked files AFTER restoring tracked files
+      git-am.txt: clarify --abort behavior
+      t4151: add a few am --abort tests
+      am: fix incorrect exit status on am fail to abort
+      trace2.h: fix trivial comment typo
+      merge-ort: fix completely wrong comment
+
+Felipe Contreras (4):
+      completion: bash: fix prefix detection in branch.*
+      completion: bash: fix for suboptions with value
+      completion: bash: fix for multiple dash commands
+      completion: bash: add correct suffix in variables
+
+Jeff Hostetler (1):
+      sparse-index: copy dir_hash in ensure_full_index()
+
+Jeff King (13):
+      build: clang version may not be followed by extra words
+      range-diff: drop useless "offset" variable from read_patches()
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+      apply: keep buffer/size pair in sync when parsing binary hunks
+      t5323: drop mentions of "master"
+      logmsg_reencode(): warn when iconv() fails
+      docs: use "character encoding" to refer to commit-object encoding
+      t5562: use alarm() to interrupt timed child-wait
+      strvec: use size_t to store nr and alloc
+      t1400: avoid SIGPIPE race condition on fifo
+      clone: handle unborn branch in bare repos
+      http: match headers case-insensitively when redacting
+
+Joel Klinghed (1):
+      commit: restore --edit when combined with --fixup
+
+Johannes Schindelin (1):
+      maintenance: create `launchctl` configuration using a lock file
+
+Johannes Sixt (1):
+      t9001: PATH must not use Windows-style paths
+
+Jonathan Tan (3):
+      send-pack: fix push.negotiate with remote helper
+      send-pack: fix push nego. when remote has refs
+      fetch: die on invalid --negotiation-tip hash
+
+Josh Steadmon (1):
+      connect, protocol: log negotiated protocol version
+
+Junio C Hamano (4):
+      build: catch clang that identifies itself as "$VENDOR clang"
+      apply: resolve trivial merge without hitting ll-merge with "--3way"
+      hash-object: prefix_filename() returns allocated memory these days
+      Git 2.33.1
+
+Kim Altintop (3):
+      t5730: introduce fetch command helper
+      upload-pack.c: treat want-ref relative to namespace
+      docs: clarify the interaction of transfer.hideRefs and namespaces
+
+Kyle Zhao (1):
+      pack-revindex.h: correct the time complexity descriptions
+
+Marvin Häuser (1):
+      send-email: avoid incorrect header propagation
+
+Matheus Tavares (1):
+      checkout: make delayed checkout respect --quiet and --no-progress
+
+Matthias Aßhauer (1):
+      documentation: add documentation for 'git version'
+
+Mickey Endito (1):
+      t5582: remove spurious 'cd "$D"' line
+
+Mike Hommey (1):
+      credential: fix leak in credential_apply_config()
+
+Patrick Steinhardt (1):
+      update-ref: fix streaming of status updates
+
+Philip Oakley (1):
+      doc: config, tell readers of `git help --config`
+
+Phillip Wood (7):
+      t3403: fix commit authorship
+      rebase --apply: restore some tests
+      rebase --continue: remove .git/MERGE_MSG
+      rebase -r: make 'merge -c' behave like reword
+      rebase -i: add another reword test
+      rebase -r: don't write .git/MERGE_MSG when fast-forwarding
+      rebase -r: fix merge -c with a merge strategy
+
+René Scharfe (10):
+      compat: let git_mmap use malloc(3) directly
+      xopen: explicitly report creation failures
+      use xopen() to handle fatal open(2) failures
+      show-branch: simplify rev_is_head()
+      archive: convert queue_directory to struct object_id
+      branch: allow deleting dangling branches with --force
+      range-diff: avoid segfault with -I
+      setup: use xopen and xdup in sanitize_stdfds
+      refs/files-backend: remove unused open mode parameter
+      compression: drop write-only core_compression_* variables
+
+SZEDER Gábor (3):
+      Makefile: remove archives before manipulating them with 'ar'
+      column: fix parsing of the '--nl' option
+      test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository
+
+Sergey Organov (1):
+      diff-index: restore -c/--cc options handling
+
+Takashi Iwai (1):
+      completion: tcsh: Fix regression by drop of wrapper functions
+
+Tal Kelrich (1):
+      fast-export: fix anonymized tag using original length
+
+Taylor Blau (4):
+      bulk-checkin.c: store checksum directly
+      pack-write.c: rename `.idx` files after `*.rev`
+      builtin/repack.c: move `.idx` files into place last
+      builtin/index-pack.c: move `.idx` files into place last
+
+Zoker (1):
+      doc: fix syntax error and the format of printf
+
+Ævar Arnfjörð Bjarmason (20):
+      pack-objects tests: cover blindspots in stdin handling
+      pack-objects: fix segfault in --stdin-packs option
+      bundle doc: rewrite the "DESCRIPTION" section
+      bundle doc: elaborate on object prerequisites
+      bundle doc: elaborate on rev<->ref restriction
+      bundle doc: replace "basis" with "prerequsite(s)"
+      ls-remote: set packet_trace_identity(<name>)
+      rebase: emit one "fatal" in "fatal: fatal: <error>"
+      protocol-caps.c: fix memory leak in send_info()
+      mailmap.c: fix a memory leak in free_mailap_{info,entry}()
+      gc: remove trailing dot from "gc.log" line
+      send-email: fix a "first config key wins" regression in v2.33.0
+      Makefile: remove the check_bindir script
+      pack-write: skip *.rev work when not writing *.rev
+      pack.h: line-wrap the definition of finish_tmp_packfile()
+      pack-write: refactor renaming in finish_tmp_packfile()
+      index-pack: refactor renaming in final()
+      pack-write: split up finish_tmp_packfile() function
+      pack-objects: rename .idx files into place after .bitmap files
+      Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes
+
+Đoàn Trần Công Danh (3):
+      t6300: don't run cat-file on non-existent object
+      t6300: check for cat-file exit status code
+      diff-lib: ignore paths that are outside $cwd if --relative asked
+
+
+Version v2.33.0; changes since v2.33.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5227t)
+
+Bagas Sanjaya (4):
+      l10n: id.po: fix mismatched variable names
+      l10n: id: po-id for 2.33.0 (round 1)
+      l10n: id: mismatch variable name fixes
+      l10n: id: po-id for 2.33.0 round 2
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.33.0 round 2
+
+Daniel Santos (12):
+      l10n: pt_PT: add Portuguese translations part 4
+      l10n: pt_PT: add Portuguese translations part 5
+      l10n: pt_PT: translation tables
+      l10n: pt_PT: remove trailing comments
+      l10n: pt_PT: update git-po-helper
+      l10n: pt_PT: translated git v2.33.0
+      l10n: pt_PT: update translation tables
+      l10n: pt_PT: cleaning duplicate translations
+      l10n: pt_PT: cleaning flags mismatch
+      l10n: pt_PT: update translation table
+      l10n: pt_PT: git-po-helper update
+      l10n: pt_PT: v2.33.0 round 2
+
+Emir Sarı (2):
+      l10n: tr: v2.33.0 round 1
+      l10n: tr: v2.33 (round 2)
+
+Fangyi Zhou (1):
+      l10n: zh_CN: Revision for git v2.32.0 l10n round 1
+
+Jean-Noël Avila (4):
+      l10n: fr: fix typo
+      l10n: fr.po v2.33 rnd 1
+      l10n: fr.po fix typos in commands and variables
+      l10n: fr.po v2.33 rnd 2
+
+Jiang Xin (6):
+      l10n: fixed tripple-letter typos
+      l10n: git.pot: v2.33.0 round 1 (38 new, 15 removed)
+      l10n: git.pot: v2.33.0 round 2 (11 new, 8 removed)
+      l10n: README: refactor to use GFM syntax
+      l10n: zh_CN: for git v2.33.0 l10n round 2
+      l10n: TEAMS: change Simplified Chinese team leader
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.33
+
+Peter Krefting (3):
+      l10n: fixed typos of mismatched constant strings
+      l10n: sv.po: Update Swedish translation (5227t0f0u)
+      l10n: sv.po: Update Swedish translation (5230t0f0u)
+
+Ralf Thielow (3):
+      l10n: update German translation for Git v2.33.0
+      l10n: de.po: fix typos
+      l10n: update German translation for Git v2.33.0 (rnd2)
+
+René Scharfe (1):
+      oidtree: avoid unaligned access to crit-bit tree
+
+Trần Ngọc Quân (3):
+      l10n: vi.po(5227t): Updated Vietnamese translation for v2.32.0
+      l10n: vi.po(5227t): Fixed typo after run git-po-helper
+      l10n: vi.po(5230t): Updated translation for v2.32.0 round 2
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW.po: update for v2.33.0 rnd 2
+      l10n: zh_TW.po: remove the obsolete glossary
+
+依云 (1):
+      l10n: zh_CN: review for git v2.32.0 l10n round 1
+
+
+Version v2.33.0-rc2; changes since v2.33.0-rc1:
+-----------------------------------------------
+
+Carlo Marcelo Arenas Belón (2):
+      oidtree: avoid nested struct oidtree_node
+      object-store: avoid extra ';' from KHASH_INIT
+
+Jonathan Nieder (1):
+      Revert 'diff-merges: let "-m" imply "-p"'
+
+Junio C Hamano (1):
+      Git 2.33-rc2
+
+René Scharfe (1):
+      object-file: use unsigned arithmetic with bit mask
+
+
+Version v2.33.0-rc1; changes since v2.33.0-rc0:
+-----------------------------------------------
+
+Andrei Rybak (1):
+      Documentation: render special characters correctly
+
+Andrzej Hunt (12):
+      fmt-merge-msg: free newly allocated temporary strings when done
+      environment: move strbuf into block to plug leak
+      builtin/submodule--helper: release unused strbuf to avoid leak
+      builtin/for-each-repo: remove unnecessary argv copy to plug leak
+      diffcore-rename: move old_dir/new_dir definition to plug leak
+      ref-filter: also free head for ATOM_HEAD to avoid leak
+      read-cache: call diff_setup_done to avoid leak
+      convert: release strbuf to avoid leak
+      builtin/mv: free or UNLEAK multiple pointers at end of cmd_mv
+      builtin/merge: free found_ref when done
+      builtin/rebase: fix options.strategy memory lifecycle
+      reset: clear_unpack_trees_porcelain to plug leak
+
+Atharva Raykar (4):
+      t7400: test failure to add submodule in tracked path
+      submodule: prefix die messages with 'fatal'
+      submodule--helper: refactor module_clone()
+      submodule--helper: introduce add-clone subcommand
+
+Bagas Sanjaya (1):
+      diff: --pickaxe-all typofix
+
+Carlo Marcelo Arenas Belón (1):
+      t7508: avoid non POSIX BRE
+
+Derrick Stolee (7):
+      p2000: add 'git checkout -' test and decrease depth
+      p2000: compress repo names
+      commit: integrate with sparse-index
+      sparse-index: recompute cache-tree
+      checkout: stop expanding sparse indexes
+      t1092: document bad 'git checkout' behavior
+      unpack-trees: resolve sparse-directory/file conflicts
+
+Elijah Newren (7):
+      merge-ort: resolve paths early when we have sufficient information
+      merge-ort: add some more explanations in collect_merge_info_callback()
+      merge-ort: add data structures for allowable trivial directory resolves
+      merge-ort: add a handle_deferred_entries() helper function
+      merge-ort: defer recursing into directories when merge base is matched
+      merge-ort: avoid recursing into directories when we don't need to
+      merge-ort: restart merge with cached renames to reduce process entry cost
+
+Felipe Contreras (1):
+      test: fix for COLUMNS and bash 5
+
+Jeff King (1):
+      submodule: drop unused sm_name parameter from show_fetch_remotes()
+
+Junio C Hamano (2):
+      The eighth batch
+      Git 2.33-rc1
+
+Philippe Blain (4):
+      merge: add missing word "strategy" to a message
+      Documentation: define 'MERGE_AUTOSTASH'
+      merge: apply autostash if fast-forward fails
+      merge: apply autostash if merge strategy fails
+
+René Scharfe (1):
+      use fspathhash() everywhere
+
+Thomas Bétous (1):
+      mingw: align symlinks-related rmdir() behavior with Linux
+
+Ævar Arnfjörð Bjarmason (3):
+      SubmittingPatches: move discussion of Signed-off-by above "send"
+      SubmittingPatches: replace discussion of Travis with GitHub Actions
+      t0001: fix broken not-quite getcwd(3) test in bed67874e2
+
+
+Version v2.33.0-rc0; changes since v2.32.7:
+-------------------------------------------
+
+Alex Henrie (6):
+      merge: don't translate literal commands
+      stash: don't translate literal commands
+      submodule: use the imperative mood to describe the --files option
+      fetch: improve grammar of "shallow roots" message
+      setup: split "extensions found" messages into singular and plural
+      graph: improve grammar of "invalid color" error message
+
+Anders Höckersten (1):
+      describe-doc: clarify default length of abbreviation
+
+Andrei Rybak (7):
+      t: fix whitespace around &&
+      mailinfo: use starts_with() when checking scissors
+      *: fix typos which duplicate a word
+      blame: correct name of config option in docs
+      t: fix typos in test messages
+      git-worktree.txt: fix typo in example path
+      help: convert git_cmd to page in one place
+
+Andrew Berry (1):
+      docs: .gitignore parsing is to the top of the repo
+
+Andrzej Hunt (3):
+      bulk-checkin: make buffer reuse more obvious and safer
+      split-index: use oideq instead of memcmp to compare object_id's
+      builtin/checkout--worker: zero-initialise struct to avoid MSAN complaints
+
+Atharva Raykar (2):
+      MyFirstContribution: link #git-devel to Libera Chat
+      submodule--helper: remove redundant include
+
+Beshr Kayali (1):
+      Documentation: fix typo in the --patch option of the commit command
+
+Carlo Marcelo Arenas Belón (1):
+      config.mak.uname: PCRE1 cleanup
+
+Dennis Ameling (2):
+      cmake(windows): set correct path to the system Git config
+      ci (vs-build): build with NO_GETTEXT
+
+Denton Liu (2):
+      pkt-line: replace "stateless separator" with "response end"
+      git-diff: fix missing --merge-base docs
+
+Derrick Stolee (21):
+      hashfile: use write_in_full()
+      csum-file.h: increase hashfile buffer size
+      read-cache: use hashfile instead of git_hash_ctx
+      read-cache: delete unused hashing methods
+      *: fix typos
+      sparse-index: skip indexes with unmerged entries
+      sparse-index: include EXTENDED flag when expanding
+      t1092: replace incorrect 'echo' with 'cat'
+      t1092: expand repository data shape
+      t1092: add tests for status/add and sparse files
+      unpack-trees: preserve cache_bottom
+      unpack-trees: compare sparse directories correctly
+      unpack-trees: rename unpack_nondirectories()
+      unpack-trees: unpack sparse directory entries
+      dir.c: accept a directory as part of cone-mode patterns
+      diff-lib: handle index diffs with sparse dirs
+      status: skip sparse-checkout percentage with sparse-index
+      status: use sparse-index throughout
+      wt-status: expand added sparse directory entries
+      fsmonitor: integrate with sparse index
+      t1092: document bad sparse-checkout behavior
+
+Elijah Newren (29):
+      t6423: rename file within directory that other side renamed
+      Documentation/technical: describe remembering renames optimization
+      fast-rebase: change assert() to BUG()
+      fast-rebase: write conflict state to working tree, index, and HEAD
+      t6429: testcases for remembering renames
+      merge-ort: add data structures for in-memory caching of rename detection
+      merge-ort: populate caches of rename detection results
+      merge-ort: add code to check for whether cached renames can be reused
+      merge-ort: avoid accidental API mis-use
+      merge-ort: preserve cached renames for the appropriate side
+      merge-ort: add helper functions for using cached renames
+      merge-ort: handle interactions of caching and rename/rename(1to1) cases
+      merge-ort, diffcore-rename: employ cached renames when possible
+      merge-ort: replace string_list_df_name_compare with faster alternative
+      diffcore-rename: avoid unnecessary strdup'ing in break_idx
+      Fix various issues found in comments
+      merge-ort: miscellaneous touch-ups
+      promisor-remote: output trace2 statistics for number of objects fetched
+      t6421: add tests checking for excessive object downloads during merge
+      diffcore-rename: allow different missing_object_cb functions
+      diffcore-rename: use a different prefetch for basename comparisons
+      merge-ort: add prefetching for content merges
+      t6423: test directory renames causing rename-to-self
+      merge-ort: ensure we consult df_conflict and path_conflicts
+      merge-recursive: handle rename-to-self case
+      diff: correct warning message when renameLimit exceeded
+      doc: clarify documentation for rename/copy limits
+      diffcore-rename: treat a rename_limit of 0 as unlimited
+      rename: bump limit defaults yet again
+
+Eric Wong (6):
+      xmmap: inform Linux users of tuning knobs on ENOMEM
+      speed up alt_odb_usable() with many alternates
+      avoid strlen via strbuf_addstr in link_alt_odb_entry
+      make object_directory.loose_objects_subdir_seen a bitmap
+      oidcpy_with_padding: constify `src' arg
+      oidtree: a crit-bit tree for odb_loose_cache
+
+Fabian Wermelinger (1):
+      completion: bash: fix late declaration of __git_cmd_idx
+
+Felipe Contreras (32):
+      doc: refactor common asciidoc dependencies
+      doc: improve asciidoc dependencies
+      doc: remove unnecessary rm instances
+      doc: simplify Makefile using .DELETE_ON_ERROR
+      doc: avoid using rm directly
+      push: rename !triangular to same_remote
+      push: hedge code of default=simple
+      push: copy code to setup_push_simple()
+      push: reorganize setup_push_simple()
+      push: simplify setup_push_simple()
+      push: remove unused code in setup_push_upstream()
+      doc: push: explain default=simple correctly
+      push: create new get_upstream_ref() helper
+      push: return immediately in trivial switch case
+      push: split switch cases
+      push: factor out null branch check
+      push: only get the branch when needed
+      push: make setup_push_* return the dst
+      push: trivial simplifications
+      push: get rid of all the setup_push_* functions
+      push: factor out the typical case
+      push: remove redundant check
+      push: remove trivial function
+      push: only check same_remote when needed
+      push: don't get a full remote object
+      doc: merge: mention default of defaulttoupstream
+      doc: avoid using the gender of other people
+      comments: avoid using the gender of our users
+      pull: cleanup autostash check
+      pull: trivial cleanup
+      pull: trivial whitespace style fix
+      doc: pull: fix rebase=false documentation
+
+Gregory Anders (1):
+      git-send-email: add option to specify sendmail command
+
+Han-Wen Nienhuys (26):
+      refs: make explicit that ref_iterator_peel returns boolean
+      t4202: split testcase for invalid HEAD symref and HEAD hash
+      t/helper/ref-store: initialize oid in resolve-ref
+      t9300: check ref existence using test-helper rather than a file system check
+      t5601: read HEAD using rev-parse
+      t1401: use tar to snapshot and restore repo state
+      t1401-symbolic-ref: avoid direct filesystem access
+      t1413: use tar to save and restore entire .git directory
+      t1301: fix typo in error message
+      t5000: reformat indentation to the latest fashion
+      t5000: inspect HEAD using git-rev-parse
+      t7003: use rev-parse rather than FS inspection
+      t5304: restyle: trim empty lines, drop ':' before >
+      t5304: use "reflog expire --all" to clear the reflog
+      test-lib: provide test prereq REFFILES
+      t1407: require REFFILES for for_each_reflog test
+      t1414: mark corruption test with REFFILES
+      t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
+      t1404: mark tests that muck with .git directly as REFFILES.
+      t7900: stop checking for loose refs
+      t7003: check reflog existence only for REFFILES
+      t4202: mark bogus head hash test with REFFILES
+      t1415: set REFFILES for test specific to storage format
+      t1415: avoid direct filesystem access for writing refs
+      t7509: avoid direct file access for writing CHERRY_PICK_HEAD
+      refs/debug: quote prefix
+
+Hu Jialun (2):
+      commit: reorganise commit hint strings
+      commit: remove irrelavent prompt on `--allow-empty-message`
+
+Jean-Noël Avila (1):
+      help: fix small typo in error message
+
+Jeff King (26):
+      clone: clean up directory after transport_fetch_refs() failure
+      fetch-pack: signal v2 server that we are done making requests
+      doc: explain the use of color.pager
+      doc: warn people against --max-pack-size
+      ll_binary_merge(): handle XDL_MERGE_FAVOR_UNION
+      ll_union_merge(): pass name labels to ll_xdl_merge()
+      ll_union_merge(): rename path_unused parameter
+      add_pending_object_with_path(): work around "gcc -O3" complaint
+      bitmaps: don't recurse into trees already in the bitmap
+      t: use portable wrapper for readlink(1)
+      pretty.h: update and expand docstring for userformat_find_requirements()
+      log: avoid loading decorations for userformats that don't need it
+      object.h: expand docstring for lookup_unknown_object()
+      object.h: add lookup_object_by_type() function
+      load_ref_decorations(): avoid parsing non-tag objects
+      add_ref_decoration(): rename s/type/deco_type/
+      test-lib: avoid accidental globbing in match_pattern_list()
+      doc/rev-list-options: fix duplicate word typo
+      load_ref_decorations(): fix decoration with tags
+      t0000: clear GIT_SKIP_TESTS before running sub-tests
+      doc/git-config: explain --file instead of referring to GIT_CONFIG
+      doc/git-config: clarify GIT_CONFIG environment variable
+      doc/git-config: simplify "override" advice for FILES section
+      pack-bitmap: check pack validity when opening bitmap
+      ci: run "apt-get update" before "apt-get install"
+      ci/install-dependencies: handle "sparse" job package installs
+
+Jiang Xin (5):
+      t6020: fix incompatible parameter expansion
+      sideband: don't lose clear-to-eol at packet boundary
+      test: compare raw output, not mangle tabs and spaces
+      test: refactor to use "test_commit" to create commits
+      test: refactor to use "get_abbrev_oid" to get abbrev oid
+
+Johannes Schindelin (15):
+      multimail: stop shipping a copy
+      subtree: fix the GIT_EXEC_PATH sanity check to work on Windows
+      subtree: fix assumption about the directory separator
+      pager: avoid setting COLUMNS when we're guessing its value
+      mingw: move Git for Windows' system config where users expect it
+      config: normalize the path of the system gitconfig
+      ci: use the new GitHub Action to download git-sdk-64-minimal
+      ci (vs-build): use `cmd` to copy the DLLs, not `powershell`
+      ci: upgrade to using actions/{up,down}load-artifacts v2
+      ci (windows): transfer also the Git-tracked files to the test jobs
+      artifacts-tar: respect NO_GETTEXT
+      ci: accelerate the checkout
+      ci: run `make sparse` as part of the GitHub workflow
+      ci(check-whitespace): stop requiring a read/write token
+      ci(check-whitespace): restrict to the intended commits
+
+Jonathan Nieder (1):
+      xsize_t: avoid implementation defined behavior when len < 0
+
+Jonathan Tan (7):
+      repository: move global r_f_p_c to repo struct
+      promisor-remote: support per-repository config
+      submodule: refrain from filtering GIT_CONFIG_COUNT
+      run-command: refactor subprocess env preparation
+      promisor-remote: teach lazy-fetch in any repo
+      unpack-trees: refactor prefetching code
+      cache-tree: prefetch in partial clone read-tree
+
+Josh Steadmon (1):
+      docs: fix api-trace2 doc for "too_many_files" event
+
+Julian Verdurmen (1):
+      userdiff: add support for C# record types
+
+Junio C Hamano (10):
+      revisions(7): clarify that most commands take a single revision range
+      The first batch post Git 2.32
+      The second batch
+      The third batch
+      The fourth batch
+      CodingGuidelines: recommend gender-neutral description
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      Git 2.33-rc0
+
+Kaartic Sivaraam (1):
+      submodule: remove unnecessary `prefix` based option logic
+
+Matheus Tavares (1):
+      parallel-checkout: send the new object_id algo field to the workers
+
+Matthew Rogers (3):
+      cmake: add knob to disable vcpkg
+      cmake: create compile_commands.json by default
+      cmake: add warning for ignored MSGFMT_EXE
+
+Michael Schindler (1):
+      mergetools/kdiff3: make kdiff3 work on Windows too
+
+Patrick Steinhardt (2):
+      perf: fix when running with TEST_OUTPUT_DIRECTORY
+      t0000: fix test if run with TEST_OUTPUT_DIRECTORY
+
+Philippe Blain (2):
+      parse-options: don't complete option aliases by default
+      doc: clarify description of 'submodule.recurse'
+
+René Scharfe (2):
+      grep: report missing left operand of --and
+      khash: clarify that allocations never fail
+
+Reuven Y (1):
+      docs: improve fast-forward in glossary content
+
+Sergey Organov (10):
+      t4013: test that "-m" alone has no effect in "git log"
+      t4013: test "git log -m --raw"
+      t4013: test "git log -m --stat"
+      t4013: test "git diff-tree -m"
+      t4013: test "git diff-index -m"
+      diff-merges: move specific diff-index "-m" handling to diff-index
+      git-svn: stop passing "-m" to "git rev-list"
+      stash list: stop passing "-m" to "git log"
+      diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
+      diff-merges: let "-m" imply "-p"
+
+Stephen Manz (3):
+      t2400: clean up '"add" worktree with lock' test
+      worktree: mark lock strings with `_()` for translation
+      worktree: teach `add` to accept --reason <string> with --lock
+
+Tao Klerks (1):
+      Remove warning that repack only works on non-promisor packfiles
+
+Taylor Blau (6):
+      csum-file: introduce checksum_valid()
+      commit-graph: rewrite to use checksum_valid()
+      midx: don't reuse corrupt MIDXs when writing
+      midx: report checksum mismatches during 'verify'
+      multi-pack-index: fix potential segfault without sub-command
+      pack-bitmap: clarify comment in filter_bitmap_exclude_type()
+
+Teng Long (1):
+      packfile-uri.txt: fix blobPackfileUri description
+
+Thomas Braun (1):
+      completion: add --anchored to diff's options
+
+Wolfgang Müller (1):
+      rev-parse: mark die() messages for translation
+
+ZheNing Hu (4):
+      ref-filter: add objectsize to used_atom
+      ref-filter: introduce enum atom_type
+      cat-file: handle trivial --batch format with --batch-all-objects
+      cat-file: merge two block into one
+
+brian m. carlson (1):
+      rev-list: add option for --pretty=format without header
+
+dorgon.chang (1):
+      git-p4: fix failed submit by skip non-text data files
+
+edef (1):
+      mailinfo: don't discard names under 3 characters
+
+Ævar Arnfjörð Bjarmason (90):
+      test-lib: bring $remove_trash out of retirement
+      test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable
+      test-lib-functions: reword "test_commit --append" docs
+      test-lib-functions: document test_commit --no-tag
+      test-lib functions: add an --annotated option to "test_commit"
+      describe tests: convert setup to use test_commit
+      test-lib functions: add --printf option to test_commit
+      submodule tests: use symbolic-ref --short to discover branch name
+      test-lib: reformat argument list in test_create_repo()
+      test-lib: do not show advice about init.defaultBranch under --verbose
+      test-lib: split up and deprecate test_create_repo()
+      grep/pcre2 tests: reword comments referring to kwset
+      pickaxe tests: refactor to use test_commit --append --printf
+      pickaxe tests: add test for diffgrep_consume() internals
+      pickaxe tests: add test for "log -S" not being a regex
+      pickaxe tests: test for -G, -S and --find-object incompatibility
+      pickaxe tests: add missing test for --no-pickaxe-regex being an error
+      pickaxe: die when -G and --pickaxe-regex are combined
+      pickaxe: die when --find-object and --pickaxe-all are combined
+      diff.h: move pickaxe fields together again
+      pickaxe/style: consolidate declarations and assignments
+      perf: add performance test for pickaxe
+      pickaxe: refactor function selection in diffcore-pickaxe()
+      pickaxe: assert that we must have a needle under -G or -S
+      pickaxe -S: support content with NULs under --pickaxe-regex
+      pickaxe: rename variables in has_changes() for brevity
+      pickaxe -S: slightly optimize contains()
+      xdiff-interface: prepare for allowing early return
+      xdiff-interface: allow early return from xdiff_emit_line_fn
+      pickaxe -G: terminate early on matching lines
+      pickaxe -G: don't special-case create/delete
+      xdiff users: use designated initializers for out_line
+      xdiff-interface: replace discard_hunk_line() with a flag
+      describe tests: improve test for --work-tree & --dirty
+      describe tests: refactor away from glob matching
+      describe tests: don't rely on err.actual from "check_describe"
+      describe tests: fix nested "test_expect_success" call
+      describe tests: support -C in "check_describe"
+      trace2: refactor to avoid gcc warning under -O3
+      send-email tests: support GIT_TEST_PERL_FATAL_WARNINGS=true
+      send-email tests: test for boolean variables without a value
+      send-email: remove non-working support for "sendemail.smtpssl"
+      send-email: refactor sendemail.smtpencryption config parsing
+      send-email: copy "config_regxp" into git-send-email.perl
+      send-email: lazily load config for a big speedup
+      send-email: lazily shell out to "git var"
+      send-email: use function syntax instead of barewords
+      send-email: get rid of indirect object syntax
+      send-email: lazily load modules for a big speedup
+      perl: lazily load some common Git.pm setup code
+      send-email: move trivial config handling to Perl
+      perl: nano-optimize by replacing Cwd::cwd() with Cwd::getcwd()
+      protocol-caps.h: add newline at end of file
+      read-cache.c: don't guard calls to progress.c API
+      xdiff: use BUG(...), not xdl_bug(...)
+      builtins + test helpers: use return instead of exit() in cmd_*
+      mktag tests: parse out options in helper
+      mktag tests: invert --no-strict test
+      show-branch tests: rename the one "show-branch" test file
+      show-branch tests: modernize test code
+      pre-commit hook tests: don't leave "actual" nonexisting on failure
+      gc tests: add a test for the "pre-auto-gc" hook
+      mktag tests: test hash-object --literally and unreachable fsck
+      mktag tests: test update-ref and reachable fsck
+      mktag tests: test for-each-ref
+      mktag tests: test fast-export
+      show-branch: don't <COLOR></RESET> for space characters
+      show-branch tests: add missing tests
+      Makefile: add and use the ".DELETE_ON_ERROR" flag
+      test-lib.sh: set COLUMNS=80 for --verbose repeatability
+      send-pack.c: move "no refs in common" abort earlier
+      fetch: document the --negotiate-only option
+      *.h: move some *_INIT to designated initializers
+      *.c *_init(): define in terms of corresponding *_INIT macro
+      dir.[ch]: replace dir_init() with DIR_INIT
+      string-list.[ch]: add a string_list_init_{nodup,dup}()
+      string-list.h users: change to use *_{nodup,dup}()
+      bundle cmd: stop leaking memory from parse_options_cmd_bundle()
+      bundle.c: use a temporary variable for OIDs and names
+      bundle: remove "ref_list" in favor of string-list.c API
+      imap-send.c: use less verbose strbuf_fread() idiom
+      fetch: fix segfault in --negotiate-only without --negotiation-tip=*
+      *.c static functions: don't forward-declare __attribute__
+      sequencer.c: move static function to avoid forward decl
+      *.c static functions: add missing __attribute__((format))
+      *.h: add a few missing __attribute__((format))
+      advice.h: add missing __attribute__((format)) & fix usage
+      test-lib-functions: use test-tool for [de]packetize()
+      bundle tests: use ">file" not ": >file"
+      bundle tests: use test_cmp instead of grep
+
+Đoàn Trần Công Danh (6):
+      t: use configured TAR instead of tar
+      doc/log: correct default for --decorate
+      t: use user-specified utf-8 locale for testing svn
+      test-lib-functions: introduce test_stdout_line_count
+      t6400: preserve git ls-files exit status code
+      t6402: preserve git exit status code
+
+
+Version v2.32.7; changes since v2.32.6:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (6):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (14):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+      Git 2.32.7
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.32.6; changes since v2.32.5:
+---------------------------------------
+
+Johannes Schindelin (3):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+      Git 2.32.6
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.32.5; changes since v2.32.4:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (3):
+      Git 2.30.7
+      Git 2.31.6
+      Git 2.32.5
+
+Patrick Steinhardt (25):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+      fsck: refactor `fsck_blob()` to allow for more checks
+      fsck: pull out function to check a set of blobs
+      fsck: move checks for gitattributes
+      fsck: implement checks for gitattributes
+
+
+Version v2.32.4; changes since v2.32.3:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (16):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      t1092: prepare for changing protocol.file.allow
+      t2080: prepare for changing protocol.file.allow
+      Git 2.30.6
+      Git 2.31.5
+      Git 2.32.4
+
+
+Version v2.32.3; changes since v2.32.2:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (3):
+      Git 2.30.5
+      Git 2.31.4
+      Git 2.32.3
+
+
+Version v2.32.2; changes since v2.32.1:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.32.1; changes since v2.32.0:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Johannes Schindelin (6):
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+      Git 2.32.1
+
+
+Version v2.32.0; changes since v2.32.0-rc3:
+-------------------------------------------
+
+Alex Henrie (1):
+      l10n: Update Catalan translation
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5204t)
+
+Alexey Roslyakov (1):
+      l10n: ru.po: fix typo in Russian translation
+
+Bagas Sanjaya (5):
+      l10n: id: po-id for 2.32.0 (round 1)
+      l10n: README: document git-po-helper
+      l10n: README: document "core translation"
+      l10n: README: document l10n conventions
+      l10n: README: note on fuzzy translations
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.32.0 round 1
+
+Daniel Santos (2):
+      l10n: pt_PT: add Portuguese translations part 2
+      l10n: pt_PT: add Portuguese translations part 3
+
+Emir Sarı (1):
+      l10n: tr: v2.32.0-r1
+
+Jean-Noël Avila (1):
+      l10n: fr: v2.32.0 round 1
+
+Jiang Xin (4):
+      l10n: git.pot: v2.32.0 round 1 (126 new, 26 removed)
+      l10n: fix typos in po/TEAMS
+      l10n: README: add file extention ".md"
+      l10n: zh_CN: for git v2.32.0 l10n round 1
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      fsync(): be prepared to see EINTR
+      Git 2.32
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git v2.32.0
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5204t0f0u)
+
+René Scharfe (1):
+      parallel-checkout: avoid dash local bug in tests
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(5204t): Updated Vietnamese translation for v2.32.0
+
+Vincent Tam (1):
+      l10n: fr.po fixed inconsistencies
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW.po: v2.32.0 round 1 (11 untranslated)
+      l10n: zh_TW.po: localized
+
+rlespinasse (1):
+      l10n: fr: fixed inconsistencies
+
+
+Version v2.32.0-rc3; changes since v2.32.0-rc2:
+-----------------------------------------------
+
+David Aguilar (1):
+      contrib/completion: fix zsh completion regression from 59d85a2a05
+
+Junio C Hamano (1):
+      Git 2.32-rc3
+
+Ævar Arnfjörð Bjarmason (1):
+      builtin/fsck.c: don't conflate "int" and "enum" in callback
+
+
+Version v2.32.0-rc2; changes since v2.32.0-rc1:
+-----------------------------------------------
+
+Derrick Stolee (2):
+      t1092: use GIT_PROGRESS_DELAY for consistent results
+      dir: update stale description of treat_directory()
+
+Elijah Newren (1):
+      dir: introduce readdir_skip_dot_and_dotdot() helper
+
+Johannes Sixt (1):
+      t9001-send-email.sh: fix expected absolute paths on Windows
+
+Junio C Hamano (4):
+      t1092: revert the "-1" hack for emulating "no progress meter"
+      Revert "dir: introduce readdir_skip_dot_and_dotdot() helper"
+      Revert "dir: update stale description of treat_directory()"
+      Git 2.32-rc2
+
+Matheus Tavares (2):
+      init: fix bug regarding ~/ expansion in init.templateDir
+      t2080: fix cp invocation to copy symlinks instead of following them
+
+Ævar Arnfjörð Bjarmason (4):
+      send-email: fix missing error message regression
+      send-email: don't needlessly abs_path() the core.hooksPath
+      send-email: move "hooks_path" invocation to git-send-email.perl
+      pack-objects: move static inline from a header to the sole consumer
+
+
+Version v2.32.0-rc1; changes since v2.32.0-rc0:
+-----------------------------------------------
+
+Denton Liu (1):
+      stash show: use stash.showIncludeUntracked even when diff options given
+
+Derrick Stolee (2):
+      dir: update stale description of treat_directory()
+      sparse-index: fix uninitialized jump
+
+Elijah Newren (9):
+      dir: convert trace calls to trace2 equivalents
+      dir: report number of visited directories and paths with trace2
+      ls-files: error out on -i unless -o or -c are specified
+      t7300: add testcase showing unnecessary traversal into ignored directory
+      t3001, t7300: add testcase showcasing missed directory traversal
+      dir: avoid unnecessary traversal into ignored directory
+      dir: traverse into untracked directories if they may have ignored subfiles
+      dir: introduce readdir_skip_dot_and_dotdot() helper
+      git-prompt: work under set -u
+
+Eric Wong (1):
+      remote-curl: fix clone on sha256 repos
+
+Jeff Hostetler (1):
+      simple-ipc: correct ifdefs when NO_PTHREADS is defined
+
+Jeff King (3):
+      t: avoid sed-based chain-linting in some expensive cases
+      t5551: test http interaction with credential helpers
+      Revert "remote-curl: fall back to basic auth if Negotiate fails"
+
+Junio C Hamano (2):
+      A handful more topics before -rc1
+      Git 2.32-rc1
+
+Todd Zullinger (1):
+      t7500: remove non-existant C_LOCALE_OUTPUT prereq
+
+Wolfgang Müller (1):
+      rev-parse: fix segfault with missing --path-format argument
+
+ZheNing Hu (1):
+      ref-filter: fix read invalid union member bug
+
+Ævar Arnfjörð Bjarmason (5):
+      Makefile: don't re-define PERL_DEFINES
+      Makefile: regenerate perl/build/* if GIT-PERL-DEFINES changes
+      Makefile: regenerate *.pm on NO_PERL_CPAN_FALLBACKS change
+      perl: use mock i18n functions under NO_GETTEXT=Y
+      Makefile: make PERL_DEFINES recursively expanded
+
+
+Version v2.32.0-rc0; changes since v2.31.8:
+-------------------------------------------
+
+Adam Dinwoodie (1):
+      cygwin: disallow backslashes in file names
+
+Alex Henrie (1):
+      merge-ort: split "distinct types" message into two translatable messages
+
+Andrey Bienkowski (1):
+      doc: clarify the filename encoding in git diff
+
+Andrzej Hunt (22):
+      symbolic-ref: don't leak shortened refname in check_symref()
+      reset: free instead of leaking unneeded ref
+      clone: free or UNLEAK further pointers when finished
+      worktree: fix leak in dwim_branch()
+      init: remove git_init_db_config() while fixing leaks
+      init-db: silence template_dir leak when converting to absolute path
+      parse-options: convert bitfield values to use binary shift
+      parse-options: don't leak alias help messages
+      transport: also free remote_refs in transport_disconnect()
+      merge-ort: only do pointer arithmetic for non-empty lists
+      revision: free remainder of old commit list in limit_list
+      wt-status: fix multiple small leaks
+      ls-files: free max_prefix when done
+      bloom: clear each bloom_key after use
+      branch: FREE_AND_NULL instead of NULL'ing real_ref
+      builtin/bugreport: don't leak prefixed filename
+      builtin/check-ignore: clear_pathspec before returning
+      builtin/checkout: clear pending objects after diffing
+      mailinfo: also free strbuf lists when clearing mailinfo
+      builtin/for-each-ref: free filter and UNLEAK sorting.
+      builtin/rebase: release git_format_patch_opt too
+      builtin/rm: avoid leaking pathspec and seen
+
+Atharva Raykar (1):
+      userdiff: add support for Scheme
+
+Bagas Sanjaya (1):
+      INSTALL: note on using Asciidoctor to build doc
+
+Bruno Albuquerque (1):
+      object-info: support for retrieving object info
+
+Charvi Mendiratta (23):
+      sequencer: pass todo_item to do_pick_commit()
+      sequencer: use const variable for commit message comments
+      rebase -i: add fixup [-C | -c] command
+      t3437: test script for fixup [-C|-c] options in interactive rebase
+      rebase -i: teach --autosquash to work with amend!
+      doc/git-rebase: add documentation for fixup [-C|-c] options
+      sequencer: fixup the datatype of the 'flag' argument
+      sequencer: rename a few functions
+      rebase -i: clarify and fix 'fixup -c' rebase-todo help
+      t/lib-rebase: update the documentation of FAKE_LINES
+      t/t3437: fixup here-docs in the 'setup' test
+      t/t3437: remove the dependency of 'expected-message' file from tests
+      t/t3437: check the author date of fixed up commit
+      t/t3437: simplify and document the test helpers
+      t/t3437: use named commits in the tests
+      t/t3437: fixup the test 'multiple fixup -c opens editor once'
+      doc/rebase -i: fix typo in the documentation of 'fixup' command
+      sequencer: export and rename subject_length()
+      commit: add amend suboption to --fixup to create amend! commit
+      commit: add a reword suboption to --fixup
+      t7500: add tests for --fixup=[amend|reword] options
+      t3437: use --fixup with options to create amend! commit
+      doc/git-commit: add documentation for fixup=[amend|reword] options
+
+Chinmoy Chakraborty (1):
+      column, range-diff: downcase option description
+
+Christian Couder (1):
+      test-bloom: fix missing 'bloom' from usage string
+
+Christopher Schenk (1):
+      remote-curl: fall back to basic auth if Negotiate fails
+
+Dennis Ameling (2):
+      cmake(install): fix double .exe suffixes
+      cmake(install): include vcpkg dlls
+
+Denton Liu (13):
+      git-cat-file.txt: monospace args, placeholders and filenames
+      git-cat-file.txt: remove references to "sha1"
+      stash show: teach --include-untracked and --only-untracked
+      stash show: learn stash.showIncludeUntracked
+      git-completion.bash: pass $__git_subcommand_idx from __git_main()
+      git-completion.bash: extract from else in _git_stash()
+      git-completion.bash: use __gitcomp_builtin() in _git_stash()
+      git-completion.bash: separate some commands onto their own line
+      git-completion.bash: rename to $__git_cmd_idx
+      git-completion.bash: use $__git_cmd_idx in more places
+      git-completion.bash: consolidate cases in _git_stash()
+      t3905: correct test title
+      stash show: fix segfault with --{include,only}-untracked
+
+Derrick Stolee (54):
+      commit-graph: create local repository pointer
+      commit-graph: use config to specify generation type
+      csum-file: make hashwrite() more readable
+      sparse-index: design doc and format update
+      t/perf: add performance test for sparse operations
+      t1092: clean up script quoting
+      sparse-index: add guard to ensure full index
+      sparse-index: implement ensure_full_index()
+      t1092: compare sparse-checkout to sparse-index
+      test-read-cache: print cache entries with --table
+      test-tool: don't force full index
+      unpack-trees: ensure full index
+      sparse-checkout: hold pattern list in index
+      sparse-index: add 'sdir' index extension
+      sparse-index: convert from full to sparse
+      submodule: sparse-index should not collapse links
+      unpack-trees: allow sparse directories
+      sparse-index: check index conversion happens
+      sparse-index: add index.sparse config option
+      sparse-checkout: toggle sparse index from builtin
+      sparse-checkout: disable sparse-index
+      cache-tree: integrate with sparse directory entries
+      sparse-index: loose integration with cache_tree_verify()
+      p2000: add sparse-index repos
+      maintenance: simplify prefetch logic
+      sparse-index: API protection strategy
+      *: remove 'const' qualifier for struct index_state
+      read-cache: expand on query into sparse-directory entry
+      cache: move ensure_full_index() to cache.h
+      add: ensure full index
+      checkout-index: ensure full index
+      checkout: ensure full index
+      commit: ensure full index
+      difftool: ensure full index
+      fsck: ensure full index
+      grep: ensure full index
+      ls-files: ensure full index
+      merge-index: ensure full index
+      rm: ensure full index
+      stash: ensure full index
+      update-index: ensure full index
+      dir: ensure full index
+      entry: ensure full index
+      merge-recursive: ensure full index
+      pathspec: ensure full index
+      read-cache: ensure full index
+      resolve-undo: ensure full index
+      revision: ensure full index
+      name-hash: don't add directories to name_hash
+      sparse-index: expand_to_path()
+      name-hash: use expand_to_path()
+      fetch: add --prefetch option
+      maintenance: use 'git fetch --prefetch'
+      maintenance: respect remote.*.skipFetchAll
+
+Elijah Newren (40):
+      diffcore-rename: use directory rename guided basename comparisons
+      diffcore-rename: provide basic implementation of idx_possible_rename()
+      diffcore-rename: add a mapping of destination names to their indices
+      Move computation of dir_rename_count from merge-ort to diffcore-rename
+      diffcore-rename: add function for clearing dir_rename_count
+      diffcore-rename: move dir_rename_counts into dir_rename_info struct
+      diffcore-rename: extend cleanup_dir_rename_info()
+      diffcore-rename: compute dir_rename_counts in stages
+      diffcore-rename: limit dir_rename_counts computation to relevant dirs
+      diffcore-rename: compute dir_rename_guess from dir_rename_counts
+      diffcore-rename: enable filtering possible rename sources
+      merge-ort: precompute subset of sources for which we need rename detection
+      merge-ort: add data structures for an alternate tree traversal
+      merge-ort: introduce wrappers for alternate tree traversal
+      merge-ort: precompute whether directory rename detection is needed
+      merge-ort: use relevant_sources to filter possible rename sources
+      merge-ort: skip rename detection entirely if possible
+      diffcore-rename: avoid doing basename comparisons for irrelevant sources
+      diffcore-rename: take advantage of "majority rules" to skip more renames
+      merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type
+      merge-ort: record the reason that we want a rename for a directory
+      diffcore-rename: only compute dir_rename_count for relevant directories
+      diffcore-rename: check if we have enough renames for directories early on
+      diffcore-rename: add computation of number of unknown renames
+      merge-ort: record the reason that we want a rename for a file
+      diffcore-rename: determine which relevant_sources are no longer relevant
+      merge-ort: use STABLE_QSORT instead of QSORT where required
+      merge-ort: add a special minimal index just for renormalization
+      merge-ort: have ll_merge() use a special attr_index for renormalization
+      merge-ort: let renormalization change modify/delete into clean delete
+      merge-ort: support subtree shifting
+      t6428: new test for SKIP_WORKTREE handling and conflicts
+      merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries
+      t: mark several submodule merging tests as fixed under merge-ort
+      merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict
+      merge-recursive: add a bunch of FIXME comments documenting known bugs
+      Revert "merge-ort: ignore the directory rename split conflict for now"
+      t6423: mark remaining expected failure under merge-ort as such
+      Add testing with merge-ort merge strategy
+      sequencer: fix edit handling for cherry-pick and revert messages
+
+Eric Sunshine (1):
+      merge(s): apply consistent punctuation to "up to date" messages
+
+Firmin Martin (1):
+      user-manual.txt: assign preface an id and a title
+
+Georgios Kontaxis (1):
+      gitweb: add "e-mail privacy" feature to redact e-mail addresses
+
+Han Xin (1):
+      pack-objects: fix comment of reused_chunk.difference
+
+Han-Wen Nienhuys (3):
+      reftable: document an alternate cleanup method on Windows
+      refs: print errno for read_raw_ref if GIT_TRACE_REFS is set
+      refs/debug: trace into reflog expiry too
+
+Jeff Hostetler (13):
+      pkt-line: eliminate the need for static buffer in packet_write_gently()
+      simple-ipc: design documentation for new IPC mechanism
+      simple-ipc: add win32 implementation
+      unix-socket: eliminate static unix_stream_socket() helper function
+      unix-socket: add backlog size option to unix_stream_listen()
+      unix-socket: disallow chdir() when creating unix domain sockets
+      unix-stream-server: create unix domain socket under lock
+      convert: make convert_attrs() and convert structs public
+      convert: add [async_]convert_to_working_tree_ca() variants
+      convert: add get_stream_filter_ca() variant
+      convert: add classification for conv_attrs struct
+      simple-ipc: add Unix domain socket implementation
+      t0052: add simple-ipc tests and t/helper/test-simple-ipc tool
+
+Jeff King (39):
+      add open_nofollow() helper
+      attr: convert "macro_ok" into a flags field
+      exclude: add flags parameter to add_patterns()
+      attr: do not respect symlinks for in-tree .gitattributes
+      exclude: do not respect symlinks for in-tree .gitignore
+      mailmap: do not respect symlinks for in-tree .mailmap
+      p5303: add missing &&-chains
+      p5303: measure time to repack with keep
+      builtin/pack-objects.c: rewrite honor-pack-keep logic
+      packfile: add kept-pack cache for find_kept_pack_entry()
+      t/perf: handle worktrees as test repos
+      t/perf: avoid copying worktree files from test repo
+      t7003: test ref rewriting explicitly
+      filter-branch: drop multiple-ancestor warning
+      filter-branch: drop $_x40 glob
+      t: annotate !PTHREADS tests with !FAIL_PREREQS
+      ref-filter: fix NULL check for parse object failure
+      midx.c: improve cache locality in midx_pack_order_cmp()
+      pack-objects: update "nr_seen" progress based on pack-reused count
+      is_promisor_object(): free tree buffer after parsing
+      lookup_unknown_object(): take a repository argument
+      revision: avoid parsing with --exclude-promisor-objects
+      pack-bitmap: clean up include_check after use
+      prune: save reachable-from-recent objects with bitmaps
+      t5300: modernize basic tests
+      t5300: check that we produced expected number of deltas
+      pack-objects: clamp negative window size to 0
+      t5316: check behavior of pack-objects --depth=0
+      pack-objects: clamp negative depth to 0
+      docs/format-patch: mention handling of merges
+      t7415: remove out-dated comment about translation
+      fsck_tree(): fix shadowed variable
+      fsck_tree(): wrap some long lines
+      t7415: rename to expand scope
+      t7450: test verify_path() handling of gitmodules
+      t7450: test .gitmodules symlink matching against obscured names
+      t0060: test ntfs/hfs-obscured dotfiles
+      fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW
+      docs: document symlink restrictions for dot-files
+
+Jerry Zhang (3):
+      git-apply: try threeway first when "--3way" is used
+      git-apply: allow simultaneous --cached and --3way options
+      apply: adjust messages to account for --3way changes
+
+Joachim Kuebart (2):
+      git-p4: ensure complex branches are cloned correctly
+      git-p4: speed up search for branch parent
+
+Johannes Schindelin (8):
+      pkt-line: do not issue flush packets in write_packetized_*()
+      pkt-line: add PACKET_READ_GENTLE_ON_READ_ERROR option
+      pkt-line: add options argument to read_packetized_to_strbuf()
+      SECURITY: describe how to report vulnerabilities
+      Document how we do embargoed releases
+      cmake: support SKIP_DASHED_BUILT_INS
+      cmake: add a preparatory work-around to accommodate `vcpkg`
+      msvc: avoid calling `access("NUL", flags)`
+
+John Szakmeister (2):
+      http: store credential when PKI auth is used
+      http: drop the check for an empty proxy password before approving
+
+Jonathan Tan (7):
+      fetch-pack: buffer object-format with other args
+      fetch-pack: refactor process_acks()
+      fetch-pack: refactor add_haves()
+      fetch-pack: refactor command and capability write
+      fetch: teach independent negotiation (no packfile)
+      send-pack: support push negotiation
+      t5601: mark protocol v2-only test
+
+Josh Soref (1):
+      merge: fix swapped "up to date" message components
+
+Julien Richard (1):
+      doc: .gitignore documentation typofix
+
+Junio C Hamano (22):
+      builtin/repack.c: reword comment around pack-objects flags
+      The first batch in 2.32 cycle
+      The second batch
+      format-patch: give an overview of what a "patch" message is
+      The third patch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      The ninth batch
+      doc: clarify "do not capitalize the first word" rule
+      The tenth batch
+      The eleventh (aka "ort") batch
+      The twelfth batch
+      The thirteenth batch
+      CodingGuidelines: explicitly allow "local" for test scripts
+      The fourteenth batch
+      The fifteenth batch
+      The sixteenth batch
+      The seventeenth batch
+      Git 2.32-rc0
+
+Li Linchao (1):
+      builtin/clone.c: add --reject-shallow option
+
+Louis Sautier (1):
+      pretty: fix a typo in the documentation for %(trailers)
+
+Luke Shumaker (30):
+      .gitignore: ignore 'git-subtree' as a build artifact
+      subtree: t7900: update for having the default branch name be 'main'
+      subtree: t7900: use test-lib.sh's test_count
+      subtree: t7900: use consistent formatting
+      subtree: t7900: comment subtree_test_create_repo
+      subtree: t7900: use 'test' for string equality
+      subtree: t7900: delete some dead code
+      subtree: t7900: fix 'verify one file change per commit'
+      subtree: t7900: rename last_commit_message to last_commit_subject
+      subtree: t7900: add a test for the -h flag
+      subtree: t7900: add porcelain tests for 'pull' and 'push'
+      subtree: don't have loose code outside of a function
+      subtree: more consistent error propagation
+      subtree: drop support for git < 1.7
+      subtree: use `git merge-base --is-ancestor`
+      subtree: use git-sh-setup's `say`
+      subtree: use more explicit variable names for cmdline args
+      subtree: use "$*" instead of "$@" as appropriate
+      subtree: don't fuss with PATH
+      subtree: use "^{commit}" instead of "^0"
+      subtree: parse revs in individual cmd_ functions
+      subtree: remove duplicate check
+      subtree: add comments and sanity checks
+      subtree: don't let debug and progress output clash
+      subtree: have $indent actually affect indentation
+      subtree: give the docs a once-over
+      subtree: allow --squash to be used with --rejoin
+      subtree: allow 'split' flags to be passed to 'push'
+      subtree: push: allow specifying a local rev other than HEAD
+      subtree: be stricter about validating flags
+
+Lénaïc Huard (1):
+      maintenance: fix two memory leaks
+
+Martin Ågren (2):
+      git-repack.txt: remove spurious ")"
+      pretty-formats.txt: add missing space
+
+Matheus Tavares (30):
+      convert: fail gracefully upon missing clean cmd on required filter
+      symlinks: update comment on threaded_check_leading_path()
+      checkout: don't follow symlinks when removing entries
+      entry: extract a header file for entry.c functions
+      entry: make fstat_output() and read_blob_entry() public
+      entry: extract update_ce_after_write() from write_entry()
+      entry: move conv_attrs lookup up to checkout_entry()
+      entry: add checkout_entry_ca() taking preloaded conv_attrs
+      add: include magic part of pathspec on --refresh error
+      t3705: add tests for `git add` in sparse checkouts
+      add: make --chmod and --renormalize honor sparse checkouts
+      pathspec: allow to ignore SKIP_WORKTREE entries on index matching
+      refresh_index(): add flag to ignore SKIP_WORKTREE entries
+      add: warn when asked to update SKIP_WORKTREE entries
+      rm: honor sparse checkout patterns
+      pkt-line: do not report packet write errors twice
+      unpack-trees: add basic support for parallel checkout
+      parallel-checkout: make it truly parallel
+      parallel-checkout: add configuration options
+      parallel-checkout: support progress displaying
+      parallel-checkout: add design documentation
+      make_transient_cache_entry(): optionally alloc from mem_pool
+      builtin/checkout.c: complete parallel checkout support
+      checkout-index: add parallel checkout support
+      parallel-checkout: add tests for basic operations
+      parallel-checkout: add tests related to path collisions
+      t0028: extract encoding helpers to lib-encoding.sh
+      parallel-checkout: add tests related to .gitattributes
+      ci: run test round with parallel-checkout enabled
+      clean: remove unnecessary variable
+
+Nicholas Clark (1):
+      submodule update: silence underlying fetch with "--quiet"
+
+Nipunn Koorapati (3):
+      fsmonitor: skip lstat deletion check during git diff-index
+      fsmonitor: add assertion that fsmonitor is valid to check_removed
+      fsmonitor: add perf test for git diff HEAD
+
+Patrick Steinhardt (17):
+      githooks.txt: replace mentions of SHA-1 specific properties
+      githooks.txt: clarify documentation on reference-transaction hook
+      pack-bitmap: avoid traversal of objects referenced by uninteresting tag
+      uploadpack.txt: document implication of `uploadpackfilter.allow`
+      revision: mark commit parents as NOT_USER_GIVEN
+      list-objects: move tag processing into its own function
+      list-objects: support filtering by tag and commit
+      list-objects: implement object type filter
+      pack-bitmap: implement object type filter
+      pack-bitmap: implement combined filter
+      rev-list: allow filtering of provided items
+      config: rename `git_etc_config()`
+      config: unify code paths to get global config paths
+      config: allow overriding of global and system configuration
+      t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
+      git.txt: fix synopsis of `--config-env` missing the equals sign
+      git: support separate arg for `--config-env`'s value
+
+Peter Oliver (1):
+      doc: point to diff attribute in patch format docs
+
+Phillip Wood (6):
+      rebase -i: only write fixup-message when it's needed
+      sequencer: factor out code to append squash message
+      rebase -i: comment out squash!/fixup! subjects from squash message
+      word diff: handle zero length matches
+      patience diff: remove unnecessary string comparisons
+      patience diff: remove unused variable
+
+Rafael Silva (1):
+      repack: avoid loosening promisor objects in partial clones
+
+Ramkumar Ramachandra (1):
+      Add entry for Ramkumar Ramachandra
+
+Ramsay Jones (1):
+      bisect--helper: use BISECT_TERMS in 'bisect skip' command
+
+René Scharfe (6):
+      pretty: add %(describe)
+      pretty: add merge and exclude options to %(describe)
+      t4205: assert %(describe) test coverage
+      pretty: document multiple %(describe) being inconsistent
+      archive: expand only a single %(describe) per archive
+      daemon: sanitize all directory separators
+
+Robert Foss (1):
+      git-send-email: Respect core.hooksPath setting
+
+SZEDER Gábor (1):
+      Makefile: add missing dependencies of 'config-list.h'
+
+Sardorbek Imomaliev (1):
+      work around zsh comment in __git_complete_worktree_paths
+
+Sergey Organov (5):
+      diff-merges: introduce --diff-merges=on
+      diff-merges: refactor set_diff_merges()
+      diff-merges: adapt -m to enable default diff format
+      diff-merges: introduce log.diffMerges config variable
+      doc/diff-options: document new --diff-merges features
+
+Shubham Verma (1):
+      t9801: replace test -f with test_path_is_file
+
+Taylor Blau (28):
+      packfile: introduce 'find_kept_pack_entry()'
+      revision: learn '--no-kept-objects'
+      builtin/pack-objects.c: add '--stdin-packs' option
+      builtin/repack.c: add '--geometric' option
+      builtin/repack.c: do not repack single packs with --geometric
+      t7703: test --geometric repack with loose objects
+      builtin/repack.c: assign pack split later
+      builtin/repack.c: be more conservative with unsigned overflows
+      Documentation/git-push.txt: correct configuration typo
+      builtin/pack-objects.c: ignore missing links with --stdin-packs
+      builtin/multi-pack-index.c: inline 'flags' with options
+      builtin/multi-pack-index.c: don't handle 'progress' separately
+      builtin/multi-pack-index.c: define common usage with a macro
+      builtin/multi-pack-index.c: split sub-commands
+      builtin/multi-pack-index.c: don't enter bogus cmd_mode
+      builtin/multi-pack-index.c: display usage on unrecognized command
+      t/helper/test-read-midx.c: add '--show-objects'
+      pack-bitmap: add 'test_bitmap_commits()' helper
+      t/helper/test-bitmap.c: initial commit
+      builtin/pack-objects.c: respect 'pack.preferBitmapTips'
+      midx: allow marking a pack as preferred
+      midx: don't free midx_name early
+      midx: keep track of the checksum
+      midx: make some functions non-static
+      Documentation/technical: describe multi-pack reverse indexes
+      pack-revindex: read multi-pack reverse indexes
+      pack-write.c: extract 'write_rev_file_order'
+      pack-revindex: write multi-pack reverse indexes
+
+Torsten Bögershausen (2):
+      precompose_utf8: make precompose_string_if_needed() public
+      macOS: precompose startup_info->prefix
+
+Ville Skyttä (2):
+      completion: audit and guard $GIT_* against unset use
+      completion: avoid aliased command lookup error in nounset mode
+
+Will Chandler (1):
+      refs: cleanup directories when deleting packed ref
+
+ZheNing Hu (7):
+      commit: add --trailer option
+      format-patch: allow a non-integral version numbers
+      ref-filter: get rid of show_ref_array_item
+      ref-filter: reuse output buffer
+      pretty: provide human date format
+      docs: correct descript of trailer.<token>.command
+      trailer: add new .cmd config option
+
+brian m. carlson (14):
+      builtin/init-db: handle bare clones when core.bare set to false
+      hash: add an algo member to struct object_id
+      Always use oidread to read into struct object_id
+      http-push: set algorithm when reading object ID
+      hash: add a function to finalize object IDs
+      Use the final_oid_fn to finalize hashing of object IDs
+      builtin/pack-redundant: avoid casting buffers to struct object_id
+      hash: set, copy, and use algo field in struct object_id
+      hash: provide per-algorithm null OIDs
+      builtin/show-index: set the algorithm for object IDs
+      commit-graph: don't store file hashes as struct object_id
+      builtin/pack-objects: avoid using struct object_id for pack hash
+      hex: default to the_hash_algo on zero algorithm value
+      hex: print objects using the hash algorithm member
+
+Ævar Arnfjörð Bjarmason (87):
+      grep/pcre2: drop needless assignment + assert() on opt->pcre2
+      grep/pcre2: drop needless assignment to NULL
+      grep/pcre2: correct reference to grep_init() in comment
+      grep/pcre2: prepare to add debugging to pcre2_malloc()
+      grep/pcre2: add GREP_PCRE2_DEBUG_MALLOC debug mode
+      grep/pcre2: use compile-time PCREv2 version test
+      grep/pcre2: use pcre2_maketables_free() function
+      grep/pcre2: actually make pcre2 use custom allocator
+      grep/pcre2: move back to thread-only PCREv2 structures
+      grep/pcre2: move definitions of pcre2_{malloc,free}
+      Makefile: guard against TEST_OBJS in the environment
+      Makefile: split up long OBJECTS line
+      Makefile: sort OBJECTS assignment for subsequent change
+      Makefile: split OBJECTS into OBJECTS and GIT_OBJS
+      Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets
+      remote: add camel-cased *.tagOpt key, like clone
+      remote: write camel-cased *.pushRemote on rename
+      fsck.c: refactor and rename common config callback
+      show tests: add test for "git show <tree>"
+      ls-files tests: add meaningful --with-tree tests
+      tree.c API: move read_tree() into builtin/ls-files.c
+      ls-files: don't needlessly pass around stage variable
+      ls-files: refactor away read_tree()
+      archive: stop passing "stage" through read_tree_recursive()
+      tree.h API: expose read_tree_1() as read_tree_at()
+      tree.h API: simplify read_tree_recursive() signature
+      diff --no-index tests: add test for --exit-code
+      diff --no-index tests: test mode normalization
+      rebase: remove transitory rebase.useBuiltin setting & env
+      mktag tests: fix broken "&&" chain
+      fsck.h: use designed initializers for FSCK_OPTIONS_{DEFAULT,STRICT}
+      fsck.h: use "enum object_type" instead of "int"
+      fsck.c: rename variables in fsck_set_msg_type() for less confusion
+      fsck.c: remove (mostly) redundant append_msg_id() function
+      fsck.c: rename remaining fsck_msg_id "id" to "msg_id"
+      fsck.c: refactor fsck_msg_type() to limit scope of "int msg_type"
+      fsck.h: move FSCK_{FATAL,INFO,ERROR,WARN,IGNORE} into an enum
+      fsck.h: re-order and re-assign "enum fsck_msg_type"
+      fsck.c: call parse_msg_type() early in fsck_set_msg_type()
+      fsck.c: undefine temporary STR macro after use
+      fsck.c: give "FOREACH_MSG_ID" a more specific name
+      fsck.[ch]: move FOREACH_FSCK_MSG_ID & fsck_msg_id from *.c to *.h
+      fsck.c: pass along the fsck_msg_id in the fsck_error callback
+      fsck.c: add an fsck_set_msg_type() API that takes enums
+      fsck.c: move gitmodules_{found,done} into fsck_options
+      fetch-pack: don't needlessly copy fsck_options
+      fetch-pack: use file-scope static struct for fsck_options
+      fetch-pack: use new fsck API to printing dangling submodules
+      Makefile: add QUIET_GEN to "tags" and "TAGS" targets
+      git-send-email: replace "map" in void context with "for"
+      git-send-email: test full --validate output
+      git-send-email: refactor duplicate $? checks into a function
+      git-send-email: improve --validate error output
+      bash completion: complete CHERRY_PICK_HEAD
+      config.c: remove last remnant of GIT_TEST_GETTEXT_POISON
+      userdiff style: re-order drivers in alphabetical order
+      userdiff style: declare patterns with consistent style
+      userdiff style: normalize pascal regex declaration
+      userdiff: add and use for_each_userdiff_driver()
+      userdiff tests: explicitly test "default" pattern
+      userdiff tests: list builtin drivers via test-tool
+      userdiff: remove support for "broken" tests
+      blame tests: don't rely on t/t4018/ directory
+      blame tests: simplify userdiff driver test
+      rebase tests: camel-case rebase.rescheduleFailedExec consistently
+      rebase: don't override --no-reschedule-failed-exec with config
+      Documentation/Makefile: make $(wildcard howto/*.txt) a var
+      Documentation/Makefile: make doc.dep dependencies a variable again
+      doc lint: Perl "strict" and "warnings" in lint-gitlink.perl
+      doc lint: fix bugs in, simplify and improve lint script
+      doc lint: lint and fix missing "GIT" end sections
+      doc lint: lint relative section order
+      docs: fix linting issues due to incorrect relative section order
+      svn tests: remove legacy re-setup from init-clone test
+      svn tests: refactor away a "set -e" in test body
+      tests: remove all uses of test_i18cmp
+      usage.c: don't copy/paste the same comment three times
+      api docs: document BUG() in api-error-handling.txt
+      api docs: document that BUG() emits a trace2 error event
+      pretty tests: simplify %aI/%cI date format test
+      pretty tests: give --date/format tests a better description
+      sparse-index.c: remove set_index_sparse_config()
+      streaming.c: avoid forward declarations
+      streaming.c: remove enum/function/vtbl indirection
+      streaming.c: remove {open,close,read}_method_decl() macros
+      streaming.c: stop passing around "object_info *" to open()
+      streaming.c: move {open,close,read} from vtable to "struct git_istream"
+
+Øystein Walle (2):
+      transport: respect verbosity when setting upstream
+      add: die if both --dry-run and --interactive are given
+
+Đoàn Trần Công Danh (6):
+      mailinfo: load default metainfo_charset lazily
+      mailinfo: stop parsing options manually
+      mailinfo: warn if CRLF found in decoded base64/QP email
+      mailinfo: allow squelching quoted CRLF warning
+      mailinfo: allow stripping quoted CR without warning
+      am: learn to process quoted lines that ends with CRLF
+
+
+Version v2.31.8; changes since v2.31.7:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (6):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (13):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+      tests: avoid using `test_i18ncmp`
+      Git 2.31.8
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.31.7; changes since v2.31.6:
+---------------------------------------
+
+Johannes Schindelin (2):
+      attr: adjust a mismatched data type
+      Git 2.31.7
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.31.6; changes since v2.31.5:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (2):
+      Git 2.30.7
+      Git 2.31.6
+
+Patrick Steinhardt (21):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+
+
+Version v2.31.5; changes since v2.31.4:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (13):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      Git 2.30.6
+      Git 2.31.5
+
+
+Version v2.31.4; changes since v2.31.3:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (2):
+      Git 2.30.5
+      Git 2.31.4
+
+
+Version v2.31.3; changes since v2.31.2:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.31.2; changes since v2.31.1:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Johannes Schindelin (5):
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+      Git 2.31.2
+
+
+Version v2.31.1; changes since v2.31.0:
+---------------------------------------
+
+Andrzej Hunt (2):
+      Makefile: update 'make fuzz-all' docs to reflect modern clang
+      fsmonitor: avoid global-buffer-overflow READ when checking trivial response
+
+Jeff King (1):
+      bisect: peel annotated tags to commits
+
+Johannes Schindelin (2):
+      fsmonitor: fix memory corruption in some corner cases
+      fsmonitor: do not forget to release the token in `discard_index()`
+
+Jonathan Tan (1):
+      t5606: run clone branch name test with protocol v2
+
+Junio C Hamano (3):
+      xcalloc: use CALLOC_ARRAY() when applicable
+      cocci: allow xcalloc(1, size)
+      Git 2.31.1
+
+Kyle Meyer (1):
+      config.txt: add missing period
+
+René Scharfe (6):
+      fix xcalloc() argument order
+      git-compat-util.h: drop trailing semicolon from macro definition
+      use CALLOC_ARRAY
+      vcs-svn: remove header files as well
+      block-sha1: drop trailing semicolon from macro definition
+      mem-pool: drop trailing semicolon from macro definition
+
+Torsten Bögershausen (1):
+      git mv foo FOO ; git mv foo bar gave an assert
+
+
+Version v2.31.0; changes since v2.31.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5104t)
+
+Arusekk (1):
+      l10n: pl.po: Update translation
+
+Bagas Sanjaya (2):
+      l10n: start Indonesian translation
+      l10n: Add translation team info
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.31.0 round 2
+
+Daniel Santos (1):
+      l10n: pt_PT: add Portuguese translations part 1
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Emir Sarı (2):
+      l10n: tr: v2.31.0-rc0
+      l10n: tr: v2.31.0-rc1
+
+Jean-Noël Avila (2):
+      l10n: fr: v2.31.0 rnd 1
+      l10n: fr: v2.31 rnd 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.31.0 round 1 (155 new, 89 removed)
+      l10n: git.pot: v2.31.0 round 2 (9 new, 8 removed)
+      l10n: zh_CN: for git v2.31.0 l10n round 1 and 2
+
+Jonathan Nieder (2):
+      mergetool: do not enable hideResolved by default
+      doc: describe mergetool configuration in git-mergetool(1)
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.31
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git v2.31.0
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (5103t0f0u)
+      l10n: sv.po: Update Swedish translation (5104t0f0u)
+
+Taylor Blau (1):
+      pack-revindex.c: don't close unopened file descriptors
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(5104t): for git v2.31.0 l10n round 2
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: v2.31.0 round 2 (15 untranslated)
+
+
+Version v2.31.0-rc2; changes since v2.31.0-rc1:
+-----------------------------------------------
+
+Elijah Newren (1):
+      Documentation/RelNotes: improve release note for rename detection work
+
+Jeff King (2):
+      Makefile: add OPEN_RETURNS_EINTR knob
+      config.mak.uname: enable OPEN_RETURNS_EINTR for macOS Big Sur
+
+Johannes Schindelin (15):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+      Git 2.27.1
+      Git 2.28.1
+      Git 2.29.3
+      Git 2.30.2
+
+Jonathan Tan (1):
+      fetch-pack: do not mix --pack_header and packfile uri
+
+Junio C Hamano (2):
+      Merged the open-eintr workaround for macOS
+      Git 2.31-rc2
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+Pratyush Yadav (1):
+      Revert "git-gui: remove lines starting with the comment character"
+
+
+Version v2.31.0-rc1; changes since v2.31.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (17):
+      commit-graph: anonymize data in chunk_write_fn
+      chunk-format: create chunk format write API
+      commit-graph: use chunk-format write API
+      midx: rename pack_info to write_midx_context
+      midx: use context in write_midx_pack_names()
+      midx: add entries to write_midx_context
+      midx: add pack_perm to write_midx_context
+      midx: add num_large_offsets to write_midx_context
+      midx: return success/failure in chunk write methods
+      midx: drop chunk progress during write
+      midx: use chunk-format API in write_midx_internal()
+      chunk-format: create read chunk API
+      commit-graph: use chunk-format read API
+      midx: use chunk-format read API
+      midx: use 64-bit multiplication for chunk sizes
+      chunk-format: restore duplicate chunk checks
+      chunk-format: add technical docs
+
+Elijah Newren (8):
+      diffcore-rename: no point trying to find a match better than exact
+      diffcore-rename: filter rename_src list when possible
+      t4001: add a test comparing basename similarity and content similarity
+      diffcore-rename: compute basenames of source and dest candidates
+      diffcore-rename: complete find_basename_matches()
+      diffcore-rename: guide inexact rename detection based on basenames
+      gitdiffcore doc: mention new preliminary step for rename detection
+      merge-ort: call diffcore_rename() directly
+
+Han-Wen Nienhuys (1):
+      doc/reftable: document how to handle windows
+
+Hariom Verma (4):
+      t6300: use function to test trailer options
+      pretty.c: refactor trailer logic to `format_set_trailers_options()`
+      pretty.c: capture invalid trailer argument
+      ref-filter: use pretty.c logic for trailers
+
+Jeff Hostetler (11):
+      p7519: do not rely on "xargs -d" in test
+      p7519: fix watchman watch-list test on Windows
+      p7519: move watchman cleanup earlier in the test
+      p7519: add trace logging during perf test
+      preload-index: log the number of lstat calls to trace2
+      read-cache: log the number of lstat calls to trace2
+      read-cache: log the number of scanned files to trace2
+      fsmonitor: log invocation of FSMonitor hook to trace2
+      fsmonitor: log FSMN token when reading and writing the index
+      fsmonitor: refactor initialization of fsmonitor_last_update token
+      dir: fix malloc of root untracked_cache_dir
+
+Jonathan Tan (4):
+      http: allow custom index-pack args
+      http-fetch: allow custom index-pack args
+      fetch-pack: with packfile URIs, use index-pack arg
+      fetch-pack: print and use dangling .gitmodules
+
+Junio C Hamano (3):
+      Revert "commit-graph: when incompatible with graphs, indicate why"
+      Hopefully the last batch before -rc1
+      Git 2.31-rc1
+
+Kevin Willford (1):
+      fsmonitor: allow all entries for a folder to be invalidated
+
+Mikhail Klyushin (1):
+      git-gui: fix typo in russian locale
+
+Neeraj Singh (1):
+      read-cache: make the index write buffer size 128K
+
+Pratyush Yadav (1):
+      git-gui: remove lines starting with the comment character
+
+Shubham Verma (10):
+      t7001: modernize test formatting
+      t7001: indent with TABs instead of spaces
+      t7001: remove unnecessary blank lines
+      t7001: modernize subshell formatting
+      t7001: remove whitespace after redirect operators
+      t7001: avoid using `cd` outside of subshells
+      t7001: use '>' rather than 'touch'
+      t7001: put each command on a separate line
+      t7001: use here-docs instead of echo
+      t7001: use `test` rather than `[`
+
+Taylor Blau (1):
+      commit-graph.c: display correct number of chunks when writing
+
+
+Version v2.31.0-rc0; changes since v2.30.9:
+-------------------------------------------
+
+Abhishek Kumar (11):
+      commit-graph: fix regression when computing Bloom filters
+      revision: parse parent in indegree_walk_step()
+      commit-graph: consolidate fill_commit_graph_info
+      t6600-test-reach: generalize *_three_modes
+      commit-graph: add a slab to store topological levels
+      commit-graph: return 64-bit generation number
+      commit-graph: implement corrected commit date
+      commit-graph: implement generation data chunk
+      commit-graph: use generation v2 only if entire chain does
+      commit-reach: use corrected commit dates in paint_down_to_common()
+      doc: add corrected commit date info
+
+Alex Henrie (1):
+      rebase: add a config option for --no-fork-point
+
+Andrew Klotz (1):
+      config: improve error message for boolean config
+
+Andrzej Hunt (1):
+      commit-graph: avoid leaking topo_levels slab in write_commit_graph()
+
+Christian Couder (3):
+      fetch-pack: rename helper to create_promisor_file()
+      fetch-pack: refactor writing promisor file
+      pack-write: die on error in write_promisor_file()
+
+Christian Walther (1):
+      doc: mention bigFileThreshold for packing
+
+Denton Liu (12):
+      refs: factor out set_read_ref_cutoffs()
+      refs: allow @{n} to work with n-sized reflog
+      test-lib-functions.sh: fix usage for test_commit()
+      t4203: stop losing return codes of git commands
+      git-stash.txt: be explicit about subcommand options
+      t3905: remove spaces after redirect operators
+      t3905: move all commands into test cases
+      t3905: remove nested git in command substitution
+      t3905: replace test -s with test_file_not_empty
+      t3905: use test_cmp() to check file contents
+      stash: declare ref_stash as an array
+      i18n.txt: camel case and monospace "i18n.commitEncoding"
+
+Derrick Stolee (47):
+      maintenance: extract platform-specific scheduling
+      maintenance: include 'cron' details in docs
+      pack-bitmap-write: fill bitmap with commit history
+      bitmap: implement bitmap_is_subset()
+      commit: implement commit_list_contains()
+      t5310: add branch-based checks
+      pack-bitmap-write: rename children to reverse_edges
+      pack-bitmap-write: build fewer intermediate bitmaps
+      pack-bitmap-write: use existing bitmaps
+      pack-bitmap-write: relax unique revwalk condition
+      pack-bitmap-write: better reuse bitmaps
+      revision: trace topo-walk statistics
+      tree-walk: report recursion counts
+      unpack-trees: add trace2 regions
+      cache-tree: use trace2 in cache_tree_update()
+      maintenance: use launchctl on macOS
+      maintenance: use Windows scheduled tasks
+      cache-tree: trace regions for I/O
+      cache-tree: trace regions for prime_cache_tree
+      index-format: use 'cache tree' over 'cached tree'
+      index-format: update preamble to cache tree extension
+      index-format: discuss recursion of cache-tree better
+      cache-tree: speed up consecutive path comparisons
+      maintenance: set log.excludeDecoration durin prefetch
+      t7900: clean up some broken refs
+      cache-tree: clean up cache_tree_update()
+      cache-tree: simplify verify_cache() prototype
+      cache-tree: extract subtree_pos()
+      fsmonitor: de-duplicate BUG()s around dirty bits
+      repository: add repo reference to index_state
+      name-hash: use trace2 regions for init
+      sparse-checkout: load sparse-checkout patterns
+      test-lib: test_region looks for trace2 regions
+      t1092: test interesting sparse-checkout scenarios
+      commit-reach: reduce requirements for remove_redundant()
+      commit-graph: use repo_parse_commit
+      commit-graph: always parse before commit_graph_data_at()
+      commit-graph: validate layers for generation data
+      commit-graph: compute generations separately
+      commit-graph: be extra careful about mixed generations
+      commit-graph: prepare commit graph
+      maintenance: add pack-refs task
+      maintenance: incremental strategy runs pack-refs weekly
+      commit-reach: use one walk in remove_redundant()
+      commit-reach: move compare_commits_by_gen
+      commit-reach: use heuristic in remove_redundant()
+      commit-reach: stale commits may prune generation further
+
+Elijah Newren (81):
+      merge-ort: setup basic internal data structures
+      merge-ort: add some high-level algorithm structure
+      merge-ort: port merge_start() from merge-recursive
+      merge-ort: use histogram diff
+      merge-ort: add an err() function similar to one from merge-recursive
+      merge-ort: implement a very basic collect_merge_info()
+      merge-ort: avoid repeating fill_tree_descriptor() on the same tree
+      merge-ort: compute a few more useful fields for collect_merge_info
+      merge-ort: record stage and auxiliary info for every path
+      merge-ort: avoid recursing into identical trees
+      merge-ort: add a preliminary simple process_entries() implementation
+      merge-ort: have process_entries operate in a defined order
+      merge-ort: step 1 of tree writing -- record basenames, modes, and oids
+      merge-ort: step 2 of tree writing -- function to create tree object
+      merge-ort: step 3 of tree writing -- handling subdirectories as we go
+      merge-ort: basic outline for merge_switch_to_result()
+      merge-ort: add implementation of checkout()
+      tree: enable cmp_cache_name_compare() to be used elsewhere
+      merge-ort: add implementation of record_conflicted_index_entries()
+      merge-ort: free data structures in merge_finalize()
+      merge-ort: add a few includes
+      merge-ort: add a clear_internal_opts helper
+      merge-ort: add a path_conflict field to merge_options_internal
+      merge-ort: add a paths_to_free field to merge_options_internal
+      merge-ort: add function grouping comments
+      merge-ort: add die-not-implemented stub handle_content_merge() function
+      merge-ort: add modify/delete handling and delayed output processing
+      merge-ort: add basic data structures for handling renames
+      merge-ort: add initial outline for basic rename detection
+      merge-ort: implement detect_regular_renames()
+      merge-ort: implement compare_pairs() and collect_renames()
+      merge-ort: add basic outline for process_renames()
+      diffcore-rename: rename num_create to num_destinations
+      diffcore-rename: avoid usage of global in too_many_rename_candidates()
+      diffcore-rename: simplify limit check
+      diffcore-rename: reduce jumpiness in progress counters
+      t4058: add more tests and documentation for duplicate tree entry handling
+      t4058: explore duplicate tree entry handling in a bit more detail
+      diffcore-rename: simplify and accelerate register_rename_src()
+      diffcore-rename: accelerate rename_dst setup
+      merge-ort: add implementation of both sides renaming identically
+      merge-ort: add implementation of both sides renaming differently
+      merge-ort: add implementation of rename/delete conflicts
+      merge-ort: add implementation of rename collisions
+      merge-ort: add implementation of normal rename handling
+      merge-ort: add implementation of type-changed rename handling
+      commit: move reverse_commit_list() from merge-recursive
+      merge-ort: copy a few small helper functions from merge-recursive.c
+      merge-ort: make clear_internal_opts() aware of partial clearing
+      merge-ort: implement merge_incore_recursive()
+      merge-ort: handle D/F conflict where directory disappears due to merge
+      merge-ort: handle directory/file conflicts that remain
+      merge-ort: implement unique_path() helper
+      merge-ort: handle book-keeping around two- and three-way content merge
+      merge-ort: flesh out implementation of handle_content_merge()
+      merge-ort: copy and adapt merge_3way() from merge-recursive.c
+      merge-ort: copy and adapt merge_submodule() from merge-recursive.c
+      merge-ort: implement format_commit()
+      merge-ort: copy find_first_merges() implementation from merge-recursive.c
+      merge-ort: add handling for different types of files at same path
+      diffcore-rename: remove unnecessary duplicate entry checks
+      merge-ort: add new data structures for directory rename detection
+      merge-ort: initialize and free new directory rename data structures
+      merge-ort: collect which directories are removed in dirs_removed
+      merge-ort: add outline for computing directory renames
+      merge-ort: add outline of get_provisional_directory_renames()
+      merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
+      merge-ort: implement compute_rename_counts()
+      merge-ort: implement handle_directory_level_conflicts()
+      merge-ort: modify collect_renames() for directory rename handling
+      merge-ort: implement compute_collisions()
+      merge-ort: implement apply_dir_rename() and check_dir_renamed()
+      merge-ort: implement check_for_directory_rename()
+      merge-ort: implement handle_path_level_conflicts()
+      merge-ort: add a new toplevel_dir field
+      merge-ort: implement apply_directory_rename_modifications()
+      merge-ort: process_renames() now needs more defensiveness
+      merge-ort: fix a directory rename detection bug
+      merge-ort: fix massive leak
+      merge-ort: ignore the directory rename split conflict for now
+      merge-ort: begin performance work; instrument with trace2_region_* calls
+
+Eric Sunshine (3):
+      worktree: teach `repair` to fix multi-directional breakage
+      t/perf: avoid unnecessary test_export() recursion
+      maintenance: fix incorrect `maintenance.repo` path with bare repository
+
+Eric Wong (2):
+      core.abbrev=no disables abbreviations
+      t1500: ensure current --since= behavior remains
+
+Felipe Contreras (7):
+      pull: refactor fast-forward check
+      pull: give the advice for choosing rebase/merge much later
+      pull: display default warning only when non-ff
+      completion: bash: add __git_have_func helper
+      completion: bash: improve function detection
+      test: completion: add tests for __git_complete
+      completion: add proper public __git_complete
+
+Jacob Vosmaer (4):
+      builtin/pack-objects.c: avoid iterating all refs
+      ls-refs.c: initialize 'prefixes' before using it
+      upload-pack.c: fix filter spec quoting bug
+      t5544: clarify 'hook works with partial clone' test
+
+Jeff King (38):
+      pack-bitmap: fix header size check
+      pack-bitmap: bounds-check size of cache extension
+      t5310: drop size of truncated ewah bitmap
+      rev-list: die when --test-bitmap detects a mismatch
+      ewah: factor out bitmap growth
+      ewah: make bitmap growth less aggressive
+      ewah: implement bitmap_or()
+      ewah: add bitmap_dup() function
+      pack-bitmap-write: reimplement bitmap writing
+      pack-bitmap-write: pass ownership of intermediate bitmaps
+      pack-bitmap-write: ignore BITMAP_FLAG_REUSE
+      quote: make sq_dequote_step() a public function
+      for_each_object_in_pack(): clarify pack vs index ordering
+      config: parse more robust format in GIT_CONFIG_PARAMETERS
+      refs: switch peel_ref() to peel_iterated_oid()
+      run-command: document use_shell option
+      git-svn tests: rewrite brittle tests to use "--[no-]merges".
+      git-compat-util: always enable variadic macros
+      commit_graft_pos(): take an oid instead of a bare hash
+      rerere: check dirname format while iterating rr_cache directory
+      rerere: tighten rr-cache dirname check
+      rerere: use strmap to store rerere directories
+      hash_pos(): convert to oid_pos()
+      oid_pos(): access table through const pointers
+      t0000: keep clean-up tests together
+      t0000: run prereq tests inside sub-test
+      t0000: run cleaning test inside sub-test
+      t0000: consistently use single quotes for outer tests
+      pretty: lazy-load commit data when expanding user-format
+      completion: treat "branch -D" the same way as "branch -d"
+      completion: handle other variants of "branch -m"
+      doc/git-branch: fix awkward wording for "-c"
+      t: add --no-tag option to test_commit
+      mailmap: only look for .mailmap in work tree
+      rev-list: add --disk-usage option for calculating disk usage
+      docs/rev-list: add an examples section
+      docs/rev-list: add some examples of --disk-usage
+      doc: mention approxidates for git-commit --date
+
+Jiang Xin (5):
+      test: add helper functions for git-bundle
+      bundle: lost objects when removing duplicate pendings
+      bundle: arguments can be read from stdin
+      t5411: use different out file to prevent overwriting
+      t5411: refactor check of refs using test_cmp_refs
+
+Joey Salazar (1):
+      doc: fix naming of response-end-pkt
+
+Johannes Schindelin (42):
+      tests: mark tests relying on the current default for `init.defaultBranch`
+      t0060: preemptively adjust alignment
+      t[01]*: adjust the references to the default branch name "main"
+      t2*: adjust the references to the default branch name "main"
+      t3[0-3]*: adjust the references to the default branch name "main"
+      t3416: preemptively adjust alignment in a comment
+      t34*: adjust the references to the default branch name "main"
+      t3[5-9]*: adjust the references to the default branch name "main"
+      t4*: adjust the references to the default branch name "main"
+      t5323: prepare centered comment for `master` -> `main`
+      t5[0-4]*: adjust the references to the default branch name "main"
+      t5503: prepare aligned comment for replacing `master` with `main`
+      t550*: adjust the references to the default branch name "main"
+      t551*: adjust the references to the default branch name "main"
+      t55[23]*: adjust the references to the default branch name "main"
+      t55[4-9]*: adjust the references to the default branch name "main"
+      t5[6-9]*: adjust the references to the default branch name "main"
+      t6[0-3]*: adjust the references to the default branch name "main"
+      t64*: preemptively adjust alignment to prepare for `master` -> `main`
+      t6[4-9]*: adjust the references to the default branch name "main"
+      t7[0-4]*: adjust the references to the default branch name "main"
+      t7[5-9]*: adjust the references to the default branch name "main"
+      t8*: adjust the references to the default branch name "main"
+      t9[0-4]*: adjust the references to the default branch name "main"
+      t9[5-7]*: adjust the references to the default branch name "main"
+      tests(git-p4): transition to the default branch name `main`
+      t99*: adjust the references to the default branch name "main"
+      tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
+      range-diff/format-patch: refactor check for commit range
+      rebase -i: do leave commit message intact in fixup! chains
+      range-diff: avoid leaking memory in two error code paths
+      range-diff: libify the read_patches() function again
+      range-diff: simplify code spawning `git log`
+      range-diff: combine all options in a single data structure
+      range-diff: move the diffopt initialization down one layer
+      range-diff: offer --left-only/--right-only options
+      range-diff/format-patch: handle commit ranges other than A..B
+      range-diff(docs): explain how to specify commit ranges
+      t1450: robustify `remove_object()`
+      fsck --name-objects: be more careful parsing generation numbers
+      reflog expire --stale-fix: be generous about missing objects
+      commit-graph: when incompatible with graphs, indicate why
+
+Johannes Sixt (1):
+      replace "parameters" by "arguments" in error messages
+
+Jonathan Tan (4):
+      ls-refs: report unborn targets of symrefs
+      connect, transport: encapsulate arg in struct
+      clone: respect remote unborn HEAD
+      usage: trace2 BUG() invocations
+
+Junio C Hamano (21):
+      pack-redundant: gauge the usage before proposing its removal
+      pull: get rid of unnecessary global variable
+      pull: correct condition to trigger non-ff advice
+      CoC: explicitly take any whitespace breakage
+      The first batch in 2.31 cycle
+      t4203: make blame output massaging more robust
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      The eighth batch
+      diff: --{rotate,skip}-to=<path>
+      The ninth batch
+      Documentation: typofix --column description
+      The tenth batch
+      push: do not turn --delete '' into a matching push
+      blame-options.txt: camelcase blame.blankBoundary
+      index-format doc: camelCase core.excludesFile
+      Git 2.31-rc0
+
+Martin von Zweigbergk (1):
+      docs: clarify that refs/notes/ do not keep the attached objects alive
+
+Martin Ågren (7):
+      object-name.c: rename from sha1-name.c
+      object-file.c: rename from sha1-file.c
+      sha1-lookup: rename `sha1_pos()` as `hash_pos()`
+      hash-lookup: rename from sha1-lookup
+      rev-list-options.txt: fix rendering of bonus paragraph
+      git.txt: fix monospace rendering
+      gitmailmap.txt: fix rendering of e-mail addresses
+
+Matheus Tavares (7):
+      grep: error out if --untracked is used with --cached
+      grep: honor sparse-checkout on working tree searches
+      write_entry(): fix misuses of `path` in error messages
+      checkout-index: omit entries with no tempname from --temp output
+      add --chmod: don't update index when --dry-run is used
+      add: mark --chmod error string for translation
+      add: propagate --chmod errors to exit status
+
+Patrick Steinhardt (11):
+      git: add `--super-prefix` to usage string
+      config: add new way to pass config via `--config-env`
+      config: extract function to parse config pairs
+      fetch: extract writing to FETCH_HEAD
+      fetch: use strbuf to format FETCH_HEAD updates
+      fetch: refactor `s_update_ref` to use common exit path
+      fetch: allow passing a transaction to `s_update_ref()`
+      fetch: implement support for atomic reference updates
+      config: store "git -c" variables using more robust format
+      environment: make `getenv_safe()` a public function
+      config: allow specifying config entries via envvar pairs
+
+Phil Hord (1):
+      use delete_refs when deleting tags or branches
+
+Philippe Blain (1):
+      mailmap doc: use correct environment variable 'GIT_WORK_TREE'
+
+Pranit Bauva (7):
+      bisect--helper: reimplement `bisect_log` shell function in C
+      bisect--helper: reimplement `bisect_replay` shell function in C
+      bisect--helper: retire `--bisect-write` subcommand
+      bisect--helper: use `res` instead of return in BISECT_RESET case option
+      bisect--helper: retire `--bisect-auto-next` subcommand
+      bisect--helper: reimplement `bisect_skip` shell function in C
+      bisect--helper: retire `--check-and-set-terms` subcommand
+
+Rafael Silva (8):
+      worktree: libify should_prune_worktree()
+      worktree: teach worktree to lazy-load "prunable" reason
+      worktree: teach worktree_lock_reason() to gently handle main worktree
+      t2402: ensure locked worktree is properly cleaned up
+      worktree: teach `list --porcelain` to annotate locked worktree
+      worktree: teach `list` to annotate prunable worktree
+      worktree: teach `list` verbose mode
+      blame: remove unnecessary use of get_commit_info()
+
+René Scharfe (1):
+      cache-tree: use ce_namelen() instead of strlen()
+
+SZEDER Gábor (2):
+      t7800-difftool: don't accidentally match tmp dirs
+      test-lib: prevent '--stress-jobs=X' from being ignored
+
+Sangeeta Jain (1):
+      diff: do not show submodule with untracked files as "-dirty"
+
+Sergey Organov (32):
+      revision: factor out parsing of diff-merge related options
+      revision: factor out setup of diff-merge related settings
+      revision: factor out initialization of diff-merge related settings
+      revision: provide implementation for diff merges tweaks
+      revision: move diff merges functions to its own diff-merges.c
+      diff-merges: rename all functions to have common prefix
+      diff-merges: move checks for first_parent_only out of the module
+      diff-merges: rename diff_merges_default_to_enable() to match semantics
+      diff-merges: re-arrange functions to match the order they are called in
+      diff-merges: new function diff_merges_suppress()
+      diff-merges: new function diff_merges_set_dense_combined_if_unset()
+      diff-merges: introduce revs->first_parent_merges flag
+      diff-merges: handle imply -p on -c/--cc logic for log.c
+      diff-merges: revise revs->diff flag handling
+      t4013: support test_expect_failure through ':failure' magic
+      t4013: add tests for -m failing to override -c/--cc
+      diff-merges: fix -m to properly override -c/--cc
+      diff-merges: split 'ignore_merges' field
+      diff-merges: group diff-merge flags next to each other inside 'rev_info'
+      diff-merges: get rid of now empty diff_merges_init_revs()
+      diff-merges: refactor opt settings into separate functions
+      diff-merges: make -m/-c/--cc explicitly mutually exclusive
+      diff-merges: implement new values for --diff-merges
+      diff-merges: do not imply -p for new options
+      diff-merges: let new options enable diff without -p
+      diff-merges: add old mnemonic counterparts to --diff-merges
+      diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
+      doc/git-log: describe new --diff-merges options
+      doc/diff-generate-patch: mention new --diff-merges option
+      doc/rev-list-options: document --first-parent changes merges format
+      doc/git-show: include --diff-merges description
+      t4013: add tests for --diff-merges=first-parent
+
+Seth House (4):
+      mergetool: add hideResolved configuration
+      mergetool: break setup_tool out into separate initialization function
+      mergetool: add per-tool support and overrides for the hideResolved flag
+      mergetools/vimdiff: add vimdiff1 merge tool variant
+
+Taylor Blau (36):
+      ewah/ewah_bitmap.c: avoid open-coding ALLOC_GROW()
+      pack-bitmap.c: check reads more aggressively when loading
+      pack-bitmap: factor out 'bitmap_for_commit()'
+      pack-bitmap: factor out 'add_commit_to_bitmap()'
+      pack-revindex: introduce a new API
+      write_reuse_object(): convert to new revindex API
+      write_reused_pack_one(): convert to new revindex API
+      write_reused_pack_verbatim(): convert to new revindex API
+      check_object(): convert to new revindex API
+      bitmap_position_packfile(): convert to new revindex API
+      show_objects_for_type(): convert to new revindex API
+      get_size_by_pos(): convert to new revindex API
+      try_partial_reuse(): convert to new revindex API
+      rebuild_existing_bitmaps(): convert to new revindex API
+      get_delta_base_oid(): convert to new revindex API
+      retry_bad_packed_offset(): convert to new revindex API
+      packed_object_info(): convert to new revindex API
+      unpack_entry(): convert to new revindex API
+      for_each_object_in_pack(): convert to new revindex API
+      builtin/gc.c: guess the size of the revindex
+      pack-revindex: remove unused 'find_pack_revindex()'
+      pack-revindex: remove unused 'find_revindex_position()'
+      pack-revindex: hide the definition of 'revindex_entry'
+      pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
+      refs: expose 'for_each_fullref_in_prefixes'
+      ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
+      packfile: prepare for the existence of '*.rev' files
+      pack-write.c: prepare to write 'pack-*.rev' files
+      builtin/index-pack.c: allow stripping arbitrary extensions
+      builtin/index-pack.c: write reverse indexes
+      builtin/pack-objects.c: respect 'pack.writeReverseIndex'
+      Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
+      t: prepare for GIT_TEST_WRITE_REV_INDEX
+      t: support GIT_TEST_WRITE_REV_INDEX
+      pack-revindex: ensure that on-disk reverse indexes are given precedence
+      t5325: check both on-disk and in-memory reverse index
+
+Thomas Ackermann (6):
+      doc hash-function-transition: fix asciidoc output
+      doc hash-function-transition: use SHA-1 and SHA-256 consistently
+      doc hash-function-transition: use upper case consistently
+      doc hash-function-transition: fix incomplete sentence
+      doc hash-function-transition: move rationale upwards
+      doc: use https links
+
+Torsten Bögershausen (1):
+      MacOS: precompose_argv_prefix()
+
+ZheNing Hu (4):
+      ls_files.c: bugfix for --deleted and --modified
+      ls_files.c: consolidate two for loops into one
+      ls-files.c: add --deduplicate option
+      difftool.c: learn a new way start at specified file
+
+brian m. carlson (8):
+      abspath: add a function to resolve paths with missing components
+      rev-parse: add option for absolute or relative path formatting
+      ref-filter: switch some uses of unsigned long to size_t
+      commit: ignore additional signatures when parsing signed commits
+      gpg-interface: improve interface for parsing tags
+      commit: allow parsing arbitrary buffers with headers
+      ref-filter: hoist signature parsing
+      gpg-interface: remove other signature headers before verifying
+
+Ævar Arnfjörð Bjarmason (90):
+      pretty format %(trailers) test: split a long line
+      pretty format %(trailers) doc: avoid repetition
+      pretty-format %(trailers): fix broken standalone "valueonly"
+      pretty format %(trailers): add a "keyonly"
+      pretty format %(trailers): add a "key_value_separator"
+      mktag doc: say <hash> not <sha1>
+      mktag doc: grammar fix, when exists -> when it exists
+      CoC: Update word-wrapping to match upstream
+      mktag doc: update to explain why to use this
+      mktag tests: don't needlessly use a subshell
+      mktag tests: use "test_commit" helper
+      mktag tests: remove needless SHA-1 hardcoding
+      mktag tests: don't redirect stderr to a file needlessly
+      mktag tests: don't create "mytag" twice
+      mktag tests: run "fsck" after creating "mytag"
+      mktag tests: stress test whitespace handling
+      mktag tests: test "hash-object" compatibility
+      mktag tests: improve verify_object() test coverage
+      mktag tests: test verify_object() with replaced objects
+      mktag: use default strbuf_read() hint
+      mktag: remove redundant braces in one-line body "if"
+      mktag: use puts(str) instead of printf("%s\n", str)
+      mktag: use fsck instead of custom verify_tag()
+      fsck: make fsck_config() re-usable
+      mktag: allow turning off fsck.extraHeaderEntry
+      mktag: allow omitting the header/body \n separator
+      mktag: convert to parse-options
+      mktag: mark strings for translation
+      mktag: add a --[no-]strict option
+      mailmap doc: create a new "gitmailmap(5)" man page
+      mailmap doc: quote config variables `like.this`
+      check-mailmap doc: note config options
+      mailmap doc: start by mentioning the comment syntax
+      mailmap tests: use our preferred whitespace syntax
+      mailmap tests: modernize syntax & test idioms
+      mailmap tests: improve --stdin tests
+      mailmap tests: remove redundant entry in test
+      mailmap tests: add a test for "not a blob" error
+      mailmap tests: get rid of overly complex blame fuzzing
+      mailmap: test for silent exiting on missing file/blob
+      test-lib functions: expand "test_commit" comment template
+      test-lib functions: document arguments to test_commit
+      test-lib functions: add --author support to test_commit
+      test-lib functions: add an --append option to test_commit
+      tests: refactor a few tests to use "test_commit --append"
+      mailmap doc + tests: add better examples & test them
+      mailmap tests: add a test for comment syntax
+      mailmap tests: add tests for whitespace syntax
+      mailmap tests: add tests for empty "<>" syntax
+      mailmap doc + tests: document and test for case-insensitivity
+      shortlog: remove unused(?) "repo-abbrev" feature
+      CoC: update to version 2.0 + local changes
+      ci: remove GETTEXT_POISON jobs
+      tests: remove support for GIT_TEST_GETTEXT_POISON
+      tests: remove uses of GIT_TEST_GETTEXT_POISON=false
+      cache-tree tests: refactor for modern test style
+      cache-tree tests: remove unused $2 parameter
+      cache-tree tests: use a sub-shell with less indirection
+      cache-tree tests: explicitly test HEAD and index differences
+      git svn mergeinfo tests: modernize redirection & quoting style
+      git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
+      upload-pack tests: avoid a non-zero "grep" exit status
+      archive tests: use a cheaper "zipinfo -h" invocation to get header
+      rm tests: actually test for SIGPIPE in SIGPIPE test
+      config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
+      Remove support for v1 of the PCRE library
+      grep/pcre2 tests: don't rely on invalid UTF-8 data test
+      grep/pcre2: better support invalid UTF-8 haystacks
+      grep/log: remove hidden --debug and --grep-debug options
+      pager: refactor wait_for_pager() function
+      pager: test for exit code with and without SIGPIPE
+      run-command: add braces for "if" block in wait_or_whine()
+      pager: properly log pager exit code when signalled
+      test-lib: remove check_var_migration
+      test lib: change "error" to "BUG" as appropriate
+      test-lib-functions: move test_set_index_version() to its user
+      test-lib-functions: remove generate_zero_bytes() wrapper
+      test libs: rename bundle helper to "lib-bundle.sh"
+      test libs: rename gitweb-lib.sh to lib-gitweb.sh
+      test-lib-functions: move function to lib-bitmap.sh
+      t/.gitattributes: sort lines
+      tests: remove last uses of GIT_TEST_GETTEXT_POISON=false
+      tests: remove most uses of C_LOCALE_OUTPUT
+      tests: remove last uses of C_LOCALE_OUTPUT
+      tests: remove most uses of test_i18ncmp
+      diff: add an API for deferred freeing
+      diff: plug memory leak from regcomp() on {log,diff} -I
+      test libs: rename "diff-lib" to "lib-diff"
+      test-lib-functions: remove bug-inducing "diagnostics" helper param
+      test-lib-functions: assert correct parameter count
+
+
+Version v2.30.9; changes since v2.30.8:
+---------------------------------------
+
+Derrick Stolee (1):
+      ci: update 'static-analysis' to Ubuntu 22.04
+
+Jeff King (6):
+      http-push: prefer CURLOPT_UPLOAD to CURLOPT_PUT
+      http: prefer CURLOPT_SEEKFUNCTION to CURLOPT_IOCTLFUNCTION
+      range-diff: drop useless "offset" variable from read_patches()
+      http: support CURLOPT_PROTOCOLS_STR
+      range-diff: handle unterminated lines in read_patches()
+      range-diff: use ssize_t for parsed "len" in read_patches()
+
+Jiang Xin (4):
+      github-actions: run gcc-8 on ubuntu-20.04 image
+      ci: remove the pipe after "p4 -V" to catch errors
+      ci: use the same version of p4 on both Linux and macOS
+      ci: install python on ubuntu
+
+Johannes Schindelin (11):
+      compat/win32/syslog: fix use-after-realloc
+      nedmalloc: avoid new compile error
+      t0033: GETTEXT_POISON fix
+      t0003: GETTEXT_POISON fix, part 1
+      t0003: GETTEXT_POISON fix, conclusion
+      t5619: GETTEXT_POISON fix
+      t5604: GETTEXT_POISON fix, part 1
+      t5604: GETTEXT_POISON fix, conclusion
+      clone.c: avoid "exceeds maximum object size" error with GCC v12.x
+      apply --reject: overwrite existing `.rej` symlink if it exists
+      gettext: avoid using gettext if the locale dir is not present
+
+Junio C Hamano (1):
+      http.c: clear the 'finished' member once we are done with it
+
+Taylor Blau (5):
+      t1300: demonstrate failure when renaming sections with long lines
+      config: avoid fixed-sized buffer when renaming/deleting a section
+      config.c: avoid integer truncation in `copy_or_rename_section_in_file()`
+      config.c: disallow overly-long lines in `copy_or_rename_section_in_file()`
+      Git 2.30.9
+
+
+Version v2.30.8; changes since v2.30.7:
+---------------------------------------
+
+Johannes Schindelin (1):
+      attr: adjust a mismatched data type
+
+Junio C Hamano (1):
+      Git 2.30.8
+
+Patrick Steinhardt (1):
+      apply: fix writing behind newly created symbolic links
+
+Taylor Blau (3):
+      t5619: demonstrate clone_local() with ambiguous transport
+      clone: delay picking a transport until after get_repo_path()
+      dir-iterator: prevent top-level symlinks without FOLLOW_SYMLINKS
+
+
+Version v2.30.7; changes since v2.30.6:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      test-lib: add prerequisite for 64-bit platforms
+
+Junio C Hamano (1):
+      Git 2.30.7
+
+Patrick Steinhardt (21):
+      attr: fix overflow when upserting attribute with overly long name
+      attr: fix out-of-bounds read with huge attribute names
+      attr: fix integer overflow when parsing huge attribute names
+      attr: fix out-of-bounds write when parsing huge number of attributes
+      attr: fix out-of-bounds read with unreasonable amount of patterns
+      attr: fix integer overflow with more than INT_MAX macros
+      attr: harden allocation against integer overflows
+      attr: fix silently splitting up lines longer than 2048 bytes
+      attr: ignore attribute lines exceeding 2048 bytes
+      attr: ignore overly large gitattributes files
+      pretty: fix out-of-bounds write caused by integer overflow
+      pretty: fix out-of-bounds read when left-flushing with stealing
+      pretty: fix out-of-bounds read when parsing invalid padding format
+      pretty: fix adding linefeed when placeholder is not expanded
+      pretty: fix integer overflow in wrapping format
+      utf8: fix truncated string lengths in `utf8_strnwidth()`
+      utf8: fix returning negative string width
+      utf8: fix overflow when returning string width
+      utf8: fix checking for glyph width in `strbuf_utf8_replace()`
+      utf8: refactor `strbuf_utf8_replace` to not rely on preallocated buffer
+      pretty: restrict input lengths for padding and wrapping formats
+
+
+Version v2.30.6; changes since v2.30.5:
+---------------------------------------
+
+Jeff King (2):
+      shell: add basic tests
+      shell: limit size of interactive commands
+
+Kevin Backhouse (1):
+      alias.c: reject too-long cmdline strings in split_cmdline()
+
+Taylor Blau (12):
+      builtin/clone.c: disallow `--local` clones with symlinks
+      t/lib-submodule-update.sh: allow local submodules
+      t/t1NNN: allow local submodules
+      t/2NNNN: allow local submodules
+      t/t3NNN: allow local submodules
+      t/t4NNN: allow local submodules
+      t/t5NNN: allow local submodules
+      t/t6NNN: allow local submodules
+      t/t7NNN: allow local submodules
+      t/t9NNN: allow local submodules
+      transport: make `protocol.file.allow` be "user" by default
+      Git 2.30.6
+
+
+Version v2.30.5; changes since v2.30.4:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (5):
+      t: regression git needs safe.directory when using sudo
+      git-compat-util: avoid failing dir ownership checks if running privileged
+      t0034: add negative tests and allow git init to mostly work under sudo
+      git-compat-util: allow root to access both SUDO_UID and root owned
+      setup: tighten ownership checks post CVE-2022-24765
+
+Johannes Schindelin (1):
+      Git 2.30.5
+
+
+Version v2.30.4; changes since v2.30.3:
+---------------------------------------
+
+Derrick Stolee (2):
+      t0033: add tests for safe.directory
+      setup: opt-out of check with safe.directory=*
+
+Junio C Hamano (1):
+      Git 2.30.4
+
+Matheus Valadares (1):
+      setup: fix safe.directory key not being checked
+
+
+Version v2.30.3; changes since v2.30.2:
+---------------------------------------
+
+Carlo Marcelo Arenas Belón (1):
+      mingw: avoid fallback for {local,gm}time_r()
+
+Johannes Schindelin (4):
+      Add a function to determine whether a path is owned by the current user
+      setup_git_directory(): add an owner check for the top-level directory
+      Fix `GIT_CEILING_DIRECTORIES` with `C:\` and the likes
+      Git 2.30.3
+
+
+Version v2.30.2; changes since v2.30.1:
+---------------------------------------
+
+Johannes Schindelin (15):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+      Git 2.27.1
+      Git 2.28.1
+      Git 2.29.3
+      Git 2.30.2
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+Taylor Blau (1):
+      .github/workflows/main.yml: run static-analysis on bionic
+
+
+Version v2.30.1; changes since v2.30.0:
+---------------------------------------
+
+Adam Dinwoodie (1):
+      t4129: fix setfacl-related permissions failure
+
+Antonio Russo (1):
+      t6016: move to lib-log-graph.sh framework
+
+Daniel Levin (1):
+      git-p4: fix syncing file types with pattern
+
+Derrick Stolee (1):
+      for-each-repo: do nothing on empty config
+
+Elijah Newren (3):
+      t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
+      stash: remove unnecessary process forking
+      stash: fix stash application in sparse-checkouts
+
+Felipe Contreras (1):
+      test: bisect-porcelain: fix location of files
+
+Jeff King (5):
+      git_connect_git(): forbid newlines in host and path
+      fsck: reject .gitmodules git:// urls with newlines
+      t5516: loosen "not our ref" error check
+      patch-ids: handle duplicate hashmap entries
+      p5303: avoid sed GNU-ism
+
+Johannes Schindelin (1):
+      SKIP_DASHED_BUILT_INS: respect `config.mak`
+
+Johannes Sixt (1):
+      annotate-tests: quote variable expansions containing path names
+
+Jonathan Tan (1):
+      Doc: clarify contents of packfile sent as URI
+
+Junio C Hamano (5):
+      parse-options: format argh like error messages
+      SubmittingPatches: tighten wording on "sign-off" procedure
+      ci/install-depends: attempt to fix "brew cask" stuff
+      Prepare for 2.30.1
+      Git 2.30.1
+
+Martin Ågren (9):
+      t1300: remove duplicate test for `--file ../foo`
+      t1300: remove duplicate test for `--file no-such-file`
+      t1300: don't needlessly work with `core.foo` configs
+      pack-format.txt: document sizes at start of delta data
+      builtin/gc: don't peek into `struct lock_file`
+      commit-graph: don't peek into `struct lock_file`
+      midx: don't peek into `struct lock_file`
+      refs/files-backend: don't peek into `struct lock_file`
+      read-cache: try not to peek into `struct {lock_,temp}file`
+
+Matheus Tavares (1):
+      t4129: don't fail if setgid is set in the test directory
+
+Peter Kaestle (1):
+      submodules: fix of regression on fetching of non-init subsub-repo
+
+Philippe Blain (3):
+      gitmodules.txt: fix 'GIT_WORK_TREE' variable name
+      mergetool--lib: fix '--tool-help' to correctly show available tools
+      ci: do not cancel all jobs of a matrix if one fails
+
+René Scharfe (1):
+      rebase: verify commit parameter
+
+Taylor Blau (2):
+      p7519: allow running without watchman prereq
+      Documentation/git-clone.txt: document race with --local
+
+Thomas Ackermann (1):
+      doc: fix some typos
+
+Utku Gultopu (1):
+      doc: remove "directory cache" from man pages
+
+Vasyl Vavrychuk (1):
+      git-send-email.txt: mention less secure app access with Gmail
+
+ZheNing Hu (1):
+      builtin/*: update usage format
+
+brian m. carlson (1):
+      docs: rephrase and clarify the git status --short format
+
+Ævar Arnfjörð Bjarmason (10):
+      branch: change "--local" to "--list" in comment
+      branch tests: add to --sort tests
+      ref-filter: add braces to if/else if/else chain
+      ref-filter: move "cmp_fn" assignment into "else if" arm
+      ref-filter: move ref_sorting flags to a bitfield
+      branch: sort detached HEAD based on a flag
+      branch: show "HEAD detached" first under reverse sort
+      Makefile: remove a warning about old GETTEXT_POISON flag
+      gettext.c: remove/reword a mostly-useless comment
+      fsck doc: remove ancient out-of-date diagnostics
+
+
+Version v2.30.0; changes since v2.30.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5037t)
+
+Arusekk (1):
+      l10n: pl.po: add translation and set team leader
+
+Baptiste Fontaine (1):
+      l10n: fr.po Fix a typo
+
+Emir Sarı (2):
+      l10n: tr: v2.30.0-r1
+      l10n: tr: v2.30.0-r2
+
+Jean-Noël Avila (3):
+      l10n: fr fix misleading message
+      l10n: fr.po: v2.30.0 rnd 1
+      l10n: fr.po v2.30.0 rnd 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.30.0 round 1 (70 new, 45 removed)
+      l10n: git.pot: v2.30.0 round 2 (1 new, 2 removed)
+      l10n: zh_CN: for git v2.30.0 l10n round 1 and 2
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.30
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git 2.30.0
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (5038t0f0u)
+      l10n: sv.po: Update Swedish translation (5037t0f0u)
+
+Philippe Blain (1):
+      git.txt: fix typos in 'linkgit' macro invocation
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(5037t): v2.30.0 rnd 2
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: v2.30.0 round 2 (1 untranslated)
+
+m4sk1n (1):
+      l10n: pl.po: started Polish translation
+
+
+Version v2.30.0-rc2; changes since v2.30.0-rc1:
+-----------------------------------------------
+
+Jiang Xin (1):
+      pack-redundant: fix crash when one packfile in repo
+
+Johannes Schindelin (12):
+      t1400: use `main` as initial branch name
+      t3200: finish transitioning to the initial branch name `main`
+      t3201: finalize transitioning to using the branch name `main`
+      t3203: complete the transition to using the branch name `main`
+      t3205: finalize transitioning to using the branch name `main`
+      t5505: finalize transitioning to using the branch name `main`
+      t5510: use `main` as initial branch name
+      t5703: use `main` as initial branch name
+      t6302: use `main` as initial branch name
+      t9902: use `main` as initial branch name
+      tests: drop the `PREPARE_FOR_MAIN_BRANCH` prereq
+      checkout -p: handle tree arguments correctly again
+
+Junio C Hamano (1):
+      Git 2.30-rc2
+
+Martin Ågren (3):
+      git-maintenance.txt: add missing word
+      gc: fix handling of crontab magic markers
+      t7900-maintenance: test for magic markers
+
+Nipunn Koorapati (2):
+      negative-refspec: fix segfault on : refspec
+      negative-refspec: improve comment on query_matches_negative_refspec
+
+
+Version v2.30.0-rc1; changes since v2.30.0-rc0:
+-----------------------------------------------
+
+David Aguilar (1):
+      git-gui: ssh-askpass: add a checkbox to show the input text
+
+Dimitriy Ryazantcev (1):
+      git-gui: update Russian translation
+
+Eric Sunshine (1):
+      t/perf: fix test_export() failure with BSD `sed`
+
+Jeff Hostetler (1):
+      index-format.txt: document v2 format of file system monitor extension
+
+Jeff King (9):
+      oid-array.h: drop sha1 mention from header guard
+      t0064: drop sha1 mention from filename
+      t0064: make duplicate tests more robust
+      cache.h: move hash/oid functions to hash.h
+      oid-array: make sort function public
+      oid-array: provide a for-loop iterator
+      commit-graph: drop count_distinct_commits() function
+      commit-graph: replace packed_oid_list with oid_array
+      commit-graph: use size_t for array allocation and indexing
+
+Johannes Berg (1):
+      docs: multi-pack-index: remove note about future 'verify' work
+
+Johannes Schindelin (6):
+      t6300: avoid using the default name of the initial branch
+      t7064: avoid relying on a specific default branch name
+      init: document `init.defaultBranch` better
+      branch -m: allow renaming a yet-unborn branch
+      get_default_branch_name(): prepare for showing some advice
+      init: provide useful advice about init.defaultBranch
+
+Josh Steadmon (1):
+      t7900: use --fixed-value in git-maintenance tests
+
+Junio C Hamano (5):
+      strmap: make callers of strmap_remove() to call it in void context
+      compat-util: pretend that stub setitimer() always succeeds
+      diff: correct interaction between --exit-code and -I<pattern>
+      Another batch before 2.30-rc1
+      Git 2.30-rc1
+
+Martin Schön (1):
+      git-gui: use commit message template
+
+Pratyush Yadav (1):
+      git-gui: Only touch GITGUI_MSG when needed
+
+Ramsay Jones (6):
+      Documentation/Makefile: conditionally include doc.dep
+      Documentation/Makefile: conditionally include ../GIT-VERSION-FILE
+      gitweb/Makefile: conditionally include ../GIT-VERSION-FILE
+      Makefile: don't try to clean old debian build product
+      Makefile: don't use a versioned temp distribution directory
+      Makefile: conditionally include GIT-VERSION-FILE
+
+Randall S. Becker (1):
+      config.mak.uname: remove old NonStop compatibility settings
+
+Serg Tereshchenko (1):
+      git-gui: Fix selected text colors
+
+Stefan Haller (2):
+      git-gui: fix colored label backgrounds when using themed widgets
+      git-gui: use gray background for inactive text widgets
+
+Taylor Blau (2):
+      builtin/clone.c: don't ignore transport_fetch_refs() errors
+      upload-pack.c: don't free allowed_filters util pointers
+
+Ævar Arnfjörð Bjarmason (1):
+      style: do not "break" in switch() after "return"
+
+Đoàn Trần Công Danh (1):
+      doc: mention Python 3.x supports
+
+
+Version v2.30.0-rc0; changes since v2.29.3:
+-------------------------------------------
+
+Adam Spiers (1):
+      hook: add sample template for push-to-checkout
+
+Alex Vandiver (2):
+      dir.c: fix comments to agree with argument name
+      fsmonitor: use fsmonitor data in `git diff`
+
+Alexey (1):
+      completion: fix zsh installation instructions
+
+Amanda Shafack (1):
+      t2200,t9832: avoid using 'git' upstream in a pipe
+
+Arnout Engelen (1):
+      doc: make HTML manual reproducible
+
+Bradley M. Kuhn (2):
+      Documentation: clarify and expand description of --signoff
+      Documentation: stylistically normalize references to Signed-off-by:
+
+Caleb Tillman (1):
+      t0000: use test_path_is_file instead of "test -f"
+
+Charvi Mendiratta (5):
+      t7101,t7102,t7201: modernize test formatting
+      t7102,t7201: remove unnecessary blank spaces in test body
+      t7102,t7201: remove whitespace after redirect operator
+      t7201: use 'git -C' to avoid subshell
+      t7201: put each command on a separate line
+
+Chris. Webster (1):
+      ci: github action - add check for whitespace errors
+
+Daniel Duvall (1):
+      upload-pack: allow stateless client EOF just prior to haves
+
+Daniel Gurney (2):
+      compat/bswap.h: simplify MSVC endianness detection
+      compat/bswap.h: don't assume MSVC is little-endian
+
+Dennis Ameling (1):
+      ci(vs-build): stop passing the iconv library location explicitly
+
+Denton Liu (18):
+      t4068: remove unnecessary >tmp
+      git-diff-index.txt: make --cached description a proper sentence
+      git-diff.txt: backtick quote command text
+      contrib/completion: extract common diff/difftool options
+      diff-lib: accept option flags in run_diff_index()
+      diff-lib: define diff_get_merge_base()
+      t4068: add --merge-base tests
+      builtin/diff-index: learn --merge-base
+      builtin/diff-tree: learn --merge-base
+      contrib/completion: complete `git diff --merge-base`
+      Documentation/config/checkout: replace sq with backticks
+      builtin/checkout: fix `git checkout -p HEAD...` bug
+      Doc: document "A...B" form for <tree-ish> in checkout and switch
+      add-patch: add NEEDSWORK about comparing commits
+      t2016: add a NEEDSWORK about the PERL prerequisite
+      checkout: learn to respect checkout.guess
+      contrib/git-resurrect.sh: indent with tabs
+      contrib/git-resurrect.sh: use hash-agnostic OID pattern
+
+Derrick Stolee (28):
+      maintenance: add prefetch task
+      maintenance: add loose-objects task
+      maintenance: create auto condition for loose-objects
+      midx: enable core.multiPackIndex by default
+      midx: use start_delayed_progress()
+      maintenance: add incremental-repack task
+      maintenance: auto-size incremental-repack batch
+      maintenance: add incremental-repack auto condition
+      maintenance: optionally skip --auto process
+      maintenance: add --schedule option and config
+      for-each-repo: run subcommands on configured repos
+      maintenance: add [un]register subcommands
+      maintenance: add start/stop subcommands
+      maintenance: test commit-graph auto condition
+      commit-graph: ignore duplicates when merging layers
+      commit-graph: don't write commit-graph when disabled
+      maintenance: core.commitGraph=false prevents writes
+      maintenance: create maintenance.strategy config
+      maintenance: use 'incremental' strategy by default
+      maintenance: add troubleshooting guide to docs
+      config: convert multi_replace to flags
+      config: replace 'value_regex' with 'value_pattern'
+      t1300: test "set all" mode with value-pattern
+      t1300: add test for --replace-all with value-pattern
+      config: add --fixed-value option, un-implemented
+      config: plumb --fixed-value into config API
+      config: implement --fixed-value with --get*
+      maintenance: use 'git config --fixed-value'
+
+Drew DeVault (1):
+      help.c: help.autocorrect=never means "do not compute suggestions"
+
+Elijah Newren (37):
+      hashmap: add usage documentation explaining hashmap_free[_entries]()
+      directory-rename-detection.txt: update references to regression tests
+      t6423: more involved directory rename test
+      t6423: update directory rename detection tests with new rule
+      t6423: more involved rules for renaming directories into each other
+      t7518: fix flaky grep invocation
+      test-lib: allow selecting tests by substring/glob with --run
+      t6006, t6012: adjust tests to use 'setup' instead of synonyms
+      test-lib: reduce verbosity of skipped tests
+      sequencer: remove duplicate rollback_lock_file() call
+      t/: new helper for tests that pass with ort but fail with recursive
+      merge tests: expect improved directory/file conflict handling in ort
+      t6416: correct expectation for rename/rename(1to2) + directory/file
+      t6404, t6423: expect improved rename/delete handling in ort backend
+      t6423: expect improved conflict markers labels in the ort backend
+      merge tests: expect slight differences in output for recursive vs. ort
+      t6423, t6436: note improved ort handling with dirty files
+      t6423: note improved ort handling with untracked files
+      t6423: add more details about direct resolution of directories
+      merge-ort: barebones API of new merge strategy with empty implementation
+      merge-ort-wrappers: new convience wrappers to mimic the old merge API
+      fast-rebase: demonstrate merge-ort's API via new test-tool command
+      hashmap: adjust spacing to fix argument alignment
+      hashmap: allow re-use after hashmap_free()
+      hashmap: introduce a new hashmap_partial_clear()
+      hashmap: provide deallocation function names
+      strmap: new utility functions
+      merge,rebase,revert: select ort or recursive by config or environment
+      strmap: add more utility functions
+      strmap: enable faster clearing and reusing of strmaps
+      strmap: add functions facilitating use as a string->int map
+      strmap: split create_entry() out of strmap_put()
+      strmap: add a strset sub-type
+      strmap: enable allocations to come from a mem_pool
+      strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
+      Use new HASHMAP_INIT macro to simplify hashmap initialization
+      shortlog: use strset from strmap.h
+
+Emily Shaffer (1):
+      MyFirstContribution: clarify asciidoc dependency
+
+Felipe Contreras (41):
+      completion: zsh: fix __gitcomp_direct()
+      completion: zsh: fix name due to broken autoloading
+      completion: zsh: fix bash script extension
+      completion: zsh: reorganize install instructions
+      completion: zsh: fix for directories with spaces
+      completion: zsh: update slave script locations
+      completion: prompt: fix color for Zsh
+      completion: zsh: fix for command aliasing
+      completion: bash: synchronize zsh wrapper
+      completion: bash: remove zsh wrapper
+      completion: zsh: fix completion for --no-.. options
+      completion: fix conflict with bashcomp
+      completion: zsh: add missing direct_append
+      completion: zsh: fix splitting of words
+      completion: zsh: simplify compadd functions
+      completion: zsh: simplify direct compadd
+      completion: zsh: trivial cleanup
+      completion: zsh: simplify nl_append
+      completion: zsh: simplify file_direct
+      completion: zsh: shuffle functions around
+      completion: zsh: refactor command completion
+      completion: zsh: improve command tags
+      completion: zsh: add alias descriptions
+      completion: zsh: trivial simplification
+      completion: zsh: add simple version check
+      completion: bash: trivial cleanup
+      completion: bash: cleanup cygwin check
+      completion: bash: remove old compat wrappers
+      zsh: update copyright notices
+      completion: bash: support recursive aliases
+      completion: bash: check for alias loop
+      completion: bash: improve alias loop detection
+      tests: push: improve cleanup of HEAD tests
+      tests: push: trivial cleanup
+      refspec: make @ a synonym of HEAD
+      refspec: trivial cleanup
+      .gitignore: remove dangling file
+      test: completion: fix typos
+      tests: lib-functions: trivial style cleanups
+      completion: zsh: fix file completion regression
+      completion: bash: fix gitk alias regression
+
+Han-Wen Nienhuys (1):
+      move sleep_millisec to git-compat-util.h
+
+Javier Spagnoletti (1):
+      userdiff: PHP: catch "abstract" and "final" functions
+
+Jeff King (32):
+      fast-import: fix over-allocation of marks storage
+      usage: define a type for a reporting function
+      config.mak.dev: build with -fno-common
+      fast-import: remove duplicated option-parsing line
+      perl: check for perl warnings while running tests
+      am, sequencer: stop parsing our own committer ident
+      test-pkt-line: drop colon from sideband identity
+      checkout-index: drop error message from empty --stage=all
+      checkout-index: propagate errors to exit code
+      sideband: diagnose more sideband anomalies
+      format-patch: refactor output selection
+      format-patch: tie file-opening logic to output_directory
+      format-patch: support --output option
+      rev-parse: don't accept options after dashdash
+      rev-parse: put all options under the "-" check
+      rev-parse: handle --end-of-options
+      compute pack .idx byte offsets using size_t
+      use size_t to store pack .idx byte offsets
+      fsck: correctly compute checksums on idx files larger than 4GB
+      block-sha1: take a size_t length parameter
+      packfile: detect overflow in .idx file size checks
+      repack: make "exts" array available outside cmd_repack()
+      send-pack: kill pack-objects helper on signal or exit
+      submodule: fix fetch_in_submodule logic
+      upload-pack: kill pack-objects helper on signal or exit
+      banned.h: mark non-reentrant gmtime, etc as banned
+      t7900: speed up expensive test
+      gitignore: drop duplicate entry for git-sh-i18n
+      banned.h: mark ctime_r() and asctime_r() as banned
+      Makefile: mark git-maintenance as a builtin
+      upload-pack: propagate return value from object filter config callback
+      style: indent multiline "if" conditions to align
+
+Jiang Xin (3):
+      t5411: new helper filter_out_user_friendly_and_stable_output
+      receive-pack: gently write messages to proc-receive
+      receive-pack: use default version 0 for proc-receive
+
+Jinoh Kang (2):
+      diff: allow passing NULL to diff_free_filespec_data()
+      t7800: simplify difftool test
+
+Joey Salazar (1):
+      t7006: Use test_path_is_* functions in test script
+
+Johannes Schindelin (56):
+      ci: work around old records of GitHub runs
+      ci: make the "skip-if-redundant" check more defensive
+      sideband: avoid reporting incomplete sideband messages
+      sideband: report unhandled incomplete sideband messages as bugs
+      fmt-merge-msg: also suppress "into main" by default
+      t9801: use `--` in preparation for default branch rename
+      tests: start moving to a different default main branch name
+      t6200: adjust suppression pattern to also match "main"
+      t5703: adjust a test case for the upcoming default branch name
+      t3200: prepare for `main` being shorter than `master`
+      t9902: prepare a test for the upcoming default branch name
+      tests: prepare aligned mentions of the default branch name
+      t1400: prepare for `main` being default branch name
+      t5411: start using the default branch name "main"
+      t5411: start adjusting the support files for init.defaultBranch=main
+      t5411: adjust the remaining support files for init.defaultBranch=main
+      t5411: finish preparing for `main` being the default branch name
+      t5515: use `main` as the name of the main branch for testing (part 1)
+      t5515: use `main` as the name of the main branch for testing (part 2)
+      t5515: use `main` as the name of the main branch for testing (part 3)
+      t5515: use `main` as the name of the main branch for testing (conclusion)
+      t2402: fix typo
+      ci: make the whitespace checker more robust
+      tests: consolidate the `file_size` function into `test-lib-functions.sh`
+      ci: avoid using the deprecated `set-env` construct
+      p4: respect init.defaultBranch
+      t1004: insert missing "branch" in a message
+      t3406: indent with tabs, not spaces
+      t3427: adjust stale comment
+      t5400,t5402: consistently indent with tabs, not with spaces
+      t5570: remove trailing padding
+      t9603: use tabs for indentation
+      add -i (built-in): do show an error message for incorrect inputs
+      add -i (built-in): send error messages to stderr
+      add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
+      add -i: use `reset_color` consistently
+      add -i (built-in): prevent the `reset` "color" from being configured
+      add -i (built-in): use correct names to load color.diff.* config
+      mergetools/bc: add `bc4` to the alias list for Beyond Compare
+      mergetool: avoid letting `list_tool_variants` break user-defined setups
+      add -p (built-in): do not color the progress indicator separately
+      add -i (built-in): use the same indentation as the Perl version
+      add -i (Perl version): color header to match the C version
+      add -p: prefer color.diff.context over color.diff.plain
+      add -i: verify in the tests that colors can be overridden
+      t2106: adjust style to the current conventions
+      t2106: make test independent of the current main branch name
+      t2106: ensure that the checkout fails for the expected reason
+      t3040: remove stale note
+      t1309: use a neutral branch name in the `onbranch` test cases
+      t4015: let the test pass with any default branch name
+      pull: colorize the hint about setting `pull.rebase`
+      t3404: do not depend on any specific default branch name
+      t5526: avoid depending on a specific default branch name
+      t5526: drop the prereq expecting the default branch name `main`
+      cmake: determine list of extra built-ins dynamically
+
+Jonathan Tan (3):
+      apply: when -R, also reverse list of sections
+      sequencer: tolerate abbreviated stopped-sha file
+      usage: add trace2 entry upon warning()
+
+Josh Steadmon (12):
+      docs: new capability to advertise session IDs
+      docs: new transfer.advertiseSID option
+      trace2: add a public function for getting the SID
+      upload-pack: advertise session ID in v0 capabilities
+      receive-pack: advertise session ID in v0 capabilities
+      serve: advertise session ID in v2 capabilities
+      transport: log received server session ID
+      fetch-pack: advertise session ID in capabilities
+      upload-pack, serve: log received client session ID
+      send-pack: advertise session ID in capabilities
+      receive-pack: log received client session ID
+      t7900: fix typo: "test_execpt_success"
+
+Junio C Hamano (26):
+      doc: preparatory clean-up of description on the sign-off option
+      SubmittingPatches: clarify DCO is our --signoff rule
+      Revert "test_cmp: diagnose incorrect arguments"
+      t7102: prepare expected output inside test_expect_* block
+      other small fixes for 2.29.2
+      SubmittingPatches: clarify the purpose of the final resend
+      First batch
+      Second batch
+      Makefile: enable -Wsparse-error for DEVELOPER build
+      Third batch
+      log: diagnose -L used with pathspec as an error
+      doc: clarify that --abbrev=<n> is about the minimum length
+      Fourth batch
+      format-patch: make output filename configurable
+      Fifth batch
+      ci: avoid `set-env` construct in print-test-failures.sh
+      Sixth batch
+      Seventh batch
+      MyFirstContribition: answering questions is not the end of the story
+      config doc: value-pattern is not necessarily a regexp
+      Eighth batch
+      Ninth batch
+      Revert "submodules: fix of regression on fetching of non-init subsub-repo"
+      Tenth batch
+      Eleventh batch
+      Git 2.30-rc0
+
+Konrad Borowski (1):
+      userdiff: recognize 'macro_rules!' as starting a Rust function block
+
+Kyle Meyer (1):
+      stash: add missing space to an error message
+
+Marlon Rac Cambasis (1):
+      doc: fixing two trivial typos in Documentation/
+
+Martin Ågren (5):
+      list-objects-filter-options: fix function name in BUG
+      grep: don't set up a "default" repo for grep
+      grep: use designated initializers for `grep_defaults`
+      grep: copy struct in one fell swoop
+      MyFirstObjectWalk: drop `init_walken_defaults()`
+
+Matheus Tavares (2):
+      worktree: fix order of arguments in error message
+      apply: don't use core.sharedRepository to create working tree files
+
+Michał Kępień (2):
+      merge-base, xdiff: zero out xpparam_t structures
+      diff: add -I<regex> that ignores matching changes
+
+Nate Avers (2):
+      notes.c: fix a segfault in notes_display_config()
+      t3301: test proper exit response to no-value notes.displayRef.
+
+Nicolas Morey-Chaisemartin (1):
+      imap-send: parse default git config
+
+Nipunn Koorapati (17):
+      t/perf/README: elaborate on output format
+      t/perf/p7519-fsmonitor.sh: warm cache on first git status
+      t/perf: add fsmonitor perf test for git diff
+      perf lint: add make test-lint to perf tests
+      p7519-fsmonitor: refactor to avoid code duplication
+      p7519-fsmonitor: add a git add benchmark
+      t/perf/fsmonitor: separate one time repo initialization
+      t/perf/fsmonitor: move watchman setup to one-time-repo-setup
+      t/perf/fsmonitor: improve error message if typoing hook name
+      t/perf/fsmonitor: factor description out for readability
+      t/perf/fsmonitor: shorten DESC to basename
+      t/perf/fsmonitor: silence initial git commit
+      t/perf/fsmonitor: factor setup for fsmonitor into function
+      t/perf/fsmonitor: initialize test with git reset
+      t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations
+      t/perf/fsmonitor: add benchmark for dirty status
+      perf/fsmonitor: use test_must_be_empty helper
+
+Patrick Steinhardt (4):
+      t1400: avoid touching refs on filesystem
+      update-ref: allow creation of multiple transactions
+      p1400: use `git-update-ref --stdin` to test multiple transactions
+      update-ref: disallow "start" for ongoing transactions
+
+Peter Kaestle (1):
+      submodules: fix of regression on fetching of non-init subsub-repo
+
+Philippe Blain (14):
+      ref-filter: handle CRLF at end-of-line more gracefully
+      log, show: add tests for messages containing CRLF
+      doc: log, gitk: move '-L' description to 'line-range-options.txt'
+      doc: line-range: improve formatting
+      blame-options.txt: also mention 'funcname' in '-L' description
+      doc: add more pointers to gitattributes(5) for userdiff
+      line-log: mention both modes in 'blame' and 'log' short help
+      blame: enable funcname blaming with userdiff driver
+      blame: simplify 'setup_scoreboard' interface
+      blame: simplify 'setup_blame_bloom_data' interface
+      pull --rebase: compute rebase arguments in separate function
+      t5572: add notes on a peculiar test
+      t5572: describe '--rebase' tests a little more
+      pull: check for local submodule modifications with the right range
+
+Phillip Wood (4):
+      rebase -i: stop overwriting ORIG_HEAD buffer
+      rebase -i: use struct object_id rather than looking up commit
+      rebase -i: use struct object_id when writing state
+      rebase -i: simplify get_revision_ranges()
+
+Pranit Bauva (7):
+      bisect--helper: finish porting `bisect_start()` to C
+      bisect--helper: retire `--bisect-clean-state` subcommand
+      bisect--helper: retire `--next-all` subcommand
+      bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
+      bisect--helper: retire `--check-expected-revs` subcommand
+      bisect--helper: retire `--write-terms` subcommand
+      bisect--helper: retire `--bisect-autostart` subcommand
+
+Rafael Silva (2):
+      worktree: teach `list` to annotate locked worktree
+      maintenance: fix SEGFAULT when no repository
+
+René Scharfe (19):
+      Makefile: use git init/add/commit/archive for dist-doc
+      Makefile: remove the unused variable TAR_DIST_EXTRA_OPTS
+      grep: handle deref_tag() returning NULL
+      blame: handle deref_tag() returning NULL
+      line-log: handle deref_tag() returning NULL
+      object: allow clear_commit_marks_all to handle any repo
+      bisect: clear flags in passed repository
+      stash: simplify reflog emptiness check
+      pack-write: use hashwrite_be32() instead of double-buffering array
+      archive: support compression levels beyond 9
+      blame: silently ignore invalid ignore file objects
+      csum-file: add hashwrite_be64()
+      midx: use hashwrite_be64()
+      pack-write: use hashwrite_be64()
+      diff-lib: plug minor memory leaks in do_diff_cache()
+      archive: release refname after use
+      gc: fix cast in compare_tasks_by_selection()
+      fetch-pack: disregard invalid pack lockfiles
+      gitignore: remove entry for git serve
+
+Robert Karszniewicz (2):
+      git-completion.bash: __git_diff_common_options: add --[no-]patch
+      git-completion.bash: stash-show: complete $__git_diff_common_options
+
+SZEDER Gábor (4):
+      bisect: loosen halfway() check for a large number of commits
+      t5310-pack-bitmaps: skip JGit tests with SHA256
+      tests: make sure nested lazy prereqs work reliably
+      tests: fix description of 'test_set_prereq'
+
+Samuel Čavoj (3):
+      sequencer: fix gpg option passed to merge subcommand
+      sequencer: pass explicit --no-gpg-sign to merge
+      t3435: add tests for rebase -r GPG signing
+
+Sean Barag (7):
+      clone: add tests for --template and some disallowed option pairs
+      clone: use more conventional config/option layering
+      remote: add tests for add and rename with invalid names
+      refs: consolidate remote name validation
+      clone: validate --origin option before use
+      clone: read new remote name from remote_name instead of option_origin
+      clone: allow configurable default for `-o`/`--origin`
+
+Sergey Organov (2):
+      doc/diff-options: fix out of place mentions of '--patch/-p'
+      glossary: improve "branch" definition
+
+Sibo Dong (1):
+      git-prompt.sh: localize `option` in __git_ps1_show_upstream
+
+Simão Afonso (1):
+      crendential-store: use timeout when locking file
+
+Sohom Datta (1):
+      userdiff: expand detected chunk headers for css
+
+Srinidhi Kaushik (3):
+      push: add reflog check for "--force-if-includes"
+      push: parse and set flag for "--force-if-includes"
+      t, doc: update tests, reference for "--force-if-includes"
+
+Taylor Blau (5):
+      builtin/repack.c: keep track of what pack-objects wrote
+      builtin/repack.c: don't move existing packs out of the way
+      packfile.c: protect against disappearing indexes
+      midx.c: protect against disappearing packs
+      builtin/bugreport.c: use thread-safe localtime_r()
+
+Thomas Koutcher (1):
+      credential: load default config
+
+Victor Engmark (1):
+      userdiff: support Bash
+
+brian m. carlson (1):
+      svn: use correct variable name for short OID
+
+Ævar Arnfjörð Bjarmason (8):
+      remote: add meaningful exit code on missing/existing
+      config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
+      config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
+      submodule: use "fetch" logic instead of custom remote discovery
+      submodule: remove sh function in favor of helper
+      parse-remote: remove this now-unused library
+      gc docs: change --keep-base-pack to --keep-largest-pack
+      gc: rename keep_base_pack variable for --keep-largest-pack
+
+Štěpán Němec (1):
+      config.txt: fix a typo (backslash != backquote)
+
+
+Version v2.29.3; changes since v2.29.2:
+---------------------------------------
+
+Johannes Schindelin (14):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+      Git 2.27.1
+      Git 2.28.1
+      Git 2.29.3
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.29.2; changes since v2.29.1:
+---------------------------------------
+
+Christian Couder (1):
+      filter-branch doc: fix filter-repo typo
+
+Jeff King (3):
+      t3436: check --committer-date-is-author-date result more carefully
+      am: fix broken email with --committer-date-is-author-date
+      rebase: fix broken email with --committer-date-is-author-date
+
+Junio C Hamano (1):
+      Git 2.29.2
+
+
+Version v2.29.1; changes since v2.29.0:
+---------------------------------------
+
+Johannes Schindelin (1):
+      SKIP_DASHED_BUILT_INS: do not skip the bin/ programs
+
+Junio C Hamano (1):
+      Git 2.29.1
+
+
+Version v2.29.0; changes since v2.29.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (2):
+      l10n: it.po: update the Italian translation for Git 2.29.0 round 1
+      l10n: it.po: update the Italian translation
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (5013t)
+
+Daniel Santos (2):
+      l10n: Portuguese translation team has changed. Wohoo!
+      l10n: pt_PT: make on po/pt_PT.po
+
+Emir Sarı (2):
+      l10n: tr: v2.29.0 round 1
+      l10n: tr: v2.29.0 round 2
+
+Jean-Noël Avila (2):
+      l10n: fr: v2.29.0 rnd 1
+      l10n: fr: v2.29.0 rnd 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed)
+      l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed)
+      l10n: zh_CN: for git v2.29.0 l10n round 1 and 2
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.29
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git 2.29.0
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (5013t0f0u)
+
+Serg Tereshchenko (2):
+      git-gui: fix mixed tabs and spaces; prefer tabs
+      git-gui: improve dark mode support
+
+Stefan Haller (1):
+      git-gui: blame: prevent tool tips from sticking around after Command-Tab
+
+Trần Ngọc Quân (1):
+      l10n: vi(5013t): Updated translation for v2.29.0 rd2
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)
+
+
+Version v2.29.0-rc2; changes since v2.29.0-rc1:
+-----------------------------------------------
+
+Junio C Hamano (1):
+      Git 2.29-rc2
+
+
+Version v2.29.0-rc1; changes since v2.29.0-rc0:
+-----------------------------------------------
+
+Denton Liu (2):
+      compat/mingw.h: drop extern from function declaration
+      Makefile: ASCII-sort += lists
+
+Jean-Noël Avila (4):
+      git-bisect-lk2009: make continuation of list indented
+      doc: use linkgit macro where needed.
+      doc: git-remote fix ups
+      doc: fix the bnf like style of some commands
+
+Jeff King (2):
+      index-pack: restore "resolving deltas" progress meter
+      index-pack: drop type_cas mutex
+
+Johannes Schindelin (6):
+      GitHub workflow: automatically follow minor updates of setup-msbuild
+      help: do not expect built-in commands to be hardlinked
+      t1415: avoid using `main` as ref name
+      tests: avoid using the branch name `main`
+      ci: skip GitHub workflow runs for already-tested commits/trees
+      ci: do not skip tagged revisions in GitHub workflows
+
+Jonathan Tan (1):
+      index-pack: make get_base_data() comment clearer
+
+Junio C Hamano (1):
+      Git 2.29-rc1
+
+Đoàn Trần Công Danh (1):
+      t5534: split stdout and stderr redirection
+
+
+Version v2.29.0-rc0; changes since v2.28.1:
+-------------------------------------------
+
+Aaron Lipman (12):
+      t6030: modernize "git bisect run" tests
+      rev-list: allow bisect and first-parent flags
+      cmd_bisect__helper: defer parsing no-checkout flag
+      bisect: introduce first-parent flag
+      bisect: combine args passed to find_bisection()
+      bisect: add first-parent option to documentation
+      t3200: clean side effect of git checkout --orphan
+      t3201: test multiple branch filter combinations
+      Doc: cover multiple contains/no-contains filters
+      ref-filter: allow merged and no-merged filters
+      ref-filter: make internal reachable-filter API more precise
+      Doc: prefer more specific file name
+
+Adrian Moennich (1):
+      ci: fix inconsistent indentation
+
+Alban Gruin (1):
+      t6300: fix issues related to %(contents:size)
+
+Alex Henrie (1):
+      pull: don't warn if pull.ff has been set
+
+Alex Riesen (1):
+      fetch: pass --ipv4 and --ipv6 options to sub-fetches
+
+Andrei Rybak (1):
+      git-help.txt: fix mentions of option --guides
+
+Antti Keränen (1):
+      rebase -i: fix possibly wrong onto hash in todo
+
+Beat Bolli (1):
+      gitk: rename "commit summary" to "commit reference"
+
+Ben Wijen (1):
+      git clone: don't clone into non-empty directory
+
+Chris Torek (1):
+      git-mv: improve error message for conflicted file
+
+Christian Couder (4):
+      Documentation: clarify %(contents:XXXX) doc
+      t6300: test refs pointing to tree and blob
+      ref-filter: add support for %(contents:size)
+      bisect: don't use invalid oid as rev when starting
+
+Christian Schlack (1):
+      remote: don't show success message when set-head fails
+
+Conor Davis (1):
+      commit-graph-format.txt: fix no-parent value
+
+Danny Lin (2):
+      contrib/subtree: fix "unsure" for --message in the document
+      contrib/subtree: document 'push' does not take '--squash'
+
+Denton Liu (11):
+      t3701: stop using `env` in force_color()
+      t5324: reorder `run_with_limited_open_files test_might_fail`
+      t7107: don't use test_must_fail()
+      t9834: remove use of `test_might_fail p4`
+      t9400: don't use test_must_fail with cvs
+      test-lib-functions: restrict test_must_fail usage
+      contrib/completion: complete options that take refs for format-patch
+      hooks--pre-push.sample: modernize script
+      hooks--pre-push.sample: use hash-agnostic zero OID
+      hooks--update.sample: use hash-agnostic zero OID
+      gitk: replace tabs with spaces
+
+Derrick Stolee (22):
+      commit-graph: place bloom_settings in context
+      commit-graph: change test to die on parse, not load
+      bloom: fix logic in get_bloom_filter()
+      commit-graph: persist existence of changed-paths
+      revision.c: fix whitespace
+      multi-pack-index: repack batches below --batch-size
+      t/README: document GIT_TEST_DEFAULT_HASH
+      commit-graph: use the "hash version" byte
+      multi-pack-index: use hash version byte
+      bloom/diff: properly short-circuit on max_changes
+      maintenance: create basic maintenance runner
+      maintenance: add --quiet option
+      maintenance: replace run_auto_gc()
+      maintenance: initialize task array
+      maintenance: add commit-graph task
+      maintenance: add --task option
+      maintenance: take a lock on the objects directory
+      maintenance: create maintenance.<task>.enabled config
+      maintenance: use pointers to check --auto
+      maintenance: add auto condition for commit-graph task
+      maintenance: add trace2 regions for task execution
+      commit-reach: fix in_merge_bases_many bug
+
+Drew DeVault (1):
+      git-send-email: die if sendmail.* config is set
+
+Edmundo Carmona Antoranz (1):
+      blame.c: replace instance of !oidcmp for oideq
+
+Elijah Newren (26):
+      Remove doubled words in various comments
+      hashmap: fix typo in usage docs
+      merge-recursive: fix unclear and outright wrong comments
+      t6038: make tests fail for the right reason
+      t6038: remove problematic test
+      merge: make merge.renormalize work for all uses of merge machinery
+      checkout: support renormalization with checkout -m <paths>
+      Collect merge-related tests to t64xx
+      t6418: tighten delete/normalize conflict testcase
+      t6422: fix bad check against missing file
+      t6416, t6422: fix incorrect untracked file count
+      t6423: fix test setup for a couple tests
+      t6422: fix multiple errors with the mod6 test expectations
+      t6416, t6423: clarify some comments and fix some typos
+      t6423: add an explanation about why one of the tests does not pass
+      t6422, t6426: be more flexible for add/add conflicts involving renames
+      t642[23]: be more flexible for add/add conflicts involving pair renames
+      t6425: be more flexible with rename/delete conflict messages
+      t3000: fix some test description typos
+      dir: avoid prematurely marking nonbare repositories as matches
+      sequencer: avoid garbled merge machinery messages due to commit labels
+      mem-pool: add convenience functions for strdup and strndup
+      mem-pool: use more standard initialization and finalization
+      mem-pool: use consistent pool variable name
+      dir: make clear_directory() free all relevant memory
+      dir: fix problematic API to avoid memory leaks
+
+Emily Shaffer (1):
+      Revert "contrib: subtree: adjust test to change in fmt-merge-msg"
+
+Eric Huber (1):
+      gitk: Preserve window dimensions on exit when not using ttk themes
+
+Eric Sunshine (22):
+      worktree: drop pointless strbuf_release()
+      worktree: drop unused code from get_linked_worktree()
+      worktree: drop bogus and unnecessary path munging
+      worktree: retire special-case normalization of main worktree path
+      git-worktree.txt: employ fixed-width typeface consistently
+      git-worktree.txt: consistently use term "working tree"
+      git-worktree.txt: fix minor grammatical issues
+      git-worktree.txt: make start of new sentence more obvious
+      git-worktree.txt: link to man pages when citing other Git commands
+      test_cmp: diagnose incorrect arguments
+      init: disallow --separate-git-dir with bare repository
+      worktree: add skeleton "repair" command
+      worktree: teach "repair" to fix worktree back-links to main worktree
+      worktree: teach "repair" to fix outgoing links to worktrees
+      init: teach --separate-git-dir to repair linked worktrees
+      init: make --separate-git-dir work from within linked worktree
+      git-checkout.txt: document -d short option for --detach
+      worktree: teach `add` to recognize -d as shorthand for --detach
+      git-worktree.txt: discuss branch-based vs. throwaway worktrees
+      diff: move show_interdiff() from its own file to diff-lib
+      diff-lib: tighten show_interdiff()'s interface
+      format-patch: use 'origin' as start of current-series-range when known
+
+Evan Gates (1):
+      Doc: show example scissors line
+
+Han Xin (1):
+      send-pack: run GPG after atomic push checking
+
+Han-Wen Nienhuys (17):
+      lib-t6000.sh: write tag using git-update-ref
+      t3432: use git-reflog to inspect the reflog for HEAD
+      bisect: treat BISECT_HEAD as a pseudo ref
+      t1400: use git rev-parse for testing PSEUDOREF existence
+      Modify pseudo refs through ref backend storage
+      Make HEAD a PSEUDOREF rather than PER_WORKTREE.
+      refs: move the logic to add \t to reflog to the files backend
+      refs: split off reading loose ref data in separate function
+      refs: fix comment about submodule ref_stores
+      refs: move gitdir into base ref_store
+      refs: read FETCH_HEAD and MERGE_HEAD generically
+      refs: make refs_ref_exists public
+      sequencer: treat CHERRY_PICK_HEAD as a pseudo ref
+      builtin/commit: suggest update-ref for pseudoref removal
+      sequencer: treat REVERT_HEAD as a pseudo ref
+      refs: move REF_LOG_ONLY to refs-internal.h
+      refs: add GIT_TRACE_REFS debugging mechanism
+
+Hariom Verma (10):
+      t6300: unify %(trailers) and %(contents:trailers) tests
+      ref-filter: 'contents:trailers' show error if `:` is missing
+      ref-filter: support different email formats
+      ref-filter: refactor `grab_objectname()`
+      ref-filter: modify error messages in `grab_objectname()`
+      ref-filter: rename `objectname` related functions and fields
+      ref-filter: add `short` modifier to 'tree' atom
+      ref-filter: add `short` modifier to 'parent' atom
+      pretty: refactor `format_sanitized_subject()`
+      ref-filter: add `sanitize` option for 'subject' atom
+
+Hugo Locurcio (1):
+      bisect: swap command-line options in documentation
+
+Jacob Keller (4):
+      refspec: fix documentation referring to refspec_item
+      refspec: make sure stack refspec_item variables are zeroed
+      refspec: add support for negative refspecs
+      format-patch: teach format.useAutoBase "whenAble" option
+
+Jeff Hostetler (1):
+      mingw: improve performance of mingw_unlink()
+
+Jeff King (80):
+      t6000: use test_tick consistently
+      t9700: loosen ident timezone regex
+      t5539: make timestamp requirements more explicit
+      t9100: explicitly unset GIT_COMMITTER_DATE
+      test-lib: set deterministic default author/committer date
+      t9100: stop depending on commit timestamps
+      verify_repository_format(): complain about new extensions in v0 repo
+      argv-array: use size_t for count and alloc
+      argv-array: rename to strvec
+      strvec: rename files from argv-array to strvec
+      quote: rename sq_dequote_to_argv_array to mention strvec
+      strvec: convert builtin/ callers away from argv_array name
+      strvec: convert more callers away from argv_array name
+      strvec: convert remaining callers away from argv_array name
+      strvec: fix indentation in renamed calls
+      strvec: update documention to avoid argv_array
+      strvec: drop argv_array compatibility layer
+      log: drop "--cc implies -m" logic
+      revision: add "--no-diff-merges" option to counteract "-m"
+      log: enable "-m" automatically with "--first-parent"
+      doc/git-log: move "Diff Formatting" from rev-list-options
+      doc/git-log: drop "-r" diff option
+      doc/git-log: move "-t" into diff-options list
+      doc/git-log: clarify handling of merge commit diffs
+      strvec: rename struct fields
+      config: work around gcc-10 -Wstringop-overflow warning
+      revision: avoid out-of-bounds read/write on empty pathspec
+      revision: avoid leak when preparing bloom filter for "/"
+      t5616: use test_i18ngrep for upload-pack errors
+      sideband: mark "remote error:" prefix for translation
+      t1416: avoid hard-coded sha1 ids
+      t8003: check output of coalesced blame
+      t8003: factor setup out of coalesce test
+      blame: only coalesce lines that are adjacent in result
+      Makefile: drop builtins from MSVC pdb list
+      make credential helpers builtins
+      make git-bugreport a builtin
+      make git-fast-import a builtin
+      drop vcs-svn experiment
+      stop calling UNLEAK() before die()
+      ls-remote: simplify UNLEAK() usage
+      clear_pattern_list(): clear embedded hashmaps
+      submodule--helper: use strbuf_release() to free strbufs
+      checkout: fix leak of non-existent branch names
+      config: fix leaks from git_config_get_string_const()
+      config: drop git_config_get_string_const()
+      config: fix leak in git_config_get_expiry_in_days()
+      submodule--helper: fix leak of core.worktree value
+      p5302: disable thread-count parameter tests by default
+      p5302: count up to online-cpus for thread tests
+      index-pack: adjust default threading cap
+      revision: set rev_input_given in handle_revision_arg()
+      worktree: fix leak in check_clean_worktree()
+      xrealloc: do not reuse pointer freed by zero-length realloc()
+      add-patch: fix inverted return code of repo_read_index()
+      add--interactive.perl: specify --no-color explicitly
+      packfile: actually set approximate_object_count_valid
+      diff-highlight: correctly match blank lines for flush
+      bswap.h: drop unaligned loads
+      Revert "fast-export: use local array to store anonymized oid"
+      shortlog: change "author" variables to "ident"
+      protocol: re-enable v2 protocol by default
+      shortlog: add grouping option
+      trailer: add interface for iterating over commit trailers
+      shortlog: match commit trailers with --group
+      shortlog: de-duplicate trailer values
+      shortlog: rename parse_stdin_ident()
+      shortlog: parse trailer idents
+      shortlog: allow multiple groups to be specified
+      convert: drop unused crlf_action from check_global_conv_flags_eol()
+      drop unused argc parameters
+      env--helper: write to opt->value in parseopt helper
+      assert PARSE_OPT_NONEG in parse-options callbacks
+      push: drop unused repo argument to do_push()
+      sequencer: drop repository argument from run_git_commit()
+      sparse-checkout: fill in some options boilerplate
+      test-advise: check argument count with argc instead of argv
+      sequencer: handle ignore_footer when parsing trailers
+      dir.c: drop unused "untracked" from treat_path_fast()
+      combine-diff: handle --find-object in multitree code path
+
+Jiang Xin (10):
+      transport: not report a non-head push as a branch
+      t5411: add basic test cases for proc-receive hook
+      receive-pack: add new proc-receive hook
+      receive-pack: feed report options to post-receive
+      New capability "report-status-v2" for git-push
+      doc: add document for capability report-status-v2
+      receive-pack: new config receive.procReceiveRefs
+      t5411: test updates of remote-tracking branches
+      transport: parse report options for tracking refs
+      doc: add documentation for the proc-receive hook
+
+Johannes Berg (2):
+      pack-write/docs: update regarding pack naming
+      docs: commit-graph: fix some whitespace in the diagram
+
+Johannes Schindelin (20):
+      t3404: prepare 'short SHA-1 collision' tests for SHA-256
+      ci: fix indentation of the `ci-config` job
+      ci: avoid ugly "failure" in the `ci-config` job
+      t/test-terminal: avoid non-inclusive language
+      fast-export: avoid using unnecessary language in a code comment
+      t3200: avoid variations of the `master` branch name
+      msvc: copy the correct `.pdb` files in the Makefile target `install`
+      Optionally skip linking/copying the built-ins
+      ci: stop linking built-ins to the dashed versions
+      cmake: ignore files generated by CMake as run in Visual Studio
+      tests: avoid variations of the `master` branch name
+      t9902: avoid using the branch name `master`
+      cmake: do find Git for Windows' shell interpreter
+      cmake: ensure that the `vcpkg` packages are found on Windows
+      cmake: fall back to using `vcpkg`'s `msgfmt.exe` on Windows
+      cmake: quote the path accurately when editing `test-lib.sh`
+      cmake (Windows): let the `.dll` files be found when running the tests
+      cmake (Windows): complain when encountering an unknown compiler
+      cmake (Windows): initialize vcpkg/build dependencies automatically
+      cmake (Windows): recommend using Visual Studio's built-in CMake support
+
+Johannes Sixt (1):
+      gitk: Un-hide selection in areas with non-default background color
+
+Jonathan Tan (32):
+      upload-pack: do not lazy-fetch "have" objects
+      pack-objects: refactor to oid_object_info_extended
+      pack-objects: prefetch objects to be packed
+      sha1-file: make pretend_object_file() not prefetch
+      sha1-file: introduce no-lazy-fetch has_object()
+      apply: do not lazy fetch when applying binary
+      pack-objects: no fetch when allow-{any,promisor}
+      fsck: do not lazy fetch known non-promisor object
+      negotiator/noop: add noop fetch negotiator
+      fetch: allow refspecs specified through stdin
+      fetch: avoid reading submodule config until needed
+      fetch: only populate existing_refs if needed
+      fetch-pack: do not lazy-fetch during ref iteration
+      promisor-remote: lazy-fetch objects in subprocess
+      fetch-pack: remove no_dependents code
+      fetch-pack: in partial clone, pass --promisor
+      Documentation: deltaBaseCacheLimit is per-thread
+      index-pack: remove redundant parameter
+      index-pack: unify threaded and unthreaded code
+      index-pack: remove redundant child field
+      index-pack: calculate {ref,ofs}_{first,last} early
+      index-pack: make resolve_delta() assume base data
+      (various): document from_promisor parameter
+      fetch-pack: document only_packfile in get_pack()
+      fetch-pack: make packfile URIs work with transfer.fsckobjects
+      fetch: no FETCH_HEAD display if --no-write-fetch-head
+      sha1-name: replace unsigned int with option struct
+      refs: move dwim_ref() to header file
+      wt-status: tolerate dangling marks
+      index-pack: make quantum of work smaller
+      promisor-remote: remove unused variable
+      fetch: do not override partial clone filter
+
+Junio C Hamano (49):
+      gitk: be prepared to be run in a bare repository
+      reflog: cleanse messages in the refs.c layer
+      Revert "fmt-merge-msg: stop treating `master` specially"
+      fmt-merge-msg: allow merge destination to be omitted again
+      First batch post 2.28
+      The second batch -- mostly minor typofixes
+      Third batch
+      Fourth batch
+      Documentation: don't hardcode command categories twice
+      compat-util: type-check parameters of no-op replacement functions
+      Fifth batch
+      Sixth batch
+      Seventh batch
+      messages: avoid SHA-1 in end-user facing messages
+      Eighth batch
+      fetch: optionally allow disabling FETCH_HEAD update
+      Ninth batch
+      ident: say whose identity is missing when giving user.name hint
+      Tenth batch
+      t3436: do not run git-merge-recursive in dashed form
+      transport-helper: do not run git-remote-ext etc. in dashed form
+      cvsexportcommit: do not run git programs in dashed form
+      run_command: teach API users to use embedded 'args' more
+      credential-cache: use child_process.args
+      Eleventh batch
+      doc: clarify how exit status of post-checkout hook is used
+      Twelfth batch
+      Thirteenth batch
+      add -i: use the built-in version when feature.experimental is set
+      Makefile: allow extra tweaking of distribution tarball
+      Fourteenth batch
+      quote_path: rename quote_path_relative() to quote_path()
+      quote_path: give flags parameter to quote_path()
+      quote_path: optionally allow quoting a path with SP in it
+      quote_path: code clarification
+      wt-status: consistently quote paths in "status --short" output
+      quote: rename misnamed sq_lookup[] to cq_lookup[]
+      quote: turn 'nodq' parameter into a set of flags
+      Fifteenth batch
+      Sixteenth batch
+      t8013: minimum preparatory clean-up
+      blame: validate and peel the object names on the ignore list
+      t1506: rev-parse A..B and A...B
+      sequencer: stop abbreviating stopped-sha file
+      Seventeenth batch
+      Eighteenth batch
+      hashmap_for_each_entry(): workaround MSVC's runtime check failure #3
+      Nineteenth batch
+      Git 2.29-rc0
+
+Kazuhiro Kato (1):
+      gitk: fix branch name encoding error
+
+Kyohei Kadota (1):
+      Fit to Plan 9's ANSI/POSIX compatibility layer
+
+Lin Sun (1):
+      mergetool: allow auto-merge for meld to follow the vim-diff behavior
+
+Luke Diamand (2):
+      git-p4 unshelve: adding a commit breaks git-p4 unshelve
+      git-p4: use HEAD~$n to find parent commit for unshelve
+
+Martin Ågren (19):
+      dir: check pathspecs before returning `path_excluded`
+      t1450: fix quoting of NUL byte when corrupting pack
+      t: don't spuriously close and reopen quotes
+      t4104: modernize and simplify quoting
+      progress: don't dereference before checking for NULL
+      http-protocol.txt: document SHA-256 "want"/"have" format
+      index-format.txt: document SHA-256 index format
+      protocol-capabilities.txt: clarify "allow-x-sha1-in-want" re SHA-256
+      shallow.txt: document SHA-256 shallow format
+      Documentation: mark `--object-format=sha256` as experimental
+      wt-status: replace sha1 mentions with oid
+      wt-status: print to s->fp, not stdout
+      wt-status: introduce wt_status_state_free_buffers()
+      worktree: inline `worktree_ref()` into its only caller
+      worktree: update renamed variable in comment
+      worktree: rename copy-pasted variable
+      worktree: use skip_prefix to parse target
+      config/fmt-merge-msg.txt: drop space in quote
+      config/uploadpack.txt: fix typo in `--filter=tree:<n>`
+
+Matheus Tavares (4):
+      checkout_entry(): remove unreachable error() call
+      config: complain about --worktree outside of a git repo
+      packfile: fix race condition on unpack_entry()
+      packfile: fix memory leak in add_delta_base_cache()
+
+Matthew Rogers (1):
+      diff: teach --stat to ignore uninteresting modifications
+
+Michael Forney (2):
+      revision: use repository from rev_info when parsing commits
+      submodule: use submodule repository when preparing summary
+
+Michal Privoznik (1):
+      completion: add show --color-moved[-ws]
+
+Miriam Rubio (4):
+      bisect--helper: BUG() in cmd_*() on invalid subcommand
+      bisect--helper: use '-res' in 'cmd_bisect__helper' return
+      bisect--helper: introduce new `write_in_file()` function
+      bisect: call 'clear_commit_marks_all()' in 'bisect_next_all()'
+
+Nikita Leonov (1):
+      credential: treat CR/LF as line endings in the credential protocol
+
+Noam Yorav-Raphael (1):
+      docs: improve the example that illustrates git-notes path names
+
+Orgad Shaneh (5):
+      vcbuild: fix library name for expat with make MSVC=1
+      vcbuild: fix batch file name in README
+      fetch: do not look for submodule changes in unchanged refs
+      submodule: suppress checking for file name and ref ambiguity for object ids
+      contrib/buildsystems: fix expat library name for generated vcxproj
+
+Patrick Steinhardt (2):
+      refs: fix interleaving hook calls with reference-transaction hook
+      refs: remove lookup cache for reference-transaction hook
+
+Paul Mackerras (1):
+      gitk: Resize panes correctly when reducing window size
+
+Philippe Blain (19):
+      git-log.txt: add links to 'rev-list' and 'diff' docs
+      revisions.txt: describe 'rev1 rev2 ...' meaning for ranges
+      git-rev-list.txt: fix Asciidoc syntax
+      git-rev-list.txt: tweak wording in set operations
+      git-rev-list.txt: move description to separate file
+      git-log.txt: include rev-list-description.txt
+      command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers'
+      help: drop usage of 'common' and 'useful' for guides
+      git.txt: add list of guides
+      fetch, pull doc: correct description of '--set-upstream'
+      userdiff: add tests for Fortran xfuncname regex
+      userdiff: improve Fortran xfuncname regex
+      git-imap-send.txt: don't duplicate 'Examples' sections
+      git-imap-send.txt: do verify SSL certificate for gmail.com
+      git-imap-send.txt: add note about localized Gmail folders
+      doc: mention GIT_SEQUENCE_EDITOR and 'sequence.editor' more
+      git.txt: correct stale 'GIT_EXTERNAL_DIFF' description
+      Makefile: add support for generating JSON compilation database
+      gitsubmodules doc: invoke 'ls-files' with '--recurse-submodules'
+
+Phillip Wood (7):
+      add -p: use ALLOC_GROW_BY instead of ALLOW_GROW
+      add -p: fix checking of user input
+      am: stop exporting GIT_COMMITTER_DATE
+      rebase -i: support --committer-date-is-author-date
+      rebase -i: support --ignore-date
+      add -p: fix memory leak
+      add -p: fix editing of intent-to-add paths
+
+Pranit Bauva (2):
+      bisect--helper: reimplement `bisect_autostart` shell function in C
+      bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
+
+Prathamesh Chavan (1):
+      submodule: port submodule subcommand 'summary' from shell to C
+
+Raymond E. Pasco (6):
+      apply: allow "new file" patches on i-t-a entries
+      blame-options.txt: document --first-parent option
+      apply: make i-t-a entries never match worktree
+      t4140: test apply with i-t-a paths
+      diff-lib: use worktree mode in diffs from i-t-a entries
+      git-apply.txt: update descriptions of --cached, --index
+
+René Scharfe (21):
+      read-cache: remove bogus shortcut
+      grep: avoid using oid_to_hex() with parse_object_or_die()
+      bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex()
+      upload-pack: remove superfluous sigchain_pop() call
+      rebase: remove unused function reschedule_last_action
+      connected: use buffered I/O to talk to rev-list
+      midx: use buffered I/O to talk to pack-objects
+      upload-pack: use buffered I/O to talk to rev-list
+      patch-id: ignore newline at end of file in diff_flush_patch_id()
+      checkout, restore: make pathspec recursive
+      read-cache: fix mem-pool allocation for multi-threaded index loading
+      push: release strbufs used for refspec formatting
+      refspec: add and use refspec_appendf()
+      fast-import: use write_pack_header()
+      midx: use hashwrite_u8() in write_midx_header()
+      pack-bitmap-write: use hashwrite_be32() in write_hash_cache()
+      pack-write: use hashwrite_be32() in write_idx_file()
+      archive: read short blobs in archive.c::write_archive_entry()
+      archive: add --add-file
+      Makefile: use git-archive --add-file
+      ref-filter: plug memory leak in reach_filter()
+
+Rohit Ashiwal (2):
+      rebase -i: add --ignore-whitespace flag
+      rebase: add --reset-author-date
+
+Ryan Zoeller (2):
+      parse-options: add --git-completion-helper-all
+      completion: add GIT_COMPLETION_SHOW_ALL env var
+
+SZEDER Gábor (15):
+      tree-walk.c: don't match submodule entries for 'submod/anything'
+      commit-graph: fix parsing the Chunk Lookup table
+      commit-graph-format.txt: all multi-byte numbers are in network byte order
+      commit-slab: add a function to deep free entries on the slab
+      diff.h: drop diff_tree_oid() & friends' return value
+      commit-graph: clean up #includes
+      commit-graph: simplify parse_commit_graph() #1
+      commit-graph: simplify parse_commit_graph() #2
+      commit-graph: simplify write_commit_graph_file() #1
+      commit-graph: simplify write_commit_graph_file() #2
+      commit-graph: unify the signatures of all write_graph_chunk_*() functions
+      commit-graph: simplify chunk writes into loop
+      commit-graph: check chunk sizes after writing
+      commit-graph: check all leading directories in changed path Bloom filters
+      ci: use absolute PYTHON_PATH in the Linux jobs
+
+Samanta Navarro (1):
+      fast-import: fix typo in documentation
+
+Sergey Organov (9):
+      revision: fix die() message for "--unpacked="
+      revision: change "--diff-merges" option to require parameter
+      doc/git-log: describe --diff-merges=off
+      t/t4013: add test for --diff-merges=off
+      pretty-options.txt: fix --no-abbrev-commit description
+      revision: add separate field for "-m" of "diff-index -m"
+      log_tree_diff: get rid of code duplication for first_parent_only
+      log_tree_diff: get rid of extra check for NULL
+      diff: get rid of redundant 'dense' argument
+
+Shourya Shukla (11):
+      submodule: remove extra line feeds between callback struct and macro
+      submodule: rename helper functions to avoid ambiguity
+      t7421: introduce a test script for verifying 'summary' output
+      t7401: modernize style
+      t7401: use 'short' instead of 'verify' and cut in rev-parse calls
+      t7401: change syntax of test_i18ncmp calls for clarity
+      t7401: change indentation for enhanced readability
+      t7401: add a NEEDSWORK
+      submodule: eliminate unused parameters from print_submodule_summary()
+      submodule: fix style in function definition
+      t7421: eliminate 'grep' check in t7421.4 for mingw compatibility
+
+Sibi Siddharthan (8):
+      Introduce CMake support for configuring Git
+      cmake: generate the shell/perl/python scripts and templates, translations
+      cmake: installation support for git
+      cmake: support for testing git with ctest
+      cmake: support for testing git when building out of the source tree
+      cmake: support for building git on windows with mingw
+      cmake: support for building git on windows with msvc and clang.
+      ci: modification of main.yml to use cmake for vs-build job
+
+Simon Legner (1):
+      remote-mediawiki: fix duplicate revisions being imported
+
+Stefan Dotterweich (1):
+      gitk: add diff lines background colors
+
+Steve Kemp (1):
+      comment: fix spelling mistakes inside comments
+
+Taylor Blau (18):
+      revision: empty pathspecs should not use Bloom filters
+      list_objects_filter_options: introduce 'list_object_filter_config_name'
+      upload-pack.c: allow banning certain object filter(s)
+      upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth'
+      builtin/repack.c: invalidate MIDX only when necessary
+      midx: traverse the local MIDX first
+      commit-graph: introduce 'get_bloom_filter_settings()'
+      t4216: use an '&&'-chain
+      commit-graph: pass a 'struct repository *' in more places
+      t/helper/test-read-graph.c: prepare repo settings
+      commit-graph: respect 'commitGraph.readChangedPaths'
+      commit-graph.c: store maximum changed paths
+      bloom: split 'get_bloom_filter()' in two
+      bloom: use provided 'struct bloom_filter_settings'
+      bloom: encode out-of-bounds filters as non-empty
+      commit-graph: rename 'split_commit_graph_opts'
+      builtin/commit-graph.c: introduce '--max-new-filters=<n>'
+      commit-graph: introduce 'commitGraph.maxNewFilters'
+
+Theodore Dubois (1):
+      submodule update: silence underlying merge/rebase with "--quiet"
+
+Thomas Guyot-Sionnest (1):
+      diff: fix modified lines stats with --stat and --numstat
+
+brian m. carlson (48):
+      remote-curl: make --force-with-lease work with non-ASCII ref names
+      t: make test-bloom initialize repository
+      t1001: use $ZERO_OID
+      t3305: make hash agnostic
+      t6100: make hash size independent
+      t6101: make hash size independent
+      t6301: make hash size independent
+      t6500: specify test values for SHA-256
+      t6501: avoid hard-coded objects
+      t7003: compute appropriate length constant
+      t7063: make hash size independent
+      t7201: abstract away SHA-1-specific constants
+      t7102: abstract away SHA-1-specific constants
+      t7400: make hash size independent
+      t7405: make hash size independent
+      t7506: avoid checking for SHA-1-specific constants
+      t7508: use $ZERO_OID instead of hard-coded constant
+      t8002: make hash size independent
+      t8003: make hash size independent
+      t8011: make hash size independent
+      t9300: abstract away SHA-1-specific constants
+      t9300: use $ZERO_OID instead of hard-coded object ID
+      t9301: make hash size independent
+      t9350: make hash size independent
+      t9500: ensure that algorithm info is preserved in config
+      t9700: make hash size independent
+      t5308: make test work with SHA-256
+      t0410: mark test with SHA1 prerequisite
+      http-fetch: set up git directory before parsing pack hashes
+      builtin/verify-pack: implement an --object-format option
+      bundle: add new version for use with SHA-256
+      setup: add support for reading extensions.objectformat
+      repository: enable SHA-256 support by default
+      t: add test_oid option to select hash algorithm
+      t: allow testing different hash algorithms via environment
+      t: make SHA1 prerequisite depend on default hash
+      ci: run tests with SHA-256
+      docs: add documentation for extensions.objectFormat
+      t: remove test_oid_init in tests
+      git-cvsexportcommit: support Perl before 5.10.1
+      docs: document SHA-256 pack and indices
+      docs: fix step in transition plan
+      t4013: improve diff-post-processor logic
+      po: add missing letter for French message
+      docs: explain why squash merges are broken with long-running branches
+      docs: explain why reverts are not always applied on merge
+      docs: explain how to deal with files that are always modified
+      builtin/clone: avoid failure with GIT_DEFAULT_HASH
+
+pudinha (2):
+      mergetool--lib: improve support for vimdiff-style tool variants
+      mergetools: add support for nvimdiff (neovim) family
+
+Ákos Uzonyi (2):
+      completion: use "prev" variable instead of introducing "prevword"
+      completion: complete refs after 'git restore -s'
+
+Ævar Arnfjörð Bjarmason (17):
+      remote-mediawiki doc: correct link to GitHub project
+      remote-mediawiki doc: link to MediaWiki's current version
+      remote-mediawiki doc: don't hardcode Debian PHP versions
+      remote-mediawiki tests: use the login/password variables
+      remote-mediawiki tests: use a 10 character password
+      remote-mediawiki tests: use test_cmp in tests
+      remote-mediawiki tests: change `[]` to `test`
+      remote-mediawiki tests: use "$dir/" instead of "$dir."
+      remote-mediawiki tests: use a more idiomatic dispatch table
+      remote-mediawiki tests: replace deprecated Perl construct
+      remote-mediawiki tests: use inline PerlIO for readability
+      remote-mediawiki tests: use CLI installer
+      remote-mediawiki tests: annotate failing tests
+      remote-mediawiki: provide a list form of run_git()
+      remote-mediawiki: convert to quoted run_git() invocation
+      remote-mediawiki: annotate unquoted uses of run_git()
+      remote-mediawiki: use "sh" to eliminate unquoted commands
+
+Đoàn Trần Công Danh (1):
+      diff: index-line: respect --abbrev in object's name
+
+Роман Донченко (2):
+      gitk: don't highlight files after submodules as submodules
+      gitk: fix the context menu not appearing in the presence of submodule diffs
+
+
+Version v2.28.1; changes since v2.28.0:
+---------------------------------------
+
+Johannes Schindelin (13):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+      Git 2.27.1
+      Git 2.28.1
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.28.0; changes since v2.28.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (1):
+      l10n: it.po: update the Italian translation for Git 2.28.0 round 1
+
+Bojun Chen (1):
+      githooks.txt: use correct "reference-transaction" hook name
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.28.0 round 1
+
+Emir Sarı (1):
+      l10n: tr: v2.28.0 round 1
+
+Jean-Noël Avila (1):
+      l10n: fr v2.28.0 round 1
+
+Jiang Xin (2):
+      l10n: git.pot: v2.28.0 round 1 (70 new, 14 removed)
+      l10n: zh_CN: for git v2.28.0 l10n round 1
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.28
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git v2.28.0
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (4931t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: fix grammar
+
+Taylor Blau (1):
+      Documentation/RelNotes: fix a typo in 2.28's relnotes
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(4931t): Updated translation for v2.28.0
+
+Yi-Jyun Pan (1):
+      l10n: zh_TW.po: v2.28.0 round 1 (0 untranslated)
+
+Đoàn Trần Công Danh (1):
+      l10n: vi.po: correct "ident line" translation
+
+
+Version v2.28.0-rc2; changes since v2.28.0-rc1:
+-----------------------------------------------
+
+David J. Malan (1):
+      git-prompt: change == to = for zsh's sake
+
+Junio C Hamano (2):
+      RelNotes: update the v0 with extension situation
+      Git 2.28-rc2
+
+Martin Ågren (2):
+      gitworkflows.txt: fix broken subsection underline
+      t3200: don't grep for `strerror()` string
+
+Mikhail Terekhov (1):
+      git-gui: allow opening work trees from the startup dialog
+
+
+Version v2.28.0-rc1; changes since v2.28.0-rc0:
+-----------------------------------------------
+
+Jonathan Nieder (2):
+      Revert "check_repository_format_gently(): refuse extensions for old repositories"
+      repository: allow repository format upgrade with extensions
+
+Junio C Hamano (2):
+      Hopefully the last batch before -rc1
+      Git 2.28-rc1
+
+Martin Ågren (2):
+      git-diff.txt: don't mark required argument as optional
+      git-diff.txt: reorder possible usages
+
+SZEDER Gábor (3):
+      commit-graph: fix progress of reachable commits
+      commit-graph: fix "Writing out commit graph" progress counter
+      commit-graph: fix "Collecting commits from input" progress line
+
+Trygve Aaberge (2):
+      Wait for child on signal death for aliases to builtins
+      Wait for child on signal death for aliases to externals
+
+
+Version v2.28.0-rc0; changes since v2.27.1:
+-------------------------------------------
+
+Abhishek Kumar (4):
+      object: drop parsed_object_pool->commit_count
+      commit-graph: introduce commit_graph_data_slab
+      commit: move members graph_pos, generation to a slab
+      commit-graph: minimize commit_graph_data_slab access
+
+Andrew Ng (1):
+      merge: optimization to skip evaluate_result for single strategy
+
+Ben Keene (1):
+      git-p4.py: fix --prepare-p4-only error with multiple commits
+
+Carlo Marcelo Arenas Belón (5):
+      t/helper: teach test-regex to report pattern errors (like REG_ILLSEQ)
+      t4210: detect REG_ILLSEQ dynamically and skip affected tests
+      bisect--helper: avoid segfault with bad syntax in `start --term-*`
+      t5608: avoid say() and use "skip_all" instead for consistency
+      commit-reach: avoid is_descendant_of() shim
+
+Chris Torek (3):
+      t/t3430: avoid undefined git diff behavior
+      git diff: improve range handling
+      Documentation: usage for diff combined commits
+
+Christian Couder (40):
+      upload-pack: remove unused 'wants' from upload_pack_data
+      upload-pack: move {want,have}_obj to upload_pack_data
+      upload-pack: move 'struct upload_pack_data' around
+      upload-pack: use 'struct upload_pack_data' in upload_pack()
+      upload-pack: pass upload_pack_data to get_common_commits()
+      upload-pack: pass upload_pack_data to receive_needs()
+      upload-pack: use upload_pack_data writer in receive_needs()
+      upload-pack: move symref to upload_pack_data
+      upload-pack: pass upload_pack_data to send_ref()
+      upload-pack: pass upload_pack_data to check_non_tip()
+      upload-pack: remove static variable 'stateless_rpc'
+      upload-pack: pass upload_pack_data to create_pack_file()
+      upload-pack: use upload_pack_data fields in receive_needs()
+      upload-pack: annotate upload_pack_data fields
+      upload-pack: move static vars to upload_pack_data
+      upload-pack: move use_sideband to upload_pack_data
+      upload-pack: move filter_capability_requested to upload_pack_data
+      upload-pack: move multi_ack to upload_pack_data
+      upload-pack: change multi_ack to an enum
+      upload-pack: pass upload_pack_data to upload_pack_config()
+      upload-pack: move keepalive to upload_pack_data
+      upload-pack: move allow_filter to upload_pack_data
+      upload-pack: move allow_ref_in_want to upload_pack_data
+      upload-pack: move allow_sideband_all to upload_pack_data
+      upload-pack: move pack_objects_hook to upload_pack_data
+      upload-pack: pass upload_pack_data to send_shallow_list()
+      upload-pack: pass upload_pack_data to deepen()
+      upload-pack: pass upload_pack_data to deepen_by_rev_list()
+      upload-pack: pass upload_pack_data to send_unshallow()
+      upload-pack: move shallow_nr to upload_pack_data
+      upload-pack: move extra_edge_obj to upload_pack_data
+      upload-pack: move allow_unadvertised_object_request to upload_pack_data
+      upload-pack: change allow_unadvertised_object_request to an enum
+      upload-pack: pass upload_pack_data to process_haves()
+      upload-pack: pass upload_pack_data to send_acks()
+      upload-pack: pass upload_pack_data to ok_to_give_up()
+      upload-pack: pass upload_pack_data to got_oid()
+      upload-pack: move oldest_have to upload_pack_data
+      upload-pack: refactor common code into do_got_oid()
+      cat-file: add missing [=<format>] to usage/synopsis
+
+Denton Liu (18):
+      lib-submodule-update: add space after function name
+      lib-submodule-update: consolidate --recurse-submodules
+      remote-curl: fix typo
+      remote-curl: remove label indentation
+      transport: extract common fetch_pack() call
+      pkt-line: extern packet_length()
+      remote-curl: error on incomplete packet
+      pkt-line: define PACKET_READ_RESPONSE_END
+      stateless-connect: send response end packet
+      t/README: avoid poor-man's small caps GIT
+      CodingGuidelines: specify Python 2.7 is the oldest version
+      lib-submodule-update: prepend "git" to $command
+      t3200: rename "expected" to "expect"
+      t3200: test for specific errors
+      branch: don't mix --edit-description
+      builtin/diff: update usage comment
+      builtin/diff: fix botched update of usage comment
+      lib-submodule-update: pass 'test_must_fail' as an argument
+
+Derrick Stolee (3):
+      line-log: integrate with changed-path Bloom filters
+      commit-reach: create repo_is_descendant_of()
+      commit-reach: use fast logic in repo_in_merge_base
+
+Don Goodman-Wilson (1):
+      init: allow setting the default for the initial branch name via the config
+
+Elijah Newren (11):
+      fast-import: add new --date-format=raw-permissive format
+      sparse-checkout: avoid staging deletions of all files
+      dir: fix treatment of negated pathspecs
+      git-sparse-checkout: clarify interactions with submodules
+      dir: fix a few confusing comments
+      dir, clean: avoid disallowed behavior
+      clean: consolidate handling of ignored parameters
+      clean: optimize and document cases where we recurse into subdirectories
+      wt-status: show sparse checkout status as well
+      git-prompt: document how in-progress operations affect the prompt
+      git-prompt: include sparsity state as well
+
+Emily Shaffer (3):
+      help: add shell-path to --build-options
+      bugreport: include user interactive shell
+      docs: mention MyFirstContribution in more places
+
+Eric Sunshine (10):
+      worktree: factor out repeated string literal
+      worktree: give "should be pruned?" function more meaningful name
+      worktree: make high-level pruning re-usable
+      worktree: prune duplicate entries referencing same worktree path
+      worktree: prune linked worktree referencing main worktree path
+      worktree: generalize candidate worktree path validation
+      worktree: make "move" refuse to move atop missing registered worktree
+      worktree: drop get_worktrees() special-purpose sorting option
+      worktree: drop get_worktrees() unused 'flags' argument
+      worktree: avoid dead-code in conditional
+
+Han-Wen Nienhuys (5):
+      refs.h: clarify reflog iteration order
+      t: use update-ref and show-ref to reading/writing refs
+      refs: improve documentation for ref iterator
+      reftable: clarify how empty tables should be written
+      reftable: define version 2 of the spec to accomodate SHA256
+
+Jacob Keller (16):
+      completion: add test showing subpar git switch completion
+      completion: add tests showing subpar DWIM logic for switch/checkout
+      completion: add tests showing subar checkout --detach logic
+      completion: add tests showing subpar switch/checkout --track logic
+      completion: add tests showing subpar -c/-C startpoint completion
+      completion: add tests showing subpar -c/C argument completion
+      completion: add tests showing subpar switch/checkout --orphan logic
+      completion: replace overloaded track term for __git_complete_refs
+      completion: extract function __git_dwim_remote_heads
+      completion: perform DWIM logic directly in __git_complete_refs
+      completion: improve handling of DWIM mode for switch/checkout
+      completion: improve completion for git switch with no options
+      completion: improve handling of --detach in checkout
+      completion: improve handling of --track in switch/checkout
+      completion: improve handling of -c/-C and -b/-B in switch/checkout
+      completion: improve handling of --orphan option of switch/checkout
+
+Jeff King (14):
+      diff: discard blob data from stat-unmatched pairs
+      upload-pack: actually use some upload_pack_data bitfields
+      t9351: derive anonymized tree checks from original repo
+      fast-export: use xmemdupz() for anonymizing oids
+      fast-export: store anonymized oids as hex strings
+      fast-export: tighten anonymize_mem() interface to handle only strings
+      fast-export: stop storing lengths in anonymized hashmaps
+      fast-export: use a flex array to store anonymized entries
+      fast-export: move global "idents" anonymize hashmap into function
+      fast-export: add a "data" callback parameter to anonymize_str()
+      fast-export: allow seeding the anonymized mapping
+      fast-export: anonymize "master" refname
+      fast-export: use local array to store anonymized oid
+      diff: check for merge bases before assigning sym->base
+
+Jiuyang Xie (1):
+      doc: fix wrong 4-byte length of pkt-line message
+
+Johannes Schindelin (16):
+      checkout -p: handle new files correctly
+      clone/fetch: anonymize URLs in the reflog
+      msvc: fix "REG_STARTEND" issue
+      fmt-merge-msg: stop treating `master` specially
+      send-pack/transport-helper: avoid mentioning a particular branch
+      submodule: fall back to remote's HEAD for missing remote.<name>.branch
+      docs: add missing diamond brackets
+      init: allow specifying the initial branch name for the new repository
+      clone: use configured default branch name when appropriate
+      remote: use the configured default branch name when appropriate
+      testsvn: respect `init.defaultBranch`
+      docs: adjust for the recent rename of `pu` to `seen`
+      docs: adjust the technical overview for the rename `pu` -> `seen`
+      tests: reference `seen` wherever `pu` was referenced
+      diff-files --raw: show correct post-image of intent-to-add files
+      difftool -d: ensure that intent-to-add files are handled correctly
+
+John Lin (1):
+      bash-completion: add git-prune into bash completion
+
+Jonathan Nieder (3):
+      config: let feature.experimental imply protocol.version=2
+      reftable: file format documentation
+      experimental: default to fetch.writeCommitGraph=false
+
+Jonathan Tan (12):
+      t5551: test that GIT_TRACE_CURL redacts password
+      http, imap-send: stop using CURLOPT_VERBOSE
+      http: redact all cookies, teach GIT_TRACE_REDACT=0
+      http: use --stdin when indexing dumb HTTP pack
+      http: refactor finish_http_pack_request()
+      http-fetch: refactor into function
+      http-fetch: support fetching packfiles by URL
+      Documentation: order protocol v2 sections
+      Documentation: add Packfile URIs design doc
+      upload-pack: refactor reading of pack-objects out
+      fetch-pack: support more than one pack lockfile
+      upload-pack: send part of packfile response as uri
+
+Josh Steadmon (1):
+      fuzz-commit-graph: properly free graph struct
+
+Junio C Hamano (8):
+      Start the post 2.27 cycle
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      Git 2.28-rc0
+
+Laurent Arnoud (1):
+      diff: add config option relative
+
+Luc Van Oostenryck (1):
+      sparse: allow '{ 0 }' to be used without warnings
+
+Marco Trevisan (Treviño) (1):
+      completion: use native ZSH array pattern matching
+
+Martin Ågren (1):
+      git-rebase.txt: fix description list separator
+
+Matheus Tavares (1):
+      entry: check for fstat() errors after checkout
+
+Miroslav Koškár (1):
+      doc: fix author vs. committer copy/paste error
+
+Paolo Bonzini (1):
+      t4014: do not use "slave branch" nomenclature
+
+Patrick Steinhardt (1):
+      refs: implement reference transaction hook
+
+Rafael Aquini (1):
+      send-email: restore --in-reply-to superseding behavior
+
+Ramsay Jones (1):
+      upload-pack: fix a sparse '0 as NULL pointer' warning
+
+Randall S. Becker (2):
+      bugreport.c: replace strbuf_write_fd with write_in_full
+      strbuf: remove unreferenced strbuf_write_fd method.
+
+René Scharfe (10):
+      fsck: fix a typo in a comment
+      t1450: increase test coverage of in-tree d/f detection
+      t1450: demonstrate undetected in-tree d/f conflict
+      fsck: detect more in-tree d/f conflicts
+      checkout: add tests for -b and --track
+      checkout: improve error messages for -b with extra argument
+      commit-reach: plug minor memory leak after using is_descendant_of()
+      pull: plug minor memory leak after using is_descendant_of()
+      revision: reallocate TOPO_WALK object flags
+      revision: disable min_age optimization with line-log
+
+SZEDER Gábor (4):
+      line-log: remove unused fields from 'struct line_log_data'
+      t4211-line-log: add tests for parent oids
+      line-log: more responsive, incremental 'git log -L'
+      line-log: try to use generation number-based topo-ordering
+
+Shourya Shukla (1):
+      submodule: port subcommand 'set-branch' from shell to C
+
+Srinidhi Kaushik (1):
+      diff-files: treat "i-t-a" files as "not-in-index"
+
+Taylor Blau (11):
+      commit-graph.c: extract 'refs_cb_data'
+      commit-graph.c: show progress of finding reachable commits
+      commit-graph.c: peel refs in 'add_ref_to_set'
+      builtin/commit-graph.c: extract 'read_one_commit()'
+      builtin/commit-graph.c: dereference tags in builtin
+      commit-graph.c: simplify 'fill_oids_from_commits'
+      t5318: reorder test below 'graph_read_expect'
+      commit-graph: drop COMMIT_GRAPH_WRITE_CHECK_OIDS flag
+      t5318: use 'test_must_be_empty'
+      t5318: test that '--stdin-commits' respects '--[no-]progress'
+      commit.c: don't persist substituted parents when unshallowing
+
+Ville Skyttä (2):
+      completion: don't override given stash subcommand with -p
+      completion: nounset mode fixes
+
+Xin Li (4):
+      repository: add a helper function to perform repository format upgrade
+      fetch: allow adding a filter after initial clone
+      sparse-checkout: upgrade repository to version 1 when enabling extension
+      check_repository_format_gently(): refuse extensions for old repositories
+
+brian m. carlson (61):
+      t1050: match object ID paths in a hash-insensitive way
+      Documentation: document v1 protocol object-format capability
+      builtin/checkout: simplify metadata initialization
+      t2060: add a test for switch with --orphan and --discard-changes
+      connect: have ref processing code take struct packet_reader
+      wrapper: add function to compare strings with different NUL termination
+      remote: advertise the object-format capability on the server side
+      connect: add function to parse multiple v1 capability values
+      connect: add function to fetch value of a v2 server capability
+      pkt-line: add a member for hash algorithm
+      transport: add a hash algorithm member
+      connect: add function to detect supported v1 hash functions
+      send-pack: detect when the server doesn't support our hash
+      connect: make parse_feature_value extern
+      fetch-pack: detect when the server doesn't support our hash
+      connect: detect algorithm when fetching refs
+      builtin/receive-pack: detect when the server doesn't support our hash
+      docs: update remote helper docs for object-format extensions
+      transport-helper: implement object-format extensions
+      remote-curl: implement object-format extensions
+      builtin/clone: initialize hash algorithm properly
+      t5562: pass object-format in synthesized test data
+      fetch-pack: parse and advertise the object-format capability
+      setup: set the_repository's hash algo when checking format
+      t3200: mark assertion with SHA1 prerequisite
+      packfile: compute and use the index CRC offset
+      t5302: modernize test formatting
+      builtin/show-index: provide options to determine hash algo
+      t1302: expect repo format version 1 for SHA-256
+      Documentation/technical: document object-format for protocol v2
+      connect: pass full packet reader when parsing v2 refs
+      connect: parse v2 refs with correct hash algorithm
+      serve: advertise object-format capability for protocol v2
+      t5500: make hash independent
+      builtin/ls-remote: initialize repository based on fetch
+      remote-curl: detect algorithm for dumb HTTP by size
+      builtin/index-pack: add option to specify hash algorithm
+      t1050: pass algorithm to index-pack when outside repo
+      remote-curl: avoid truncating refs with ls-remote
+      t/helper: initialize the repository for test-sha1-array
+      t5702: offer an object-format capability in the test
+      t5703: use object-format serve option
+      t5704: send object-format capability with SHA-256
+      t5300: pass --object-format to git index-pack
+      bundle: detect hash algorithm when reading refs
+      remote-testgit: adapt for object-format
+      t9109: make test hash independent
+      t9168: make test hash independent
+      t9108: make test hash independent
+      t9100: make test work with SHA-256
+      t9104: make hash size independent
+      t9101: make hash independent
+      t/lib-git-svn: make hash size independent
+      perl: create and switch variables for hash constants
+      perl: make Git::IndexInfo work with SHA-256
+      perl: make SVN code hash independent
+      git-svn: set the OID length based on hash algorithm
+      git-cvsserver: port to SHA-256
+      git-cvsimport: port to SHA-256
+      git-cvsexportcommit: port to SHA-256
+      http-push: ensure unforced pushes fail when data would be lost
+
+Đoàn Trần Công Danh (1):
+      contrib: subtree: adjust test to change in fmt-merge-msg
+
+
+Version v2.27.1; changes since v2.27.0:
+---------------------------------------
+
+Johannes Schindelin (12):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+      Git 2.27.1
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.27.0; changes since v2.27.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (2):
+      l10n: it.po: update the Italian translation for Git 2.27.0 round 1
+      l10n: it.po: update for Git 2.27.0 round #2
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (4868t)
+      l10n: bg.po: Updated Bulgarian translation (4875t)
+
+Carlo Marcelo Arenas Belón (1):
+      t: avoid alternation (not POSIX) in grep's BRE
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.27.0 round 1
+
+Emir Sarı (2):
+      l10n: tr: v2.27.0 round 1
+      l10n: tr: v2.27.0 round 2
+
+Jan Engelhardt (1):
+      l10n: de.po: Fix typo in the German translation of octopus
+
+Jean-Noël Avila (2):
+      l10n: fr v2.27.0 rnd 1
+      l10n: fr.po v2.27.0 rnd 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.27.0 round 1 (72 new, 37 removed)
+      l10n: git.pot: v2.27.0 round 2 (+1)
+      l10n: zh_CN: for git v2.27.0 l10n round 1~2
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.27
+
+Martin Ågren (1):
+      rev-list-options.txt: start a list for `show-pulls`
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git 2.27.0
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (4839t0f0u)
+      l10n: sv.po: Update Swedish translation (4875t0f0u)
+
+Toon Claes (1):
+      Documentation: correct hash environment variable
+
+Trần Ngọc Quân (2):
+      l10n: vi(4874t): Updated Vietnamses translation for 2.27.0
+      l10n: vi(4875t): Updated Vietnamses translation for 2.27.0rd2
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW.po: v2.27.0 round 1 (0 untranslated)
+      l10n: zh_TW.po: v2.27.0 round 2 (0 untranslated)
+
+Đoàn Trần Công Danh (1):
+      ci/config: correct instruction for CI preferences
+
+
+Version v2.27.0-rc2; changes since v2.27.0-rc1:
+-----------------------------------------------
+
+Ansgar Röber (1):
+      Subject: git-gui: fix syntax error because of missing semicolon
+
+Carlo Marcelo Arenas Belón (3):
+      t4216: avoid unnecessary subshell in test_bloom_filters_not_used
+      t5520: avoid alternation in grep's BRE (not POSIX)
+      bisect: avoid tailing CR characters from revision in replay
+
+Derrick Stolee (1):
+      fsck: use ERROR_MULTI_PACK_INDEX
+
+Greg Price (1):
+      tests: skip small-stack tests on hppa architecture
+
+Ismael Luceno (1):
+      git-gui: Handle Ctrl + BS/Del in the commit msg
+
+Jonathan Tan (1):
+      t4067: make rename detection test output raw diff
+
+Junio C Hamano (2):
+      Hopefully final batch before 2.27-rc2
+      Git 2.27-rc2
+
+Martin Ågren (5):
+      date-formats.txt: fix list continuation
+      git-commit-graph.txt: fix grammo
+      git-commit-graph.txt: fix list rendering
+      git-credential.txt: use list continuation
+      git-sparse-checkout.txt: add missing '
+
+Philippe Blain (1):
+      command-list.txt: add gitfaq to the list of guides
+
+Todd Zullinger (1):
+      gitfaq: avoid validation error with older asciidoc
+
+Đoàn Trần Công Danh (1):
+      t5703: replace "grep -a" usage by perl
+
+
+Version v2.27.0-rc1; changes since v2.27.0-rc0:
+-----------------------------------------------
+
+Abhishek Kumar (1):
+      commit-slab-decl.h: update include guard
+
+Carlo Marcelo Arenas Belón (1):
+      compat: remove gmtime
+
+Derrick Stolee (1):
+      progress: call trace2_region_leave() only after calling _enter()
+
+Elijah Newren (2):
+      merge-recursive: fix rename/rename(1to2) for working tree with a binary
+      unpack-trees: also allow get_progress() to work on a different index
+
+Johannes Schindelin (1):
+      ci: avoid pounding on the poor ci-artifacts container
+
+Junio C Hamano (4):
+      Revert "t/test_lib: avoid naked bash arrays in file_lineno"
+      Revert "ci: add a problem matcher for GitHub Actions"
+      Revert "tests: when run in Bash, annotate test failures with file name/line number"
+      Git 2.27-rc1
+
+Todd Zullinger (1):
+      git-bugreport.txt: adjust reference to strftime(3)
+
+Đoàn Trần Công Danh (1):
+      t1509: correct i18n test
+
+
+Version v2.27.0-rc0; changes since v2.26.3:
+-------------------------------------------
+
+Alban Gruin (3):
+      sequencer: mark messages for translation
+      sequencer: don't abbreviate a command if it doesn't have a short form
+      t3432: test `--merge' with `rebase.abbreviateCommands = true', too
+
+Alex Henrie (1):
+      pull: warn if the user didn't say whether to rebase or to merge
+
+Alexandr Miloslavskiy (4):
+      set_git_dir: fix crash when used with real_path()
+      real_path: remove unsafe API
+      real_path_if_valid(): remove unsafe API
+      get_superproject_working_tree(): return strbuf
+
+Andras Kucsma (1):
+      run-command: trigger PATH lookup properly on Cygwin
+
+Andrei Rybak (2):
+      t9500: remove spaces after redirect operators
+      t: fix whitespace around &&
+
+Andrew Oakley (1):
+      git-p4: recover from inconsistent perforce history
+
+Ash Holland (1):
+      userdiff: support Markdown
+
+Ben Keene (8):
+      git-p4: change the expansion test from basestring to list
+      git-p4: rewrite prompt to be Windows compatible
+      git-p4: create new function run_git_hook
+      git-p4: add p4-pre-submit exit text
+      git-p4: add --no-verify option
+      git-p4: restructure code in submit
+      git-p4: add p4 submit hooks
+      git-p4: add RCS keyword status message
+
+Carlo Marcelo Arenas Belón (8):
+      credential-store: ignore bogus lines from store file
+      credential: update description for credential_from_url_gently
+      credential: correct order of parameters for credential_match
+      builtin/receive-pack: avoid generic function name hmac()
+      t/t0000-basic: make sure subtests also use TEST_SHELL_PATH
+      t/test_lib: avoid naked bash arrays in file_lineno
+      credential: update gitcredentials documentation
+      credential: document protocol updates
+
+Christian Couder (1):
+      upload-pack: clear filter_options for each v2 fetch command
+
+Christopher Warrington (1):
+      bisect: allow CRLF line endings in "git bisect replay" input
+
+Damien Robert (6):
+      midx.c: fix an integer underflow
+      doc: list all commands affected by submodule.recurse
+      doc: document --recurse-submodules for reset and restore
+      doc: explain how to deactivate submodule.recurse completely
+      doc: be more precise on (fetch|push).recurseSubmodules
+      doc: --recurse-submodules mostly applies to active submodules
+
+Denton Liu (45):
+      Makefile: ASCII-sort += lists
+      t7600: use test_write_lines()
+      Lib-ify fmt-merge-msg
+      Lib-ify prune-packed
+      t5512: don't use `test_must_fail test_cmp`
+      t5512: stop losing git exit code in here-docs
+      t5512: stop losing return codes of git commands
+      t5550: simplify no matching line check
+      t5607: reorder `nongit test_must_fail`
+      t5612: don't use `test_must_fail test_cmp`
+      t5612: stop losing return codes of git commands
+      t5801: teach compare_refs() to accept !
+      wrapper: indent with tabs
+      sequencer: stop leaking buf
+      sequencer: make file exists check more efficient
+      sequencer: make read_oneliner() accept flags
+      sequencer: configurably warn on non-existent files
+      sequencer: make read_oneliner() extern
+      rebase: use read_oneliner()
+      sequencer: make apply_autostash() accept a path
+      sequencer: rename stash_sha1 to stash_oid
+      rebase: use apply_autostash() from sequencer.c
+      rebase: generify reset_head()
+      reset: extract reset_head() from rebase
+      rebase: extract create_autostash()
+      rebase: generify create_autostash()
+      sequencer: extract perform_autostash() from rebase
+      sequencer: unlink autostash in apply_autostash()
+      sequencer: implement save_autostash()
+      sequencer: implement apply_autostash_oid()
+      merge: teach --autostash option
+      t5520: make test_pull_autostash() accept expect_parent_num
+      pull: pass --autostash to merge
+      t6030: use test_path_is_missing()
+      t7408: replace incorrect uses of test_must_fail
+      t7508: don't use `test_must_fail test_cmp`
+      t9141: use test_path_is_missing()
+      t9160: use test_path_is_missing()
+      t9164: use test_must_fail only on git commands
+      t9819: don't use test_must_fail with p4
+      Use OPT_CALLBACK and OPT_CALLBACK_F
+      push: unset PARSE_OPT_OPTARG for --recurse-submodules
+      rebase: save autostash entry into stash reflog on --quit
+      switch: fix errors and comments related to -c and -C
+      Doc: reference the "stash list" in autostash docs
+
+Derrick Stolee (25):
+      connected.c: reprepare packs for corner cases
+      config: set pack.useSparse=true by default
+      pack-objects: flip the use of GIT_TEST_PACK_SPARSE
+      clone: document --filter options
+      diff: halt tree-diff early after max_changes
+      dir: refactor treat_directory to clarify control flow
+      commit-graph: fix buggy --expire-time option
+      t5319: replace 'touch -m' with 'test-tool chmtime'
+      bloom: ignore renames when computing changed paths
+      revision: --show-pulls adds helpful merges
+      log-tree: make ref_filter_match() a helper method
+      log: add log.excludeDecoration config option
+      revision: complicated pathspecs disable filters
+      tests: write commit-graph with Bloom filters
+      blame: use changed-path Bloom filters
+      multi-pack-index: close file descriptor after mmap
+      bloom: fix whitespace around tab length
+      test-bloom: fix usage typo
+      sparse-checkout: stop blocking empty workdirs
+      unpack-trees: avoid array out-of-bounds error
+      multi-pack-index: respect repack.packKeptObjects=false
+      bloom: parse commit before computing filters
+      Documentation: changed-path Bloom filters use byte words
+      bloom: de-duplicate directory entries
+      bloom: use num_changes not nr for limit detection
+
+Elijah Newren (37):
+      oidset: remove unnecessary include
+      unpack-trees: fix minor typo in comment
+      unpack-trees: remove unused error type
+      unpack-trees: simplify verify_absent_sparse()
+      unpack-trees: simplify pattern_list freeing
+      t1091: make some tests a little more defensive against failures
+      unpack-trees: allow check_updates() to work on a different index
+      unpack-trees: do not mark a dirty path with SKIP_WORKTREE
+      unpack-trees: pull sparse-checkout pattern reading into a new function
+      unpack-trees: add a new update_sparsity() function
+      sparse-checkout: use new update_sparsity() function
+      sparse-checkout: use improved unpack_trees porcelain messages
+      unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
+      unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
+      unpack-trees: split display_error_msgs() into two
+      unpack-trees: make sparse path messages sound like warnings
+      unpack-trees: provide warnings on sparse updates for unmerged paths too
+      unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
+      sparse-checkout: provide a new reapply subcommand
+      pull: avoid running both merge and rebase
+      t7063: more thorough status checking
+      t3000: add more testcases testing a variety of ls-files issues
+      dir: fix simple typo in comment
+      dir: consolidate treat_path() and treat_one_path()
+      dir: fix broken comment
+      dir: fix confusion based on variable tense
+      dir: replace exponential algorithm with a linear one
+      dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
+      dir: replace double pathspec matching with single in treat_directory()
+      Fix error-prone fill_directory() API; make it only return matches
+      completion: fix 'git add' on paths under an untracked directory
+      git-rebase.txt: add another hook to the hooks section, and explain more
+      sequencer: honor GIT_REFLOG_ACTION
+      rebase -i: mark commits that begin empty in todo editor
+      rebase: reinstate --no-keep-empty
+      rebase: fix an incompatible-options error message
+      rebase: display an error if --root and --fork-point are both provided
+
+Emily Shaffer (8):
+      help: move list_config_help to builtin/help
+      bugreport: add tool to generate debugging info
+      bugreport: gather git version and build info
+      bugreport: add uname info
+      bugreport: add compiler info
+      bugreport: drop extraneous includes
+      bugreport: collect list of populated hooks
+      trace2: log progress time and throughput
+
+Emma Brooks (3):
+      format-patch: teach --no-encode-email-headers
+      Documentation: explain "mboxrd" pretty format
+      gitweb: Recognize *-to and Closes/Fixes trailers
+
+Eric Sunshine (1):
+      restore: default to HEAD when combining --staged and --worktree
+
+Garima Singh (13):
+      commit-graph: define and use MAX_NUM_CHUNKS
+      bloom.c: add the murmur3 hash implementation
+      bloom.c: introduce core Bloom filter constructs
+      bloom.c: core Bloom filter implementation for changed paths.
+      commit-graph: compute Bloom filters for changed paths
+      commit-graph: examine commits by generation number
+      commit-graph: write Bloom filters to commit graph file
+      commit-graph: reuse existing Bloom filters during write
+      commit-graph: add --changed-paths option to write subcommand
+      revision.c: use Bloom filters to speed up path based revision walks
+      revision.c: add trace2 stats around Bloom filter usage
+      t4216: add end to end tests for git log with Bloom filters
+      commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
+
+Hans Jerry Illikainen (2):
+      t: increase test coverage of signature verification output
+      gpg-interface: prefer check_signature() for GPG verification
+
+Heba Waly (4):
+      advice: extract vadvise() from advise()
+      advice: change "setupStreamFailure" to "setUpstreamFailure"
+      advice: revamp advise API
+      tag: use new advice API to check visibility
+
+Jeff King (41):
+      t3419: drop EXPENSIVE tests
+      t/lib-credential.sh: drop shebang line
+      t/lib-*.sh: drop executable bit
+      test-lib-functions: make packetize() more efficient
+      upload-pack: handle unexpected delim packets
+      p5310: stop timing non-bitmap pack-to-disk
+      Makefile: avoid running curl-config multiple times
+      Makefile: use curl-config --cflags
+      test-lib-functions: simplify packetize() stdin code
+      commit-graph: examine changed-path objects in pack order
+      oid_array: use size_t for count and allocation
+      oid_array: use size_t for iteration
+      oid_array: rename source file from sha1-array
+      test-tool: rename sha1-array to oid-array
+      bisect: stop referring to sha1_array
+      ref-filter: stop referring to "sha1 array"
+      oidset: stop referring to sha1-array
+      clone: use "quick" lookup while following tags
+      Makefile: avoid running curl-config unnecessarily
+      fast-import: replace custom hash with hashmap.c
+      repository: mark the "refs" pointer as private
+      remote: drop auto-strlen behavior of make_branch() and make_rewrite()
+      parse_config_key(): return subsection len as size_t
+      config: drop useless length variable in write_pair()
+      git_config_parse_key(): return baselen as size_t
+      config: use size_t to store parsed variable baselen
+      config: reject parsing of files over INT_MAX
+      credential: treat "?" and "#" in URLs as end of host
+      blame: drop unused parameter from maybe_changed_path
+      test-bloom: fix some whitespace issues
+      test-bloom: check that we have expected arguments
+      commit-graph: close descriptors after mmap
+      t0000: disable GIT_TEST_FAIL_PREREQS in sub-tests
+      gitcredentials(7): clarify quoting of helper examples
+      gitcredentials(7): make shell-snippet example more realistic
+      CodingGuidelines: drop arithmetic expansion advice to use "$x"
+      ref-filter: apply --ignore-case to all sorting keys
+      ref-filter: apply fallback refname sort only after all user sorts
+      list-objects-filter: treat NULL filter_options as "disabled"
+      pack-bitmap: pass object filter to fill-in traversal
+      ci: allow per-branch config for GitHub Actions
+
+Jessica Clarke (1):
+      config.mak.uname: Define FREAD_READS_DIRECTORIES for GNU/Hurd
+
+Jiang Xin (5):
+      send-pack: fix inconsistent porcelain output
+      t5543: never report what we do not push
+      send-pack: mark failure of atomic push properly
+      transport-helper: mark failure for atomic push
+      transport-helper: new method reject_atomic_push()
+
+Johannes Schindelin (36):
+      cherry-pick: add test for `--skip` advice in `git commit`
+      tests(junit-xml): avoid invalid XML
+      import-tars: ignore the global PAX header
+      tests(gpg): allow the gpg-agent to start on Windows
+      t/lib-gpg.sh: stop pretending to be a stand-alone script
+      tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
+      tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
+      tests: increase the verbosity of the GPG-related prereqs
+      MyFirstObjectWalk: remove unnecessary conditional statement
+      t0007: fix a typo
+      ci/lib: if CI type is unknown, show the environment variables
+      ci/lib: allow running in GitHub Actions
+      ci: fix the `jobname` of the `GETTEXT_POISON` job
+      subtree: fix build with AsciiDoctor 2
+      mingw: do not treat `COM0` as a reserved file name
+      t3904: fix incorrect demonstration of a bug
+      stash -p: (partially) fix bug concerning split hunks
+      mingw: help debugging by optionally executing bash with strace
+      interactive: refactor code asking the user for interactive input
+      ci: run gem with sudo to install asciidoctor
+      README: add a build badge for the GitHub Actions runs
+      ci: retire the Azure Pipelines definition
+      tests: when run in Bash, annotate test failures with file name/line number
+      ci: add a problem matcher for GitHub Actions
+      ci: let GitHub Actions upload failed tests' directories
+      t: consolidate the `is_hidden` functions
+      mingw: make test_path_is_hidden more robust
+      t: restrict `is_hidden` to be called only on Windows
+      credential: fix grammar
+      credential: optionally allow partial URLs in credential_from_url_gently()
+      credential: optionally allow partial URLs in credential_from_url_gently()
+      credential: handle `credential.<partial-URL>.<key>` again
+      macOS/brew: let the build find gettext headers/libraries/msgfmt
+      push: anonymize URLs in error messages and warnings
+      credential: handle `credential.<partial-URL>.<key>` again
+      rebase --autosquash: fix a potential segfault
+
+Jonathan Nieder (1):
+      Revert "fetch: default to protocol version 2"
+
+Jonathan Tan (11):
+      connected: always use partial clone optimization
+      promisor-remote: accept 0 as oid_nr in function
+      diff: make diff_populate_filespec_options struct
+      diff: refactor object read
+      diff: restrict when prefetching occurs
+      rebase --merge: optionally skip upstreamed commits
+      fetch-pack: return enum from process_acks()
+      fetch-pack: in protocol v2, in_vain only after ACK
+      fetch-pack: in protocol v2, reset in_vain upon ACK
+      commit-graph: avoid memory leaks
+      t5500: count objects through stderr, not trace
+
+Jorge Lopez Silva (2):
+      http: add client cert support for HTTPS proxies
+      http: add environment variable support for HTTPS proxies
+
+Josh Steadmon (1):
+      trace2: teach Git to log environment variables
+
+Julien Moutinho (1):
+      gitweb: fix UTF-8 encoding when using CGI::Fast
+
+Junio C Hamano (26):
+      rebase: --fork-point regression fix
+      describe: force long format for a name based on a mislocated tag
+      update how-to-maintain-git
+      parse-options: teach "git cmd -h" to show alias as alias
+      clone: reorder --recursive/--recurse-submodules
+      log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
+      separate tar.* config to its own source file
+      The first batch post 2.26 cycle
+      The second batch post 2.26 cycle
+      t/README: suggest how to leave test early with failure
+      CodingGuidelines: allow ${#posix} == strlen($posix)
+      sha1-name: do not assume that the ref store is initialized
+      receive-pack: compilation fix
+      The third batch
+      The fourth batch
+      credential-store: document the file format a bit more
+      Revert "commit-graph.c: introduce '--[no-]check-oids'"
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      auto-gc: extract a reusable helper from "git fetch"
+      auto-gc: pass --quiet down from am, commit, merge and rebase
+      CodingGuidelines: do not ==/!= compare with 0 or '\0' or NULL
+      The eighth batch
+      The ninth batch
+      Git 2.27-rc0
+
+Li Xuejiang (1):
+      git-submodule.sh: setup uninitialized variables
+
+Martin Ågren (9):
+      Doc: drop support for docbook-xsl before 1.71.1
+      Doc: drop support for docbook-xsl before 1.72.0
+      Doc: drop support for docbook-xsl before 1.73.0
+      manpage-bold-literal.xsl: stop using git.docbook.backslash
+      manpage-normal.xsl: fold in manpage-base.xsl
+      INSTALL: drop support for docbook-xsl before 1.74
+      user-manual.conf: don't specify [listingblock]
+      config.txt: move closing "----" to cover entire listing
+      merge: use skip_prefix to parse config key
+
+Matheus Tavares (3):
+      test-lib: allow short options to be bundled
+      grep: follow conventions for printing paths w/ unusual chars
+      config doc: fix reference to config.worktree info
+
+Matthias Aßhauer (1):
+      mingw: use modern strftime implementation if possible
+
+Michael F. Schönitzer (1):
+      docs: fix minor glitch in illustration
+
+Nathan Sanders (1):
+      mingw: cope with the Isilon network file system
+
+Patrick Steinhardt (9):
+      refs: fix segfault when aborting empty transaction
+      git-update-ref.txt: add missing word
+      strbuf: provide function to append whole lines
+      update-ref: organize commands in an array
+      update-ref: drop unused argument for `parse_refname`
+      update-ref: pass end pointer instead of strbuf
+      update-ref: move transaction handling into `update_refs_stdin()`
+      update-ref: read commands in a line-wise fashion
+      update-ref: implement interactive transaction handling
+
+Philippe Blain (9):
+      t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED
+      t/lib-submodule-update: remove outdated test description
+      t/lib-submodule-update: move a test to the right section
+      unpack-trees: remove outdated description for verify_clean_submodule
+      unpack-trees: check for missing submodule directory in merged_entry
+      t/lib-submodule-update: add test removing nested submodules
+      git-rebase.txt: fix typo
+      pull doc: refer to a specific section in 'fetch' doc
+      pull doc: correct outdated description of an example
+
+Phillip Wood (6):
+      t3404: use test_cmp_rev
+      cherry-pick: check commit error messages
+      sequencer: write CHERRY_PICK_HEAD for reword and edit
+      commit: use enum value for multiple cherry-picks
+      commit: encapsulate determine_whence() for sequencer
+      commit: give correct advice for empty commit during a rebase
+
+René Scharfe (4):
+      pull: document more passthru options
+      pull: remove --update-head-ok from documentation
+      pull: pass documented fetch options on
+      fsck: report non-consecutive duplicate names in trees
+
+SZEDER Gábor (4):
+      ci: use python3 in linux-gcc and osx-gcc and python2 elsewhere
+      commit-slab: clarify slabname##_peek()'s return value
+      ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
+      completion: offer '--(no-)patch' among 'git log' options
+
+Shourya Shukla (4):
+      submodule--helper.c: Rename 'cb_foreach' to 'foreach_cb'
+      gitfaq: files in .gitignore are tracked
+      gitfaq: fetching and pulling a repository
+      submodule: port subcommand 'set-url' from shell to C
+
+Son Luong Ngoc (1):
+      midx: teach "git multi-pack-index repack" honor "git repack" configurations
+
+Taylor Blau (24):
+      t/helper/test-read-graph.c: support commit-graph chains
+      builtin/commit-graph.c: support for '--split[=<strategy>]'
+      builtin/commit-graph.c: introduce split strategy 'no-merge'
+      builtin/commit-graph.c: introduce split strategy 'replace'
+      oidset: introduce 'oidset_size'
+      commit-graph.h: replace 'commit_hex' with 'commits'
+      commit-graph.c: introduce '--[no-]check-oids'
+      diff-tree.c: load notes machinery when required
+      commit-graph.c: don't use discarded graph_name in error
+      t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests
+      commit-graph.c: gracefully handle file descriptor exhaustion
+      t5537: use test_write_lines and indented heredocs for readability
+      shallow.c: use '{commit,rollback}_shallow_file'
+      tempfile.c: introduce 'create_tempfile_mode'
+      lockfile.c: introduce 'hold_lock_file_for_update_mode'
+      commit-graph.c: write non-split graphs as read-only
+      commit-graph.c: ensure graph layers respect core.sharedRepository
+      commit-graph.c: make 'commit-graph-chain's read-only
+      commit: make 'commit_graft_pos' non-static
+      shallow: extract a header file for shallow-related functions
+      shallow.h: document '{commit,rollback}_shallow_file'
+      shallow: use struct 'shallow_lock' for additional safety
+      pack-bitmap.c: make object filtering functions generic
+      pack-bitmap.c: support 'tree:0' filtering
+
+Terry Moschou (1):
+      complete: zsh: add missing sub cmd completion candidates
+
+Thomas Gummerer (2):
+      stash: get git_stash_config at the top level
+      stash: remove the stash.useBuiltin setting
+
+Vasil Dimov (2):
+      range-diff: fix a crash in parsing git-log output
+      range-diff: avoid negative string precision
+
+Yang Zhao (12):
+      git-p4: make python2.7 the oldest supported version
+      git-p4: remove string type aliasing
+      git-p4: encode/decode communication with p4 for python3
+      git-p4: encode/decode communication with git for python3
+      git-p4: convert path to unicode before processing them
+      git-p4: open .gitp4-usercache.txt in text mode
+      git-p4: use marshal format version 2 when sending to p4
+      git-p4: fix freezing while waiting for fast-import progress
+      git-p4: use functools.reduce instead of reduce
+      git-p4: use dict.items() iteration for python3 compatibility
+      git-p4: simplify regex pattern generation for parsing diff-tree
+      git-p4: use python3's input() everywhere
+
+brian m. carlson (34):
+      builtin/pack-objects: make hash agnostic
+      hash: implement and use a context cloning function
+      hex: introduce parsing variants taking hash algorithms
+      hex: add functions to parse hex object IDs in any algorithm
+      repository: require a build flag to use SHA-256
+      t: use hash-specific lookup tables to define test constants
+      t6300: abstract away SHA-1-specific constants
+      t6300: make hash algorithm independent
+      t/helper/test-dump-split-index: initialize git repository
+      t/helper: initialize repository if necessary
+      t/helper: make repository tests hash independent
+      setup: allow check_repository_format to read repository format
+      builtin/init-db: allow specifying hash algorithm on command line
+      builtin/init-db: add environment variable for new repo hash
+      init-db: move writing repo version into a function
+      worktree: allow repository version 1
+      commit: use expected signature header for SHA-256
+      fast-import: permit reading multiple marks files
+      fast-import: add helper function for inserting mark object entries
+      fast-import: make find_marks work on any mark set
+      fast-import: add a generic function to iterate over marks
+      fast-import: add options for rewriting submodules
+      builtin/checkout: pass branch info down to checkout_worktree
+      convert: permit passing additional metadata to filter processes
+      convert: provide additional metadata to filters
+      builtin/checkout: compute checkout metadata for checkouts
+      builtin/clone: compute checkout metadata for clones
+      builtin/rebase: compute checkout metadata for rebases
+      builtin/reset: compute checkout metadata for reset
+      t0021: test filter metadata for additional cases
+      docs: add a FAQ
+      builtin/receive-pack: use constant-time comparison for HMAC value
+      credential: fix matching URLs with multiple levels in path
+      docs: document credential.helper allowed values
+
+luciano.rocha@booking.com (1):
+      freshen_file(): use NULL `times' for implicit current-time
+
+Đoàn Trần Công Danh (34):
+      t4061: use POSIX compliant regex(7)
+      test-lib-functions: test_cmp: eval $GIT_TEST_CMP
+      t5003: drop the subshell in test_lazy_prereq
+      t5003: skip conversion test if unzip -a is unavailable
+      t5616: use rev-parse instead to get HEAD's object_id
+      t7063: drop non-POSIX argument "-ls" from find(1)
+      t4124: tweak test so that non-compliant diff(1) can also be used
+      t5703: feed raw data into test-tool unpack-sideband
+      rebase.c: honour --no-gpg-sign
+      cherry-pick/revert: honour --no-gpg-sign in all case
+      Documentation: document am --no-gpg-sign
+      Documentation: reword commit --no-gpg-sign
+      Documentation: merge commit-tree --[no-]gpg-sign
+      Documentation: document merge option --no-gpg-sign
+      ci/lib-docker: preserve required environment variables
+      ci/linux32: parameterise command to switch arch
+      ci: refactor docker runner script
+      ci/linux32: libify install-dependencies step
+      travis: build and test on Linux with musl libc and busybox
+      ci/lib: set TERM environment variable if not exist
+      ci: explicit install all required packages
+      ci: configure GitHub Actions for CI/PR
+      t4254: merge 2 steps of a single test
+      mailinfo.c: avoid strlen on strings that can contains NUL
+      mailinfo: disallow NUL character in mail's header
+      date.c: s/is_date/set_date/
+      date.c: validate and set time in a helper function
+      date.c: skip fractional second part of ISO-8601
+      date.c: allow compact version of ISO-8601 datetime
+      test-parse-pathspec-file.c: s/0/NULL/ for pointer type
+      compat/regex: move stdlib.h up in inclusion chain
+      graph.c: limit linkage of internal variable
+      progress.c: silence cgcc suggestion about internal linkage
+      bloom: fix `make sparse` warning
+
+마누엘 (1):
+      interactive: explicitly `fflush` stdout before expecting input
+
+
+Version v2.26.3; changes since v2.26.2:
+---------------------------------------
+
+Johannes Schindelin (11):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+      Git 2.26.3
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.26.2; changes since v2.26.1:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.26.1; changes since v2.26.0:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.26.0; changes since v2.26.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (2):
+      l10n: it.po: update the Italian translation for Git 2.26.0 round 1
+      l10n: it.po: update the Italian translation for Git 2.26.0 round 2
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (4835t)
+      l10n: bg.po: Updated Bulgarian translation (4839t)
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 13.0
+
+Christian Stimming (3):
+      git-gui: update pot template and German translation to current source code
+      git-gui: extend translation glossary template with more terms
+      git-gui: update German translation
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.26.0 round#2
+
+Elijah Newren (1):
+      RelNotes/2.26.0: fix various typos
+
+Emir Sarı (5):
+      l10n: tr: Add Turkish translation team info
+      l10n: tr: Add Turkish translations
+      l10n: tr: Add glossary for Turkish translations
+      l10n: tr: v2.26.0 round 2
+      l10n: tr: Fix a couple of ambiguities
+
+Fangyi Zhou (1):
+      l10n: zh_CN: Revise v2.26.0 translation
+
+Jean-Noël Avila (2):
+      l10n: fr v2.26.0 rnd1
+      l10n: fr : v2.26.0 rnd 2
+
+Jiang Xin (4):
+      l10n: git.pot: v2.26.0 round 1 (73 new, 38 removed)
+      l10n: git.pot: v2.26.0 round 2 (7 new, 2 removed)
+      l10n: zh_CN: for git v2.26.0 l10n round 1 and 2
+      l10n: tr.po: change file mode to 644
+
+Jordi Mas (3):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      Git 2.25.2
+      Git 2.26
+
+Luke Bonanomi (1):
+      git-gui--askpass: coerce answers to UTF-8 on Windows
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation for Git 2.26.0
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (4835t0f0u)
+      l10n: sv.po: Update Swedish translation (4839t0f0u)
+
+Pratyush Yadav (4):
+      git-gui: add missing close bracket
+      git-gui: fix error popup when doing blame -> "Show History Context"
+      git-gui: reduce Tcl version requirement from 8.6 to 8.5
+      git-gui: create a new namespace for chord script evaluation
+
+Ralf Thielow (1):
+      l10n: de.po: add missing space
+
+Trần Ngọc Quân (1):
+      l10n: vi(4839t): Updated Vietnamese translation for v2.26.0
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW.po: v2.26.0 round 1 (11 untranslated)
+      l10n: zh_TW.po: v2.26.0 round 2 (0 untranslated)
+
+brian m. carlson (1):
+      t3419: prevent failure when run with EXPENSIVE
+
+Đoàn Trần Công Danh (1):
+      l10n: vi: fix translation + grammar
+
+
+Version v2.26.0-rc2; changes since v2.26.0-rc1:
+-----------------------------------------------
+
+Elijah Newren (3):
+      sequencer: clear state upon dropping a become-empty commit
+      git-rebase.txt: highlight backend differences with commit rewording
+      t6022, t6046: fix flaky files-are-updated checks
+
+Emily Shaffer (1):
+      prefix_path: show gitdir if worktree unavailable
+
+Jeff King (1):
+      remote: drop "explicit" parameter from remote_ref_for_branch()
+
+Jiang Xin (1):
+      i18n: unmark a message in rebase.c
+
+Junio C Hamano (3):
+      Documentation: clarify that `-h` alone stands for `help`
+      Hopefully the final batch before -rc2
+      Git 2.26-rc2
+
+Martin Ågren (1):
+      t1091: don't grep for `strerror()` string
+
+
+Version v2.26.0-rc1; changes since v2.26.0-rc0:
+-----------------------------------------------
+
+Alexandr Miloslavskiy (9):
+      doc: rm: synchronize <pathspec> description
+      rm: support the --pathspec-from-file option
+      doc: stash: split options from description (1)
+      doc: stash: split options from description (2)
+      doc: stash: document more options
+      doc: stash: synchronize <pathspec> description
+      stash: eliminate crude option parsing
+      stash push: support the --pathspec-from-file option
+      mingw: workaround for hangs when sending STDIN
+
+Elijah Newren (6):
+      merge-recursive: apply collision handling unification to recursive case
+      t602[1236], t6034: modernize test formatting
+      t6020, t6022, t6035: update merge tests to use test helper functions
+      t3035: prefer test_must_fail to bash negation for git commands
+      t6022, t6046: test expected behavior instead of testing a proxy for it
+      t6020: new test with interleaved lexicographic ordering of directories
+
+Harald van Dijk (1):
+      show_one_mergetag: print non-parent in hex form.
+
+Jeff King (1):
+      config.mak.dev: re-enable -Wformat-zero-length
+
+Junio C Hamano (1):
+      Git 2.26-rc1
+
+Kir Kolyshkin (1):
+      completion: add diff --color-moved[-ws]
+
+Paolo Bonzini (5):
+      parse-options: add testcases for OPT_CMDMODE()
+      parse-options: convert "command mode" to a flag
+      am: convert "resume" variable to a struct
+      am: support --show-current-patch=raw as a synonym for--show-current-patch
+      am: support --show-current-patch=diff to retrieve .git/rebase-apply/patch
+
+Ralf Thielow (1):
+      rebase-interactive.c: silence format-zero-length warnings
+
+Rasmus Jonsson (1):
+      t1050: replace test -f with test_path_is_file
+
+René Scharfe (1):
+      remote-curl: show progress for fetches over dumb HTTP
+
+
+Version v2.26.0-rc0; changes since v2.25.5:
+-------------------------------------------
+
+Abhishek Kumar (2):
+      lib-log-graph: consolidate test_cmp_graph logic
+      lib-log-graph: consolidate colored graph cmp logic
+
+Alban Gruin (4):
+      rebase -i: stop checking out the tip of the branch to rebase
+      sequencer: move check_todo_list_from_file() to rebase-interactive.c
+      rebase-interactive: warn if commit is dropped with `rebase --edit-todo'
+      builtin/rebase: remove a call to get_oid() on `options.switch_to'
+
+Alexandr Miloslavskiy (5):
+      parse_branchname_arg(): extract part as new function
+      checkout: don't revert file on ambiguous tracking branches
+      t: add tests for error conditions with --pathspec-from-file
+      t: fix quotes tests for --pathspec-from-file
+      t: directly test parse_pathspec_file()
+
+Benno Evers (1):
+      describe: don't abort too early when searching tags
+
+Bert Wesarg (6):
+      pull --rebase/remote rename: document and honor single-letter abbreviations rebase types
+      remote: clean-up by returning early to avoid one indentation
+      remote: clean-up config callback
+      remote rename/remove: handle branch.<name>.pushRemote config values
+      config: provide access to the current line number
+      remote rename/remove: gently handle remote.pushDefault config
+
+Denton Liu (32):
+      t/lib-git-p4: use test_path_is_missing()
+      t0000: replace test_must_fail with run_sub_test_lib_test_err()
+      t0003: use named parameters in attr_check()
+      t0003: use test_must_be_empty()
+      t0003: don't use `test_must_fail attr_check`
+      t0020: don't use `test_must_fail has_cr`
+      t0020: use ! check_packed_refs_marked
+      t1306: convert `test_might_fail rm` to `rm -f`
+      t1307: reorder `nongit test_must_fail`
+      t1409: let sed open its own input file
+      t1409: use test_path_is_missing()
+      t1501: remove use of `test_might_fail cp`
+      t1507: stop losing return codes of git commands
+      t1507: run commands within test_expect_success
+      t1507: inline full_name()
+      contrib/credential/netrc: make PERL_PATH configurable
+      contrib/credential/netrc: work outside a repo
+      t2018: remove trailing space from test description
+      t2018: add space between function name and ()
+      t2018: improve style of if-statement
+      t2018: be more discerning when checking for expected exit codes
+      t2018: teach do_checkout() to accept `!` arg
+      t2018: don't lose return code of git commands
+      t2018: replace "sha" with "oid"
+      t3030: use test_path_is_missing()
+      t3310: extract common notes_merge_files_gone()
+      t3415: stop losing return codes of git commands
+      t3415: increase granularity of test_auto_{fixup,squash}()
+      t3419: stop losing return code of git command
+      t3507: fix indentation
+      t3507: use test_path_is_missing()
+      t4124: only mark git command with test_must_fail
+
+Derrick Stolee (21):
+      graph: add test to demonstrate horizontal line bug
+      graph: fix collapse of multiple edges
+      t1091: use check_files to reduce boilerplate
+      t1091: improve here-docs
+      sparse-checkout: create leading directories
+      clone: fix --sparse option with URLs
+      sparse-checkout: cone mode does not recognize "**"
+      sparse-checkout: detect short patterns
+      sparse-checkout: warn on globs in cone patterns
+      sparse-checkout: properly match escaped characters
+      sparse-checkout: write escaped patterns in cone mode
+      sparse-checkout: unquote C-style strings over --stdin
+      sparse-checkout: use C-style quotes in 'list' subcommand
+      sparse-checkout: escape all glob characters on write
+      sparse-checkout: improve docs around 'set' in cone mode
+      sparse-checkout: fix cone mode behavior mismatch
+      sparse-checkout: extract add_patterns_from_input()
+      sparse-checkout: extract pattern update from 'set' subcommand
+      sparse-checkout: create 'add' subcommand
+      sparse-checkout: work with Windows paths
+      sparse-checkout: allow one-character directories in cone mode
+
+Elijah Newren (20):
+      git-rebase.txt: update description of --allow-empty-message
+      t3404: directly test the behavior of interest
+      rebase (interactive-backend): make --keep-empty the default
+      rebase (interactive-backend): fix handling of commits that become empty
+      t3406: simplify an already simple test
+      rebase, sequencer: remove the broken GIT_QUIET handling
+      rebase: make sure to pass along the quiet flag to the sequencer
+      rebase: fix handling of restrict_revision
+      t3432: make these tests work with either am or merge backends
+      rebase: allow more types of rebases to fast-forward
+      git-rebase.txt: add more details about behavioral differences of backends
+      rebase: move incompatibility checks between backend options a bit earlier
+      rebase: add an --am option
+      git-prompt: change the prompt for interactive-based rebases
+      rebase: drop '-i' from the reflog for interactive-based rebases
+      rebase tests: mark tests specific to the am-backend with --am
+      rebase tests: repeat some tests using the merge backend instead of am
+      rebase: make the backend configurable via config setting
+      rebase: change the default backend from "am" to "merge"
+      rebase: rename the two primary rebase backends
+
+Emily Shaffer (5):
+      fetch: emphasize failure during submodule fetch
+      MyFirstContribution: add avenues for getting help
+      MyFirstContribution: rephrase contact info
+      submodule--helper: use C99 named initializer
+      clone: pass --single-branch during --recurse-submodules
+
+Eric Sunshine (6):
+      t3400: make test clean up after itself
+      rebase: refuse to switch to branch already checked out elsewhere
+      worktree: drop unused code from get_main_worktree()
+      worktree: improve find_worktree() documentation
+      worktree: add utility to find worktree by pathname
+      worktree: don't allow "add" validation to be fooled by suffix matching
+
+Eyal Soha (3):
+      color.c: refactor color_output arguments
+      color.c: support bright aixterm colors
+      color.c: alias RGB colors 8-15 to aixterm colors
+
+Hans Jerry Illikainen (2):
+      editorconfig: indent text files with tabs
+      gpg-interface: add minTrustLevel as a configuration option
+
+Hariom Verma (4):
+      get_main_worktree(): allow it to be called in the Git directory
+      t5509: use a bare repository for test push target
+      receive.denyCurrentBranch: respect all worktrees
+      t2402: test worktree path when called in .git directory
+
+Heba Waly (3):
+      add: use advise function to display hints
+      git: update documentation for --git-dir
+      add: change advice config variables used by the add API
+
+Jeff King (52):
+      builtin/pack-objects: report reused packfile objects
+      packfile: expose get_delta_base()
+      ewah/bitmap: introduce bitmap_word_alloc()
+      pack-bitmap: introduce bitmap_walk_contains()
+      pack-bitmap: uninteresting oid can be outside bitmapped packfile
+      pack-bitmap: simplify bitmap_has_oid_in_uninteresting()
+      csum-file: introduce hashfile_total()
+      pack-objects: introduce pack.allowPackReuse
+      builtin/pack-objects: introduce obj_is_packed()
+      pack-objects: improve partial packfile reuse
+      pack-objects: add checks for duplicate objects
+      pack-bitmap: don't rely on bitmap_git->reuse_objects
+      sparse-checkout: fix documentation typo for core.sparseCheckoutCone
+      verify_filename(): handle backslashes in "wildcards are pathspecs" rule
+      t1400: avoid "test" string comparisons
+      t1506: drop space after redirection operator
+      doc: drop "explicitly given" from push.default description
+      sha1-name: mark get_oid() error messages for translation
+      normalize_path_copy(): document "dst" size expectations
+      walker_fetch(): avoid raw array length computation
+      traverse_trees(): use stack array for name entries
+      diff: move diff.wsErrorHighlight to "basic" config
+      tree-walk.c: break circular dependency with unpack-trees
+      mailinfo: treat header values as C strings
+      mailinfo: simplify parsing of header values
+      mailinfo: be more liberal with header whitespace
+      mailinfo: factor out some repeated header handling
+      pack-bitmap: factor out type iterator initialization
+      pack-bitmap: fix leak of haves/wants object lists
+      rev-list: fallback to non-bitmap traversal when filtering
+      pack-bitmap: refuse to do a bitmap traversal with pathspecs
+      rev-list: factor out bitmap-optimized routines
+      rev-list: make --count work with --objects
+      rev-list: allow bitmaps when counting objects
+      t5310: factor out bitmap traversal comparison
+      rev-list: allow commit-only bitmap traversals
+      pack-bitmap: basic noop bitmap filter infrastructure
+      rev-list: use bitmap filters for traversal
+      bitmap: add bitmap_unset() function
+      pack-bitmap: implement BLOB_NONE filtering
+      pack-bitmap: implement BLOB_LIMIT filtering
+      pack-objects: support filters with bitmaps
+      nth_packed_object_oid(): use customary integer return
+      pack-objects: read delta base oid into object_id struct
+      pack-objects: convert oe_set_delta_ext() to use object_id
+      pack-objects: use object_id struct in pack-reuse code
+      pack-bitmap: use object_id when loading on-disk bitmaps
+      pack-check: convert "internal error" die to a BUG()
+      pack-check: push oid lookup into loop
+      packed_object_info(): use object_id for returning delta base
+      packed_object_info(): use object_id internally for delta base
+      packfile: drop nth_packed_object_sha1()
+
+Johannes Schindelin (19):
+      built-in add -p: prepare for patch modes other than "stage"
+      built-in add -p: implement the "stash" and "reset" patch modes
+      legacy stash -p: respect the add.interactive.usebuiltin setting
+      built-in stash: use the built-in `git add -p` if so configured
+      built-in add -p: implement the "checkout" patch modes
+      built-in add -p: implement the "worktree" patch modes
+      commit --interactive: make it work with the built-in `add -i`
+      t3701: adjust difffilter test
+      built-in add -p: support interactive.diffFilter
+      built-in add -p: handle diff.algorithm
+      terminal: make the code of disable_echo() reusable
+      terminal: accommodate Git for Windows' default terminal
+      terminal: add a new function to read a single keystroke
+      built-in add -p: respect the `interactive.singlekey` config setting
+      built-in add -p: handle Escape sequences in interactive.singlekey mode
+      built-in add -p: handle Escape sequences more efficiently
+      ci: include the built-in `git add -i` in the `linux-gcc` job
+      t9001, t9116: avoid pipes
+      t5537: adjust test_oid label
+
+Johannes Sixt (1):
+      t3504: do check for conflict marker after failed cherry-pick
+
+Jonathan Nieder (9):
+      sha1-file: document how to use pretend_object_file
+      fetch test: avoid use of "VAR= cmd" with a shell function
+      t/check-non-portable-shell: detect "FOO= shell_func", too
+      fetch test: mark test of "skipping" haves as v0-only
+      fetch test: use more robust test for filtered objects
+      config doc: protocol.version is not experimental
+      test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate
+      protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
+      fetch: default to protocol version 2
+
+Jonathan Tan (2):
+      connected: verify promisor-ness of partial clone
+      fetch: forgo full connectivity check if --filter
+
+Junio C Hamano (11):
+      The first batch post 2.25 cycle
+      The second batch
+      C: use skip_prefix() to avoid hardcoded string length
+      The third batch for 2.26
+      The fourth batch for 2.26
+      The fifth batch for 2.26
+      The sixth batch for 2.26
+      rev-list --count: comment on the use of count_right++
+      The seventh batch for 2.26
+      The eighth batch for 2.26
+      Git 2.26-rc0
+
+Kevin Willford (4):
+      fsmonitor: change last update timestamp on the index_state to opaque token
+      fsmonitor: handle version 2 of the hooks that will use opaque token
+      fsmonitor: add fsmonitor hook scripts for version 2
+      fsmonitor: update documentation for hook version and watchman hooks
+
+Kyle Meyer (1):
+      submodule add: show 'add --dry-run' stderr when aborting
+
+Lucius Hu (1):
+      templates: fix deprecated type option `--bool`
+
+Luke Diamand (7):
+      git-p4: make closeStreams() idempotent
+      git-p4: add P4CommandException to report errors talking to Perforce
+      git-p4: disable some pylint warnings, to get pylint output to something manageable
+      git-p4: create helper function importRevisions()
+      git-p4: cleanup better on error exit
+      git-p4: check for access to remote host earlier
+      git-p4: avoid leak of file handle when cloning
+
+Martin Ågren (4):
+      name-rev: rewrite create_or_update_name()
+      t4117: check for files using `test_path_is_file`
+      t9810: drop debug `cat` call
+      t: drop debug `cat` calls
+
+Matheus Tavares (21):
+      grep: fix race conditions on userdiff calls
+      grep: fix race conditions at grep_submodule()
+      grep: fix racy calls in grep_objects()
+      replace-object: make replace operations thread-safe
+      object-store: allow threaded access to object reading
+      grep: replace grep_read_mutex by internal obj read lock
+      submodule-config: add skip_if_read option to repo_read_gitmodules()
+      grep: allow submodule functions to run in parallel
+      grep: protect packed_git [re-]initialization
+      grep: re-enable threads in non-worktree case
+      grep: move driver pre-load out of critical section
+      grep: use no. of cores as the default no. of threads
+      doc: sparse-checkout: mention --cone option
+      completion: add support for sparse-checkout
+      diff: make diff_populate_filespec() honor its repo argument
+      cache-tree: use given repo's hash_algo at verify_one()
+      pack-check: use given repo's hash_algo at verify_packfile()
+      streaming: allow open_istream() to handle any repo
+      sha1-file: pass git_hash_algo to write_object_file_prepare()
+      sha1-file: pass git_hash_algo to hash_object_file()
+      sha1-file: allow check_object_signature() to handle any repo
+
+Matthew Rogers (10):
+      config: fix typo in variable name
+      t1300: fix over-indented HERE-DOCs
+      t1300: create custom config file without special characters
+      config: make scope_name non-static and rename it
+      config: split repo scope to local and worktree
+      config: clarify meaning of command line scoping
+      config: preserve scope in do_git_config_sequence
+      config: teach git_config_source to remember its scope
+      submodule-config: add subomdule config scope
+      config: add '--show-scope' to print the scope of a config value
+
+Miriam Rubio (3):
+      bisect--helper: convert `vocab_*` char pointers to char arrays
+      bisect: use the standard 'if (!var)' way to check for 0
+      bisect: add enum to represent bisect returning codes
+
+Peter Kaestle (3):
+      t7400: add a testcase for submodule status on empty dirs
+      submodule: fix status of initialized but not cloned submodules
+      t7400: testcase for submodule status on unregistered inner git repos
+
+Pranit Bauva (7):
+      bisect--helper: return error codes from `cmd_bisect__helper()`
+      bisect: libify `exit_if_skipped_commits` to `error_if_skipped*` and its dependents
+      bisect: libify `bisect_checkout`
+      bisect: libify `check_merge_bases` and its dependents
+      bisect: libify `check_good_are_ancestors_of_bad` and its dependents
+      bisect: libify `handle_bad_merge_base` and its dependents
+      bisect: libify `bisect_next_all`
+
+René Scharfe (20):
+      name-rev: remove unused typedef
+      name-rev: respect const qualifier
+      name-rev: don't leak path copy in name_ref()
+      name-rev: don't _peek() in create_or_update_name()
+      name-rev: put struct rev_name into commit slab
+      name-rev: factor out get_parent_name()
+      name-rev: pre-size buffer in get_parent_name()
+      name-rev: generate name strings only if they are better
+      name-rev: release unused name strings
+      name-rev: sort tip names before applying
+      strbuf: add and use strbuf_insertstr()
+      mailinfo: don't insert header prefix for handle_content_type()
+      parse-options: use COPY_ARRAY in parse_options_concat()
+      parse-options: factor out parse_options_count()
+      parse-options: const parse_options_concat() parameters
+      parse-options: simplify parse_options_dup()
+      quote: use isalnum() to check for alphanumeric characters
+      use strpbrk(3) to search for characters from a given set
+      blame: provide type of fingerprints pointer
+      commit-graph: use progress title directly
+
+SZEDER Gábor (6):
+      t9902-completion: add tests for the __git_find_on_cmdline() helper
+      completion: clean up the __git_find_on_cmdline() helper function
+      completion: return the index of found word from __git_find_on_cmdline()
+      completion: simplify completing 'git worktree' subcommands and options
+      completion: list existing working trees for 'git worktree' subcommands
+      completion: list paths and refs for 'git worktree add'
+
+Shourya Shukla (2):
+      t6025: modernize style
+      t6025: use helpers to replace test -f <path>
+
+Tanushree Tumane (2):
+      bisect--helper: change `retval` to `res`
+      bisect--helper: introduce new `decide_next()` function
+
+Taylor Blau (5):
+      t5318: don't pass non-object directory to '--object-dir'
+      commit-graph.h: store an odb in 'struct write_commit_graph_context'
+      commit-graph.h: store object directory in 'struct commit_graph'
+      commit-graph.c: remove path normalization, comparison
+      commit-graph.h: use odb in 'load_commit_graph_one_fd_st'
+
+brian m. carlson (46):
+      t4054: make hash-size independent
+      t4066: compute index line in diffs
+      t4134: compute appropriate length constant
+      t4200: make hash size independent
+      t4202: abstract away SHA-1-specific constants
+      t4204: make hash size independent
+      t4300: abstract away SHA-1-specific constants
+      t5318: update for SHA-256
+      t5319: change invalid offset for SHA-256 compatibility
+      t5319: make test work with SHA-256
+      t5324: make hash size independent
+      t5504: make hash algorithm independent
+      t5510: make hash size independent
+      t5512: abstract away SHA-1-specific constants
+      t5530: compute results based on object length
+      t5537: make hash size independent
+      t5540: make hash size independent
+      t5562: use $ZERO_OID
+      t5601: switch into repository to hash object
+      t5604: make hash independent
+      t/lib-pack: support SHA-256
+      t3206: make hash size independent
+      t3308: make test work with SHA-256
+      t3309: make test work with SHA-256
+      t3310: make test work with SHA-256
+      t3311: make test work with SHA-256
+      t4013: make test hash independent
+      t4211: move SHA-1-specific test cases into a directory
+      t4211: add test cases for SHA-256
+      t4060: make test work with SHA-256
+      t5302: make hash size independent
+      t5309: make test hash independent
+      t5313: make test hash independent
+      t5321: make test hash independent
+      t5515: make test hash independent
+      t5318: update for SHA-256
+      t5607: make hash size independent
+      t5703: make test work with SHA-256
+      t6000: abstract away SHA-1-specific constants
+      t6006: make hash size independent
+      t6024: update for SHA-256
+      mailmap: add an additional email address for brian m. carlson
+      t1300: add test for urlmatch with multiple wildcards
+      t0300: add tests for some additional cases
+      credential: use the last matching username in the config
+      credential: allow wildcard patterns when matching config
+
+
+Version v2.25.5; changes since v2.25.4:
+---------------------------------------
+
+Johannes Schindelin (10):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+      Git 2.25.5
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.25.4; changes since v2.25.3:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.25.3; changes since v2.25.2:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.25.2; changes since v2.25.1:
+---------------------------------------
+
+Alexandr Miloslavskiy (1):
+      mingw: workaround for hangs when sending STDIN
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 13.0
+
+David Turner (1):
+      git rm submodule: succeed if .gitmodules index stat info is zero
+
+Derrick Stolee (2):
+      partial-clone: demonstrate bugs in partial fetch
+      partial-clone: avoid fetching when looking for objects
+
+Elijah Newren (4):
+      unpack-trees: exit check_updates() early if updates are not wanted
+      check-ignore: fix documentation and implementation to match
+      t3433: new rebase testcase documenting a stat-dirty-like failure
+      merge-recursive: fix the refresh logic in update_file_flags
+
+Emily Shaffer (2):
+      prefix_path: show gitdir when arg is outside repo
+      prefix_path: show gitdir if worktree unavailable
+
+Harald van Dijk (1):
+      show_one_mergetag: print non-parent in hex form.
+
+Jeff King (9):
+      merge-recursive: silence -Wxor-used-as-pow warning
+      avoid computing zero offsets from NULL pointer
+      xdiff: avoid computing non-zero offset from NULL pointer
+      obstack: avoid computing offsets from NULL pointer
+      index-pack: downgrade twice-resolved REF_DELTA to die()
+      doc: move credential helper info into gitcredentials(7)
+      doc/config/push: use longer "--" line for preformatted example
+      doc-diff: use single-colon rule in rendering Makefile
+      run-command.h: fix mis-indented struct member
+
+Johan Herland (2):
+      t3305: check notes fanout more carefully and robustly
+      notes.c: fix off-by-one error when decreasing notes fanout
+
+Johannes Schindelin (11):
+      built-in add -i: do not try to `patch`/`diff` an empty list of files
+      built-in add -i: accept open-ended ranges again
+      parse_insn_line(): improve error message when parsing failed
+      rebase -i: re-fix short SHA-1 collision
+      rebase -i: also avoid SHA-1 collisions with missingCommitsCheck
+      tests: fix --write-junit-xml with subshells
+      t5580: test cloning without file://, test fetching via UNC paths
+      mingw: add a helper function to attach GDB to the current process
+      t/lib-httpd: avoid using macOS' sed
+      ci: prevent `perforce` from being quarantined
+      Azure Pipeline: switch to the latest agent pools
+
+Junio C Hamano (4):
+      merge-recursive: use subtraction to flip stage
+      Documentation: clarify that `-h` alone stands for `help`
+      Revert "gpg-interface: prefer check_signature() for GPG verification"
+      Git 2.25.2
+
+Philippe Blain (4):
+      t7410: rename to t2405-worktree-submodule.sh
+      t2405: use git -C and test_commit -C instead of subshells
+      t2405: clarify test descriptions and simplify test
+      submodule.c: use get_git_dir() instead of get_git_common_dir()
+
+
+Version v2.25.1; changes since v2.25.0:
+---------------------------------------
+
+Denton Liu (2):
+      .mailmap: fix erroneous authorship for Johannes Schindelin
+      .mailmap: map Yi-Jyun Pan's email
+
+Derrick Stolee (3):
+      unpack-trees: correctly compute result count
+      clean: demonstrate a bug with pathspecs
+      fetch: document and test --refmap=""
+
+Elijah Newren (2):
+      string-list: note in docs that callers can specify sorting function
+      dir: treat_leading_path() and read_directory_recursive(), round 2
+
+Emily Shaffer (2):
+      unpack-trees: watch for out-of-range index position
+      submodule: add newline on invalid submodule error
+
+Heba Waly (2):
+      commit: honor advice.statusHints when rejecting an empty commit
+      doc/gitcore-tutorial: fix prose to match example command
+
+Jacques Bodin-Hullin (1):
+      parse-options: lose an unnecessary space in an error message
+
+Jeff King (7):
+      restore: invalidate cache-tree when removing entries with --staged
+      transport: don't flush when disconnecting stateless-rpc helper
+      dir: restructure in a way to avoid passing around a struct dirent
+      dir: point treat_leading_path() warning to the right place
+      Makefile: use compat regex with SANITIZE=address
+      t4018: drop "debugging" cat from hunk-header tests
+      t7800: don't rely on reuse_worktree_file()
+
+Johannes Berg (1):
+      pack-format: correct multi-pack-index description
+
+Johannes Schindelin (3):
+      msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x
+      ci: ignore rubygems warning in the "Documentation" job
+      convert: fix typo
+
+Jonathan Tan (2):
+      sha1-file: remove OBJECT_INFO_SKIP_CACHED
+      t5616: make robust to delta base change
+
+Junio C Hamano (2):
+      .mailmap: fix GGG authoship screwup
+      Git 2.25.1
+
+Kyle Meyer (1):
+      submodule foreach: replace $path with $sm_path in example
+
+Martin Ågren (2):
+      git-filter-branch.txt: wrap "maths" notation in backticks
+      diff-options.txt: avoid "regex" overload in example
+
+Masaya Suzuki (1):
+      doc: describe Git bundle format
+
+Philippe Blain (1):
+      grep: ignore --recurse-submodules if --no-index is given
+
+Ralf Thielow (1):
+      submodule.c: mark more strings for translation
+
+brian m. carlson (7):
+      run-command: avoid undefined behavior in exists_in_PATH
+      docs: use "currently" for the present time
+      doc: move author and committer information to git-commit(1)
+      docs: expand on possible and recommended user config options
+      doc: provide guidance on user.name format
+      doc: dissuade users from trying to ignore tracked files
+      docs: mention when increasing http.postBuffer is valuable
+
+
+Version v2.25.0; changes since v2.25.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (1):
+      l10n: it.po: update the Italian translation for Git 2.25.0
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (4800t)
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.25.0 round #1
+
+Jean-Noël Avila (1):
+      l10n: fr.po v2.25.0 rnd 1
+
+Jiang Xin (2):
+      l10n: git.pot: v2.25.0 round 1 (119 new, 13 removed)
+      l10n: zh_CN: for git v2.25.0 l10n round 1
+
+Johannes Schindelin (1):
+      mingw: safeguard better against backslashes in file names
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      Revert "Merge branch 'ra/rebase-i-more-options'"
+      Git 2.25
+
+Martin Ågren (1):
+      config/advice.txt: fix description list separator
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation v2.25.0 round 1
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (4800t0f0u)
+
+Thomas Braun (1):
+      l10n: de.po: Reword generation numbers
+
+Trần Ngọc Quân (1):
+      l10n: vi(4800t): Updated Vietnamese translation v2.25.0
+
+Yi-Jyun Pan (2):
+      l10n: zh_TW: add translation for v2.24.0
+      l10n: zh_TW.po: update translation for v2.25.0 round 1
+
+
+Version v2.25.0-rc2; changes since v2.25.0-rc1:
+-----------------------------------------------
+
+Denis Ovsienko (1):
+      gitweb: fix a couple spelling errors in comments
+
+Derrick Stolee (6):
+      sparse-checkout: list directories in cone mode
+      sparse-checkout: document interactions with submodules
+      sparse-checkout: use extern for global variables
+      commit-graph: prefer default size_mult when given zero
+      graph: drop assert() for merge with two collapsing parents
+      graph: fix lack of color in horizontal lines
+
+Elijah Newren (1):
+      merge-recursive: remove unnecessary oid_eq function
+
+Eric Wong (2):
+      packfile: remove redundant fcntl F_GETFD/F_SETFD
+      packfile: replace lseek+read with pread
+
+Johannes Berg (1):
+      multi-pack-index: correct configuration in documentation
+
+Johannes Schindelin (1):
+      mingw: only test index entries for backslashes, not tree entries
+
+Jonathan Gilbert (3):
+      git-gui: consolidate naming conventions
+      git-gui: update status bar to track operations
+      git-gui: revert untracked files by deleting them
+
+Junio C Hamano (2):
+      The final batch before -rc2
+      Git 2.25-rc2
+
+Kazuhiro Kato (1):
+      git gui: fix branch name encoding error
+
+Paul Menzel (1):
+      am: document that Date: can appear as an in-body header
+
+Philippe Blain (2):
+      doc: log, gitk: document accepted line-log diff formats
+      doc: log, gitk: line-log arguments must exist in starting revision
+
+Pratyush Yadav (1):
+      git-gui: allow closing console window with Escape
+
+Taylor Blau (1):
+      Documentation/git-sparse-checkout.txt: fix a typo
+
+Thomas Menzel (1):
+      doc: submodule: fix typo for command absorbgitdirs
+
+Zoli Szabó (1):
+      git-gui: allow opening currently selected file in default app
+
+
+Version v2.25.0-rc1; changes since v2.25.0-rc0:
+-----------------------------------------------
+
+Ben Keene (2):
+      git-p4: yes/no prompts should sanitize user text
+      git-p4: show detailed help when parsing options fail
+
+Ed Maste (1):
+      CI: add FreeBSD CI support via Cirrus-CI
+
+Elijah Newren (1):
+      rebase: fix saving of --signoff state for am-based rebases
+
+Johannes Schindelin (2):
+      mingw: short-circuit the conversion of `/dev/null` to UTF-16
+      mingw: refuse paths containing reserved names
+
+Johannes Sixt (1):
+      t3008: find test-tool through path lookup
+
+Junio C Hamano (2):
+      mailmap: mask accentless variant for Công Danh
+      Git 2.25-rc1
+
+
+Version v2.25.0-rc0; changes since v2.24.4:
+-------------------------------------------
+
+Alban Gruin (6):
+      sequencer: update `total_nr' when adding an item to a todo list
+      sequencer: update `done_nr' when skipping commands in a todo list
+      sequencer: move the code writing total_nr on the disk to a new function
+      rebase: fill `squash_onto' in get_replay_opts()
+      sequencer: directly call pick_commits() from complete_action()
+      sequencer: fix a memory leak in sequencer_continue()
+
+Alexandr Miloslavskiy (14):
+      parse-options.h: add new options `--pathspec-from-file`, `--pathspec-file-nul`
+      pathspec: add new function to parse file
+      doc: reset: synchronize <pathspec> description
+      reset: support the `--pathspec-from-file` option
+      doc: commit: synchronize <pathspec> description
+      commit: support the --pathspec-from-file option
+      cmd_add: prepare for next patch
+      add: support the --pathspec-from-file option
+      doc: checkout: remove duplicate synopsis
+      doc: checkout: fix broken text reference
+      doc: checkout: synchronize <pathspec> description
+      doc: restore: synchronize <pathspec> description
+      checkout, restore: support the --pathspec-from-file option
+      commit: forbid --pathspec-from-file --all
+
+Andreas Schwab (1):
+      t7812: add missing redirects
+
+Andrei Rybak (1):
+      INSTALL: use existing shell scripts as example
+
+Colin Stolley (1):
+      packfile.c: speed up loading lots of packfiles
+
+Daniel Ferreira (2):
+      diff: export diffstat interface
+      built-in add -i: implement the `status` command
+
+Denton Liu (93):
+      format-patch: replace erroneous and condition
+      format-patch: use enum variables
+      format-patch: teach --cover-from-description option
+      rebase: hide --preserve-merges option
+      t4108: replace create_file with test_write_lines
+      t4108: remove git command upstream of pipe
+      t4108: use `test_config` instead of `git config`
+      t4108: demonstrate bug in apply
+      apply: respect merge.conflictStyle in --3way
+      submodule: teach set-url subcommand
+      git-diff.txt: document return code of `--no-index`
+      completion: learn to complete `git rebase --onto=`
+      t4215: use helper function to check output
+      argv-array: add space after `while`
+      rev-list-options.txt: remove reference to --show-notes
+      SubmittingPatches: use generic terms for hash
+      pretty-formats.txt: use generic terms for hash
+      SubmittingPatches: remove dq from commit reference
+      completion: complete `tformat:` pretty format
+      revision: make get_revision_mark() return const pointer
+      pretty.c: inline initalize format_context
+      t4205: cover `git log --reflog -z` blindspot
+      pretty: add struct cmt_fmt_map::default_date_mode_type
+      pretty: implement 'reference' format
+      SubmittingPatches: use `--pretty=reference`
+      pretty-options.txt: --notes accepts a ref instead of treeish
+      t3206: remove spaces after redirect operators
+      t3206: disable parameter substitution in heredoc
+      t3206: s/expected/expect/
+      t3206: range-diff compares logs with commit notes
+      range-diff: output `## Notes ##` header
+      range-diff: pass through --notes to `git log`
+      format-patch: pass notes configuration to range-diff
+      t0000: test multiple local assignment
+      t: teach test_cmp_rev to accept ! for not-equals
+      t5520: improve test style
+      t5520: use sq for test case names
+      t5520: let sed open its own input
+      t5520: replace test -f with test-lib functions
+      t5520: remove spaces after redirect operator
+      t5520: use test_line_count where possible
+      t5520: replace test -{n,z} with test-lib functions
+      t5520: use test_cmp_rev where possible
+      t5520: test single-line files by git with test_cmp
+      t5520: don't put git in upstream of pipe
+      t5520: replace $(cat ...) comparison with test_cmp
+      t5520: remove redundant lines in test cases
+      t5520: replace `! git` with `test_must_fail git`
+      lib-bash.sh: move `then` onto its own line
+      apply-one-time-sed.sh: modernize style
+      t0014: remove git command upstream of pipe
+      t0090: stop losing return codes of git commands
+      t3301: stop losing return codes of git commands
+      t3600: use test_line_count() where possible
+      t3600: stop losing return codes of git commands
+      t3600: comment on inducing SIGPIPE in `git rm`
+      t4015: stop losing return codes of git commands
+      t4015: use test_write_lines()
+      t4138: stop losing return codes of git commands
+      t5317: stop losing return codes of git commands
+      t5317: use ! grep to check for no matching lines
+      t5703: simplify one-time-sed generation logic
+      t5703: stop losing return codes of git commands
+      t7501: remove spaces after redirect operators
+      t7501: stop losing return codes of git commands
+      t7700: drop redirections to /dev/null
+      t7700: remove spaces after redirect operators
+      t7700: move keywords onto their own line
+      t7700: s/test -f/test_path_is_file/
+      doc: replace MARC links with lore.kernel.org
+      RelNotes: replace Gmane with real Message-IDs
+      doc: replace LKML link with lore.kernel.org
+      t7700: consolidate code into test_no_missing_in_packs()
+      t7700: consolidate code into test_has_duplicate_object()
+      t7700: replace egrep with grep
+      t7700: make references to SHA-1 generic
+      t7700: stop losing return codes of git commands
+      t3400: demonstrate failure with format.useAutoBase
+      format-patch: fix indentation
+      t4014: use test_config()
+      format-patch: teach --no-base
+      rebase: fix format.useAutoBase breakage
+      t3206: fix incorrect test name
+      range-diff: mark pointers as const
+      range-diff: clear `other_arg` at end of function
+      notes: rename to load_display_notes()
+      notes: create init_display_notes() helper
+      notes: extract logic into set_display_notes()
+      format-patch: use --notes behavior for format.notes
+      format-patch: move git_config() before repo_init_revisions()
+      config/format.txt: clarify behavior of multiple format.notes
+      notes: break set_display_notes() into smaller functions
+      notes.h: fix typos in comment
+
+Derrick Stolee (22):
+      test-tool: use 'read-graph' helper
+      sparse-checkout: create builtin with 'list' subcommand
+      sparse-checkout: create 'init' subcommand
+      clone: add --sparse mode
+      sparse-checkout: 'set' subcommand
+      sparse-checkout: add '--stdin' option to set subcommand
+      sparse-checkout: create 'disable' subcommand
+      sparse-checkout: add 'cone' mode
+      sparse-checkout: use hashmaps for cone patterns
+      sparse-checkout: init and set in cone mode
+      unpack-trees: hash less in cone mode
+      unpack-trees: add progress to clear_ce_flags()
+      sparse-checkout: sanitize for nested folders
+      sparse-checkout: update working directory in-process
+      sparse-checkout: use in-process update for disable subcommand
+      sparse-checkout: write using lockfile
+      sparse-checkout: cone mode should not interact with .gitignore
+      sparse-checkout: update working directory in-process for 'init'
+      sparse-checkout: check for dirty status
+      progress: create GIT_PROGRESS_DELAY
+      commit-graph: use start_delayed_progress()
+      sparse-checkout: respect core.ignoreCase in cone mode
+
+Dimitriy Ryazantcev (1):
+      l10n: minor case fix in 'git branch' '--unset-upstream' description
+
+Dominic Jäger (1):
+      merge-strategies: fix typo "reflected to" to "reflected in"
+
+Ed Maste (3):
+      t4210: skip i18n tests that don't work on FreeBSD
+      userdiff: remove empty subexpression from elixir regex
+      sparse-checkout: improve OS ls compatibility
+
+Elia Pinto (1):
+      kset.h, tar.h: add missing header guard to prevent multiple inclusion
+
+Elijah Newren (26):
+      merge-recursive: clean up get_renamed_dir_portion()
+      merge-recursive: fix merging a subdirectory into the root directory
+      t604[236]: do not run setup in separate tests
+      Documentation: fix a bunch of typos, both old and new
+      Fix spelling errors in documentation outside of Documentation/
+      git-filter-branch.txt: correct argument name typo
+      hashmap: fix documentation misuses of -> versus .
+      name-hash.c: remove duplicate word in comment
+      t6024: modernize style
+      Fix spelling errors in code comments
+      Fix spelling errors in comments of testcases
+      Fix spelling errors in names of tests
+      Fix spelling errors in messages shown to users
+      Fix spelling errors in test commands
+      sha1dc: fix trivial comment spelling error
+      multimail: fix a few simple spelling errors
+      Fix spelling errors in no-longer-updated-from-upstream modules
+      t3011: demonstrate directory traversal failures
+      Revert "dir.c: make 'git-status --ignored' work within leading directories"
+      dir: remove stray quote character in comment
+      dir: exit before wildcard fall-through if there is no wildcard
+      dir: break part of read_directory_recursive() out for reuse
+      t3434: mark successful test as such
+      dir: fix checks on common prefix directory
+      dir: synchronize treat_leading_path() and read_directory_recursive()
+      dir: consolidate similar code in treat_directory()
+
+Emily Shaffer (4):
+      documentation: add tutorial for object walking
+      myfirstcontrib: add 'psuh' to command-list.txt
+      myfirstcontrib: add dependency installation step
+      myfirstcontrib: hint to find gitgitgadget allower
+
+Erik Chen (1):
+      fetch: add trace2 instrumentation
+
+Hans Jerry Illikainen (4):
+      gpg-interface: refactor the free-and-xmemdupz pattern
+      gpg-interface: limit search for primary key fingerprint
+      gpg-interface: prefer check_signature() for GPG verification
+      grep: don't return an expression from pcre2_free()
+
+Hariom Verma (2):
+      builtin/blame.c: constants into bit shift format
+      git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
+
+Heba Waly (22):
+      config: move documentation to config.h
+      documentation: remove empty doc files
+      diff: move doc to diff.h and diffcore.h
+      dir: move doc to dir.h
+      graph: move doc to graph.h and graph.c
+      merge: move doc to ll-merge.h
+      sha1-array: move doc to sha1-array.h
+      remote: move doc to remote.h and refspec.h
+      refs: move doc to refs.h
+      attr: move doc to attr.h
+      revision: move doc to revision.h
+      pathspec: move doc to pathspec.h
+      sigchain: move doc to sigchain.h
+      cache: move doc to cache.h
+      argv-array: move doc to argv-array.h
+      credential: move doc to credential.h
+      parse-options: add link to doc file in parse-options.h
+      run-command: move doc to run-command.h
+      trace: move doc to trace.h
+      tree-walk: move doc to tree-walk.h
+      submodule-config: move doc to submodule-config.h
+      trace2: move doc to trace2.h
+
+James Coglan (13):
+      graph: automatically track display width of graph lines
+      graph: handle line padding in `graph_next_line()`
+      graph: reuse `find_new_column_by_commit()`
+      graph: reduce duplication in `graph_insert_into_new_columns()`
+      graph: remove `mapping_idx` and `graph_update_width()`
+      graph: extract logic for moving to GRAPH_PRE_COMMIT state
+      graph: example of graph output that can be simplified
+      graph: tidy up display of left-skewed merges
+      graph: commit and post-merge lines for left-skewed merges
+      graph: rename `new_mapping` to `old_mapping`
+      graph: smooth appearance of collapsing edges on commit lines
+      graph: flatten edges that fuse with their right neighbor
+      graph: fix coloring of octopus dashes
+
+James Shubin (1):
+      completion: tab-complete "git svn --recursive"
+
+Jean-Noël Avila (2):
+      doc: remove non pure ASCII characters
+      doc: indent multi-line items in list
+
+Jeff Hostetler (1):
+      trace2: add region in clear_ce_flags
+
+Jeff King (37):
+      parse_commit_buffer(): treat lookup_commit() failure as parse error
+      parse_commit_buffer(): treat lookup_tree() failure as parse error
+      parse_tag_buffer(): treat NULL tag pointer as parse error
+      commit, tag: don't set parsed bit for parse failures
+      fsck: stop checking commit->tree value
+      fsck: stop checking commit->parent counts
+      fsck: stop checking tag->tagged
+      fsck: require an actual buffer for non-blobs
+      fsck: unify object-name code
+      fsck_describe_object(): build on our get_object_name() primitive
+      fsck: use oids rather than objects for object_name API
+      fsck: don't require object structs for display functions
+      fsck: only provide oid/type in fsck_error callback
+      fsck: only require an oid for skiplist functions
+      fsck: don't require an object struct for report()
+      fsck: accept an oid instead of a "struct blob" for fsck_blob()
+      fsck: drop blob struct from fsck_finish()
+      fsck: don't require an object struct for fsck_ident()
+      fsck: don't require an object struct in verify_headers()
+      fsck: rename vague "oid" local variables
+      fsck: accept an oid instead of a "struct tag" for fsck_tag()
+      fsck: accept an oid instead of a "struct commit" for fsck_commit()
+      fsck: accept an oid instead of a "struct tree" for fsck_tree()
+      hex: drop sha1_to_hex_r()
+      pack-objects: avoid pointless oe_map_new_pack() calls
+      hex: drop sha1_to_hex()
+      send-pack: check remote ref status on pack-objects failure
+      t9502: pass along all arguments in xss helper
+      t/gitweb-lib.sh: drop confusing quotes
+      t/gitweb-lib.sh: set $REQUEST_URI
+      gitweb: escape URLs generated by href()
+      rev-parse: make --show-toplevel without a worktree an error
+      perf-lib: use a single filename for all measurement types
+      t/perf: don't depend on Git.pm
+      send-pack: use OBJECT_INFO_QUICK to check negative objects
+      doc: recommend lore.kernel.org over public-inbox.org
+      doc: replace public-inbox links with lore.kernel.org
+
+Johannes Schindelin (57):
+      t1400: wrap setup code in test case
+      git_path(): handle `.lock` files correctly
+      vreportf(): avoid relying on stdio buffering
+      update-index: optionally leave skip-worktree entries alone
+      stash: handle staged changes in skip-worktree files correctly
+      fetch: add the command-line option `--write-commit-graph`
+      fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph
+      remote-curl: unbreak http.extraHeader with custom allocators
+      Start to implement a built-in version of `git add --interactive`
+      built-in add -i: implement the main loop
+      built-in add -i: show unique prefixes of the commands
+      built-in add -i: support `?` (prompt help)
+      rebase-merges: move labels' whitespace mangling into `label_oid()`
+      git svn: stop using `rebase --preserve-merges`
+      mingw: demonstrate that all file handles are inherited by child processes
+      mingw: work around incorrect standard handles
+      mingw: spawned processes need to inherit only standard handles
+      mingw: restrict file handle inheritance only on Windows 7 and later
+      mingw: do set `errno` correctly when trying to restrict handle inheritance
+      add-interactive: make sure to release `rev.prune_data`
+      built-in add -i: allow filtering the modified files list
+      built-in add -i: prepare for multi-selection commands
+      built-in add -i: implement the `update` command
+      built-in add -i: re-implement `revert` in C
+      built-in add -i: re-implement `add-untracked` in C
+      built-in add -i: implement the `patch` command
+      built-in add -i: re-implement the `diff` command
+      built-in add -i: offer the `quit` command
+      pkt-line: fix a typo
+      mingw: forbid translating ERROR_SUCCESS to an errno value
+      t3701: add a test for advanced split-hunk editing
+      t3701: avoid depending on the TTY prerequisite
+      t3701: add a test for the different `add -p` prompts
+      t3701: verify the shown messages when nothing can be added
+      t3701: verify that the diff.algorithm config setting is handled
+      git add -p: use non-zero exit code when the diff generation failed
+      apply --allow-overlap: fix a corner case
+      t3404: fix indentation
+      built-in add -i: start implementing the `patch` functionality in C
+      built-in add -i: wire up the new C code for the `patch` command
+      built-in add -p: show colored hunks by default
+      built-in add -p: adjust hunk headers as needed
+      built-in add -p: color the prompt and the help text
+      built-in add -p: offer a helpful error message when hunk navigation failed
+      built-in add -p: support multi-file diffs
+      built-in add -p: handle deleted empty files
+      built-in app -p: allow selecting a mode change as a "hunk"
+      built-in add -p: show different prompts for mode changes and deletions
+      built-in add -p: implement the hunk splitting feature
+      built-in add -p: coalesce hunks after splitting them
+      strbuf: add a helper function to call the editor "on an strbuf"
+      built-in add -p: implement hunk editing
+      built-in add -p: implement the 'g' ("goto") command
+      built-in add -p: implement the '/' ("search regex") command
+      built-in add -p: implement the 'q' ("quit") command
+      built-in add -p: only show the applicable parts of the help text
+      built-in add -p: show helpful hint when nothing can be staged
+
+Jonathan Tan (6):
+      fetch-pack: write fetched refs to .promisor
+      fetch: remove fetch_if_missing=0
+      clone: remove fetch_if_missing=0
+      promisor-remote: remove fetch_if_missing=0
+      Doc: explain submodule.alternateErrorStrategy
+      submodule--helper: advise on fatal alternate error
+
+Josh Holland (1):
+      userdiff: support Python async functions
+
+Junio C Hamano (13):
+      doc: am --show-current-patch gives an entire e-mail message
+      The first batch post 2.24 cycle
+      fsmonitor: do not compare bitmap size with size of split index
+      ci(osx): update homebrew-cask repository with less noise
+      rebase -i: finishing touches to --reset-author-date
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      Makefile: drop GEN_HDRS
+      The sixth batch
+      dir.c: use st_add3() for allocation size
+      Git 2.25-rc0
+
+Kevin Willford (1):
+      fsmonitor: fix watchman integration
+
+Manish Goregaokar (2):
+      doc: document 'git submodule status --cached'
+      submodule: fix 'submodule status' when called from a subdirectory
+
+Martin Ågren (1):
+      t7004: check existence of correct tag
+
+Matthew Rogers (1):
+      rebase -r: let `label` generate safer labels
+
+Mihail Atanassov (1):
+      Documentation/git-bisect.txt: add --no-ff to merge command
+
+Mike Hommey (2):
+      revision: clear the topo-walk flags in reset_revision_walk
+      revision: free topo_walk_info before creating a new one in init_topo_walk
+
+Miriam Rubio (1):
+      clone: rename static function `dir_exists()`.
+
+Nathan Stocks (1):
+      t: fix typo in test descriptions
+
+Naveen Nathan (1):
+      doc: improve readability of --rebase-merges in git-rebase
+
+Nika Layzell (1):
+      reset: parse rev as tree-ish in patch mode
+
+Philip Oakley (1):
+      Doc: Bundle file usage
+
+Philippe Blain (4):
+      help: add gitsubmodules to the list of guides
+      worktree: teach "add" to ignore submodule.recurse config
+      doc: mention that 'git submodule update' fetches missing commits
+      gitmodules: link to gitsubmodules guide
+
+Phillip Wood (7):
+      t3404: remove unnecessary subshell
+      t3404: set $EDITOR in subshell
+      t3404: remove uneeded calls to set_fake_editor
+      sequencer.h fix placement of #endif
+      move run_commit_hook() to libgit and use it there
+      sequencer: run post-commit hook
+      sequencer: fix empty commit check when amending
+
+Prarit Bhargava (3):
+      t6006: use test-lib.sh definitions
+      t4203: use test-lib.sh definitions
+      pretty: add "%aL" etc. to show local-part of email addresses
+
+Pratyush Yadav (1):
+      git-shortlog.txt: include commit limiting options
+
+Ralf Thielow (1):
+      fetch.c: fix typo in a warning message
+
+René Scharfe (32):
+      trace2: add dots directly to strbuf in perf_fmt_prepare()
+      utf8: use skip_iprefix() in same_utf_encoding()
+      convert: use skip_iprefix() in validate_encoding()
+      mingw: use COPY_ARRAY for copying array
+      parse-options: avoid arithmetic on pointer that's potentially NULL
+      pretty: provide short date format
+      fetch: use skip_prefix() instead of starts_with()
+      fmt-merge-msg: use skip_prefix() instead of starts_with()
+      shell: use skip_prefix() instead of starts_with()
+      push: use skip_prefix() instead of starts_with()
+      name-rev: use skip_prefix() instead of starts_with()
+      run-command: use prepare_git_cmd() in prepare_cmd()
+      t1512: use test_line_count
+      t1410: use test_line_count
+      t1400: use test_must_be_empty
+      test: use test_must_be_empty F instead of test -z $(cat F)
+      test: use test_must_be_empty F instead of test_cmp empty F
+      t9300: don't create unused file
+      t7811: don't create unused file
+      xdiff: unignore changes in function context
+      name-rev: use strbuf_strip_suffix() in get_rev_name()
+      commit: use strbuf_add() to add a length-limited string
+      patch-id: use oid_to_hex() to print multiple object IDs
+      archive-zip: use enum for compression method
+      t4256: don't create unused file
+      t7004: don't create unused file
+      refs: pass NULL to refs_read_ref_full() because object ID is not needed
+      remote: pass NULL to read_ref_full() because object ID is not needed
+      t3501: don't create unused file
+      t5580: don't create unused file
+      t6030: don't create unused file
+      t4015: improve coverage of function context test
+
+Robin H. Johnson (3):
+      bundle: framework for options before bundle file
+      bundle-create: progress output control
+      bundle-verify: add --quiet
+
+Rohit Ashiwal (6):
+      rebase -i: add --ignore-whitespace flag
+      sequencer: allow callers of read_author_script() to ignore fields
+      rebase -i: support --committer-date-is-author-date
+      sequencer: rename amend_author to author_to_rename
+      rebase -i: support --ignore-date
+      rebase: add --reset-author-date
+
+Ruud van Asseldonk (1):
+      t5150: skip request-pull test if Perl is disabled
+
+SZEDER Gábor (29):
+      Documentation: mention more worktree-specific exceptions
+      path.c: clarify trie_find()'s in-code comment
+      path.c: mark 'logs/HEAD' in 'common_list' as file
+      path.c: clarify two field names in 'struct common_dir'
+      path.c: don't call the match function without value in trie_find()
+      builtin/commit-graph.c: remove subcommand-less usage string
+      builtin/blame.c: remove '--indent-heuristic' from usage string
+      test-lib: don't check prereqs of test cases that won't be run anyway
+      t6120-describe: correct test repo history graph in comment
+      builtin/unpack-objects.c: show throughput progress
+      tests: add 'test_bool_env' to catch non-bool GIT_TEST_* values
+      t5608-clone-2gb.sh: turn GIT_TEST_CLONE_2GB into a bool
+      sequencer: don't re-read todo for revert and cherry-pick
+      test-lib-functions: suppress a 'git rev-parse' error in 'test_commit_bulk'
+      ci: build Git with GCC 9 in the 'osx-gcc' build job
+      t9300-fast-import: store the PID in a variable instead of pidfile
+      t9300-fast-import: don't hang if background fast-import exits too early
+      t6120-describe: modernize the 'check_describe' helper
+      name-rev: avoid unnecessary cast in name_ref()
+      name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation
+      t6120: add a test to cover inner conditions in 'git name-rev's name_rev()
+      name-rev: extract creating/updating a 'struct name_rev' into a helper
+      name-rev: pull out deref handling from the recursion
+      name-rev: restructure parsing commits and applying date cutoff
+      name-rev: restructure creating/updating 'struct rev_name' instances
+      name-rev: drop name_rev()'s 'generation' and 'distance' parameters
+      name-rev: use 'name->tip_name' instead of 'tip_name'
+      name-rev: eliminate recursion in name_rev()
+      name-rev: cleanup name_ref()
+
+Slavica Đukić (3):
+      built-in add -i: color the header in the `status` command
+      built-in add -i: use color in the main loop
+      built-in add -i: implement the `help` command
+
+Tanushree Tumane (2):
+      bisect--helper: avoid use-after-free
+      bisect--helper: convert `*_warning` char pointers to char arrays.
+
+Thomas Gummerer (1):
+      stash: make sure we have a valid index before writing it
+
+Todd Zullinger (1):
+      t7812: expect failure for grep -i with invalid UTF-8 data
+
+Utsav Shah (1):
+      unpack-trees: skip stat on fsmonitor-valid files
+
+William Baker (6):
+      midx: add MIDX_PROGRESS flag
+      midx: add progress to write_midx_file
+      midx: add progress to expire_midx_packs
+      midx: honor the MIDX_PROGRESS flag in verify_midx_file
+      midx: honor the MIDX_PROGRESS flag in midx_repack
+      multi-pack-index: add [--[no-]progress] option.
+
+brian m. carlson (16):
+      t/oid-info: allow looking up hash algorithm name
+      t/oid-info: add empty tree and empty blob values
+      rev-parse: add a --show-object-format option
+      t1305: avoid comparing extensions
+      t3429: remove SHA1 annotation
+      t4010: abstract away SHA-1-specific constants
+      t4011: abstract away SHA-1-specific constants
+      t4015: abstract away SHA-1-specific constants
+      t4027: make hash-size independent
+      t4034: abstract away SHA-1-specific constants
+      t4038: abstract away SHA-1 specific constants
+      t4039: abstract away SHA-1-specific constants
+      t4044: update test to work with SHA-256
+      t4045: make hash-size independent
+      t4048: abstract away SHA-1-specific constants
+      t9001: avoid including non-trailing NUL bytes in variables
+
+r.burenkov (1):
+      git-p4: honor lfs.storage configuration variable
+
+ryenus (1):
+      fix-typo: consecutive-word duplications
+
+Đoàn Trần Công Danh (14):
+      t3301: test diagnose messages for too few/many paramters
+      notes: fix minimum number of parameters to "copy" subcommand
+      t0028: eliminate non-standard usage of printf
+      configure.ac: define ICONV_OMITS_BOM if necessary
+      t3900: demonstrate git-rebase problem with multi encoding
+      sequencer: reencode to utf-8 before arrange rebase's todo list
+      sequencer: reencode revert/cherry-pick's todo list
+      sequencer: reencode squashing commit's message
+      sequencer: reencode old merge-commit message
+      sequencer: reencode commit message for am/rebase --show-current-patch
+      sequencer: handle rebase-merges for "onto" message
+      date.c: switch to reentrant {gm,local}time_r
+      archive-zip.c: switch to reentrant localtime_r
+      mingw: use {gm,local}time_s as backend for {gm,local}time_r
+
+Łukasz Niemier (1):
+      userdiff: add Elixir to supported userdiff languages
+
+
+Version v2.24.4; changes since v2.24.3:
+---------------------------------------
+
+Johannes Schindelin (9):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+      Git 2.24.4
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.24.3; changes since v2.24.2:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.24.2; changes since v2.24.1:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Johannes Schindelin (1):
+      msvc: accommodate for vcpkg's upgrade to OpenSSL v1.1.x
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.24.1; changes since v2.24.0:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (36):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
+      Git 2.20.2
+      mingw: detect when MSYS2's sh is to be spawned more robustly
+      mingw: use MSYS2 quoting even when spawning shell scripts
+      mingw: fix quoting of empty arguments for `sh`
+      t7415: drop v2.20.x-specific work-around
+      mingw: sh arguments need quoting in more circumstances
+      Git 2.21.1
+      Git 2.22.2
+      Git 2.23.1
+      Git 2.24.1
+
+Jonathan Nieder (3):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+      submodule: defend against submodule.update = !command in .gitmodules
+
+
+Version v2.24.0; changes since v2.24.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (2):
+      l10n: it.po: update the Italian translation for Git 2.24.0
+      l10n: it.po: update the Italian translation for Git 2.24.0 round #2
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (4693)
+      l10n: bg.po: Updated Bulgarian translation (4694)
+
+Bert Wesarg (2):
+      git-gui: use existing interface to query a path's attribute
+      git-gui: support for diff3 conflict style
+
+Christopher Diaz Riveros (1):
+      l10n: es: 2.24.0 round 2
+
+Derrick Stolee (2):
+      t5510-fetch.sh: demonstrate fetch.writeCommitGraph bug
+      commit-graph: fix writing first commit-graph during fetch
+
+Elijah Newren (2):
+      RelNotes/2.24.0: typofix
+      RelNotes/2.24.0: fix self-contradictory note
+
+Jean-Noël Avila (2):
+      l10n: fr 2.24.0 rnd 1
+      l10n: fr v2.24.0 rnd2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.24.0 round 1 (35 new, 16 removed)
+      l10n: git.pot: v2.24.0 round 2 (1 new)
+      l10n: zh_CN: for git v2.24.0 l10n round 1~2
+
+Johannes Schindelin (1):
+      Fix build with core.autocrlf=true
+
+Jonathan Tan (1):
+      fetch: delay fetch_if_missing=0 until after config
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.24
+
+Martin Ågren (2):
+      treewide: correct several "up-to-date" to "up to date"
+      manpage-bold-literal.xsl: match for namespaced "d:literal" in template
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (4674t0f0u)
+      l10n: sv.po: Update Swedish translation (4695t0f0u)
+
+Pratyush Yadav (1):
+      git-gui: add a readme
+
+Thomas Klaeger (1):
+      git-gui (Windows): use git-bash.exe if it is available
+
+Trần Ngọc Quân (1):
+      l10n: vi(4694t): Updated translation for v2.24.0
+
+kdnakt (1):
+      git-gui: improve Japanese translation
+
+
+Version v2.24.0-rc2; changes since v2.24.0-rc1:
+-----------------------------------------------
+
+Johannes Schindelin (1):
+      mingw: avoid a buffer overrun in `needs_hiding()`
+
+Junio C Hamano (1):
+      Git 2.24-rc2
+
+Robert Luberda (1):
+      gitweb: correctly store previous rev in javascript-actions mode
+
+William Baker (1):
+      t7519-status-fsmonitor: improve comments
+
+
+Version v2.24.0-rc1; changes since v2.24.0-rc0:
+-----------------------------------------------
+
+Bert Wesarg (1):
+      t4014: make output-directory tests self-contained
+
+Carlo Marcelo Arenas Belón (3):
+      grep: make PCRE1 aware of custom allocator
+      grep: make PCRE2 aware of custom allocator
+      grep: avoid leak of chartables in PCRE2
+
+Denton Liu (1):
+      t7419: change test_must_fail to ! for grep
+
+Derrick Stolee (1):
+      repo-settings: read an int for index.version
+
+Johannes Schindelin (3):
+      ci(visual-studio): use strict compile flags, and optimization
+      ci(visual-studio): actually run the tests in parallel
+      ci(osx): use new location of the `perforce` cask
+
+Junio C Hamano (2):
+      Eleventh batch
+      Git 2.24-rc1
+
+Maxim Belsky (1):
+      completion: clarify installation instruction for zsh
+
+Norman Rasmussen (1):
+      diff-highlight: fix a whitespace nit
+
+SZEDER Gábor (2):
+      test-progress: fix test failures on big-endian systems
+      ci: fix GCC install in the Travis CI GCC OSX job
+
+Stephen Boyd (1):
+      userdiff: fix some corner cases in dts regex
+
+William Baker (1):
+      fsmonitor: don't fill bitmap with entries to be removed
+
+brian m. carlson (1):
+      remote-curl: pass on atomic capability to remote side
+
+
+Version v2.24.0-rc0; changes since v2.23.4:
+-------------------------------------------
+
+Adam Roben (1):
+      mingw: fix launching of externals from Unicode paths
+
+Alex Henrie (4):
+      doc: fix reference to --ignore-submodules
+      commit-graph: remove a duplicate assignment
+      diffcore-break: use a goto instead of a redundant if statement
+      wrapper: use a loop instead of repetitive statements
+
+Alexandr Miloslavskiy (4):
+      contrib/buildsystems: fix Visual Studio Debug configuration
+      t0028: fix test for UTF-16-LE-BOM
+      t0028: add more tests
+      t0061: fix test for argv[0] with spaces (MINGW only)
+
+Ali Utku Selen (1):
+      shallow.c: don't free unallocated slabs
+
+Andrey Mazo (1):
+      .mailmap: update email address of Andrey Mazo
+
+Beat Bolli (3):
+      grep: under --debug, show whether PCRE JIT is enabled
+      utf8: use ARRAY_SIZE() in git_wcwidth()
+      git-compat-util: fix documentation syntax
+
+Ben Milman (1):
+      repository-layout.txt: correct pluralization of 'object'
+
+Ben Wijen (2):
+      builtin/rebase.c: make sure the active branch isn't moved when autostashing
+      builtin/rebase.c: Remove pointless message
+
+Bert Wesarg (4):
+      git-gui: convert new/amend commit radiobutton to checkbutton
+      git-gui: add horizontal scrollbar to commit buffer
+      builtin/submodule--helper: fix usage string for 'update-clone'
+      format-patch: create leading components of output directory
+
+Birger Skogeng Pedersen (2):
+      git-gui: add hotkeys to set widget focus
+      git-gui: add hotkey to toggle "Amend Last Commit"
+
+CB Bailey (1):
+      t4038: Remove non-portable '-a' option passed to test_cmp
+
+Cameron Steffen (1):
+      doc: minor formatting fix
+
+Carlo Marcelo Arenas Belón (4):
+      http: use xmalloc with cURL
+      grep: make sure NO_LIBPCRE1_JIT disable JIT in PCRE1
+      grep: refactor and simplify PCRE1 support
+      grep: skip UTF8 checks explicitly
+
+Christian Couder (15):
+      t0410: remove pipes after git commands
+      fetch-object: make functions return an error code
+      Add initial support for many promisor remotes
+      promisor-remote: implement promisor_remote_get_direct()
+      promisor-remote: add promisor_remote_reinit()
+      promisor-remote: use repository_format_partial_clone
+      Use promisor_remote_get_direct() and has_promisor_remote()
+      promisor-remote: parse remote.*.partialclonefilter
+      builtin/fetch: remove unique promisor remote limitation
+      t0410: test fetching from many promisor remotes
+      partial-clone: add multiple remotes in the doc
+      remote: add promisor and partial clone config to the doc
+      Remove fetch-object.{c,h} in favor of promisor-remote.{c,h}
+      Move repository_format_partial_clone to promisor-remote.c
+      Move core_partial_clone_filter_default to promisor-remote.c
+
+Clément Chigot (1):
+      contrib/svn-fe: fix shebang for svnrdump_sim.py
+
+Corentin BOMPARD (1):
+      pull, fetch: add --set-upstream option
+
+David Turner (1):
+      clarify documentation for remote helpers
+
+Denton Liu (49):
+      packfile.h: drop extern from function declaration
+      t4014: drop unnecessary blank lines from test cases
+      t3431: add rebase --fork-point tests
+      t3432: test rebase fast-forward behavior
+      completion: merge options for cherry-pick and revert
+      completion: add --skip for cherry-pick and revert
+      status: mention --skip for revert and cherry-pick
+      rebase: refactor can_fast_forward into goto tower
+      rebase: fast-forward --onto in more cases
+      rebase: fast-forward --fork-point in more cases
+      rebase: teach rebase --keep-base
+      mingw: apply array.cocci rule
+      compat/*.[ch]: remove extern from function declarations using spatch
+      t4014: s/expected/expect/
+      t4014: move closing sq onto its own line
+      t4014: use sq for test case names
+      t4014: remove spaces after redirect operators
+      t4014: use indentable here-docs
+      t4014: drop redirections to /dev/null
+      t4014: let sed open its own files
+      t4014: use test_line_count() where possible
+      t4014: remove confusing pipe in check_threading()
+      t4014: stop losing return codes of git commands
+      Doc: add more detail for git-format-patch
+      config/format.txt: specify default value of format.coverLetter
+      t: use common $SQ variable
+      completion: teach rebase to use __gitcomp_builtin
+      completion: teach archive to use __gitcomp_builtin
+      git-submodule.txt: fix AsciiDoc formatting error
+      Makefile: strip leading ./ in $(LIB_H)
+      Makefile: define THIRD_PARTY_SOURCES
+      Makefile: strip leading ./ in $(FIND_SOURCE_FILES)
+      Makefile: run coccicheck on more source files
+      gitk: rename zh_CN.po to zh_cn.po
+      promisor-remote.h: drop extern from function declaration
+      apply.h: include missing header
+      promisor-remote.h: include missing header
+      pack-bitmap.h: remove magic number
+      Makefile: emulate compile in $(HCO) target better
+      test-lib: let test_merge() perform octopus merges
+      t4214: use test_merge
+      t4214: generate expect in their own test cases
+      t4214: explicitly list tags in log
+      t4214: demonstrate octopus graph coloring failure
+      git-rev-list.txt: prune options in synopsis
+      t4014: treat rev-list output as the expected value
+      t0000: cover GIT_SKIP_TESTS blindspots
+      pthread.h: manually align parameter lists
+      Makefile: respect $(V) in %.cocci.patch target
+
+Derrick Stolee (14):
+      repo-settings: consolidate some config settings
+      t6501: use 'git gc' in quiet mode
+      commit-graph: turn on commit-graph by default
+      repo-settings: parse core.untrackedCache
+      repo-settings: create feature.manyFiles setting
+      repo-settings: create feature.experimental setting
+      merge-recursive: introduce an enum for detect_directory_renames values
+      checkout: add simple check for 'git checkout -b'
+      fetch: add fetch.writeCommitGraph config setting
+      treewide: rename 'struct exclude' to 'struct path_pattern'
+      treewide: rename 'struct exclude_list' to 'struct pattern_list'
+      treewide: rename 'EXCL_FLAG_' to 'PATTERN_FLAG_'
+      treewide: rename 'exclude' methods to 'pattern'
+      unpack-trees: rename 'is_excluded_from_list()'
+
+Elijah Newren (53):
+      git-fast-import.txt: clarify that multiple merge commits are allowed
+      checkout: remove duplicate code
+      merge-recursive: be consistent with assert
+      checkout: provide better conflict hunk description with detached HEAD
+      merge-recursive: enforce opt->ancestor != NULL when calling merge_trees()
+      merge-recursive: provide a better label for diff3 common ancestor
+      merge-recursive: future-proof update_file_flags() against memory leaks
+      merge-recursive: remove another implicit dependency on the_repository
+      Ensure index matches head before invoking merge machinery, round N
+      merge-recursive: exit early if index != head
+      merge-recursive: remove useless parameter in merge_trees()
+      merge-recursive: don't force external callers to do our logging
+      cache-tree: share code between functions writing an index as a tree
+      merge-recursive: fix some overly long lines
+      merge-recursive: use common name for ancestors/common/base_list
+      merge-recursive: rename 'mrtree' to 'result_tree', for clarity
+      merge-recursive: rename merge_options argument to opt in header
+      merge-recursive: move some definitions around to clean up the header
+      merge-recursive: consolidate unnecessary fields in merge_options
+      merge-recursive: comment and reorder the merge_options fields
+      merge-recursive: avoid losing output and leaking memory holding that output
+      merge-recursive: split internal fields into a separate struct
+      merge-recursive: rename MERGE_RECURSIVE_* to MERGE_VARIANT_*
+      merge-recursive: add sanity checks for relevant merge_options
+      merge-recursive: alphabetize include list
+      merge-options.txt: clarify meaning of various ff-related options
+      t3427: accelerate this test by using fast-export and fast-import
+      t6006: simplify, fix, and optimize empty message test
+      Recommend git-filter-repo instead of git-filter-branch
+      t9902: use a non-deprecated command for testing
+      t7300: add testcases showing failure to clean specified pathspecs
+      dir: fix typo in comment
+      dir: fix off-by-one error in match_pathspec_item
+      dir: also check directories for matching pathspecs
+      dir: make the DO_MATCH_SUBMODULE code reusable for a non-submodule case
+      dir: if our pathspec might match files under a dir, recurse into it
+      dir: add commentary explaining match_pathspec_item's return value
+      git-clean.txt: do not claim we will delete files with -n/--dry-run
+      clean: disambiguate the definition of -d
+      clean: avoid removing untracked files in a nested git repository
+      clean: rewrap overly long line
+      clean: fix theoretical path corruption
+      fast-export: fix exporting a tag and nothing else
+      dir: special case check for the possibility that pathspec is NULL
+      merge-recursive: fix the diff3 common ancestor label for virtual commits
+      fast-import: fix handling of deleted tags
+      fast-import: allow tags to be identified by mark labels
+      fast-import: add support for new 'alias' command
+      fast-export: add support for --import-marks-if-exists
+      fast-export: allow user to request tags be marked with --mark-tags
+      t9350: add tests for tags of things other than a commit
+      fast-export: handle nested tags
+      merge-recursive: fix the fix to the diff3 common ancestor label
+
+Emily Shaffer (1):
+      promisor-remote: skip move_to_tail when no-op
+
+Eric Wong (20):
+      diff: use hashmap_entry_init on moved_entry.ent
+      coccicheck: detect hashmap_entry.hash assignment
+      packfile: use hashmap_entry in delta_base_cache_entry
+      hashmap_entry_init takes "struct hashmap_entry *"
+      hashmap_get_next takes "const struct hashmap_entry *"
+      hashmap_add takes "struct hashmap_entry *"
+      hashmap_get takes "const struct hashmap_entry *"
+      hashmap_remove takes "const struct hashmap_entry *"
+      hashmap_put takes "struct hashmap_entry *"
+      introduce container_of macro
+      hashmap_get_next returns "struct hashmap_entry *"
+      hashmap: use *_entry APIs to wrap container_of
+      hashmap_get{,_from_hash} return "struct hashmap_entry *"
+      hashmap_cmp_fn takes hashmap_entry params
+      hashmap: use *_entry APIs for iteration
+      hashmap: hashmap_{put,remove} return hashmap_entry *
+      hashmap: introduce hashmap_free_entries
+      OFFSETOF_VAR macro to simplify hashmap iterators
+      hashmap: remove type arg from hashmap_{get,put,remove}_entry
+      hashmap_entry: remove first member requirement from docs
+
+Gabriele Mazzotta (1):
+      gitk: Do not mistake unchanged lines for submodule changes
+
+Garima Singh (3):
+      commit-graph: add --[no-]progress to write and verify
+      commit-graph: emit trace2 cmd_mode for each sub-command
+      sq_quote_buf_pretty: don't drop empty arguments
+
+Hervé Beraud (1):
+      hg-to-git: make it compatible with both python3 and python2
+
+Jakob Jarmar (1):
+      stash: avoid recursive hard reset on submodules
+
+Jeff Hostetler (7):
+      trace2: cleanup column alignment in perf target format
+      trace2: trim whitespace in region messages in perf target format
+      trace2: remove dead code in maybe_add_string_va()
+      trace2: trim trailing whitespace in normal format error message
+      quote: add sq_append_quote_argv_pretty()
+      trace2: cleanup whitespace in normal format
+      trace2: cleanup whitespace in perf format
+
+Jeff King (32):
+      setup_traverse_info(): stop copying oid
+      tree-walk: drop oid from traverse_info
+      tree-walk: use size_t consistently
+      tree-walk: accept a raw length for traverse_path_len()
+      tree-walk: add a strbuf wrapper for make_traverse_path()
+      tree-walk: harden make_traverse_path() length computations
+      revision: allow --end-of-options to end option parsing
+      parse-options: allow --end-of-options as a synonym for "--"
+      gitcli: document --end-of-options
+      t1309: use short branch name in includeIf.onbranch test
+      common-main: delay trace2 initialization
+      config: stop checking whether the_repository is NULL
+      t/perf: rename duplicate-numbered test script
+      packfile: drop release_pack_memory()
+      notes: avoid potential use-after-free during insertion
+      fast-import: duplicate parsed encoding string
+      fast-import: duplicate into history rather than passing ownership
+      git-am: handle missing "author" when parsing commit
+      pack-objects: use object_id in packlist_alloc()
+      bulk-checkin: zero-initialize hashfile_checkpoint
+      diff-delta: set size out-parameter to 0 for NULL delta
+      test-read-cache: drop namelen variable
+      pack-objects: drop packlist index_pos optimization
+      commit-graph: turn off save_commit_buffer
+      list-objects: don't queue root trees unless revs->tree_objects is set
+      commit-graph: bump DIE_ON_LOAD check to actual load-time
+      upload-pack: disable commit graph more gently for shallow traversal
+      list-objects-filter: delay parsing of sparse oid
+      list-objects-filter: use empty string instead of NULL for sparse "base"
+      git_mkstemps_mode(): replace magic numbers with computed value
+      add a Code of Conduct document
+      CODE_OF_CONDUCT: mention individual project-leader emails
+
+Johannes Schindelin (41):
+      Drop unused git-rebase--am.sh
+      t3400: stop referring to the scripted rebase
+      .gitignore: there is no longer a built-in `git-rebase--interactive`
+      sequencer: the `am` and `rebase--interactive` scripts are gone
+      rebase: fold git-rebase--common into the -p backend
+      t3427: add a clarifying comment
+      t3427: simplify the `setup` test case significantly
+      t3427: move the `filter-branch` invocation into the `setup` case
+      t3427: condense the unnecessarily repetitive test cases into three
+      t3427: fix erroneous assumption
+      t3427: accommodate for the `rebase --merge` backend having been replaced
+      t3427: fix another incorrect assumption
+      rebase -r: support merge strategies other than `recursive`
+      t/lib-rebase: prepare for testing `git rebase --rebase-merges`
+      t3418: test `rebase -r` with merge strategies
+      rebase -r: do not (re-)generate root commits with `--root` *and* `--onto`
+      setup_git_directory(): handle UNC paths correctly
+      Fix .git/ discovery at the root of UNC shares
+      setup_git_directory(): handle UNC root paths correctly
+      .gitignore: stop ignoring `.manifest` files
+      Move git_sort(), a stable sort, into into libgit.a
+      diffcore_rename(): use a stable sort
+      ci: run `hdr-check` as part of the `Static Analysis` job
+      range-diff: internally force `diff.noprefix=true`
+      push: do not pretend to return `int` from `die_push_simple()`
+      fetch: let --jobs=<n> parallelize --multiple, too
+      stash apply: report status correctly even in a worktree's subdirectory
+      msvc: avoid using minus operator on unsigned types
+      winansi: use FLEX_ARRAY to avoid compiler warning
+      compat/win32/path-utils.h: add #include guards
+      msvc: ignore some libraries when linking
+      msvc: handle DEVELOPER=1
+      msvc: work around a bug in GetEnvironmentVariable()
+      vcxproj: only copy `git-remote-http.exe` once it was built
+      vcxproj: include more generated files
+      test-tool run-command: learn to run (parts of) the testsuite
+      tests: let --immediate and --write-junit-xml play well together
+      ci: really use shallow clones on Azure Pipelines
+      ci: also build and test with MS Visual Studio on Azure Pipelines
+      xdiffi: fix typos and touch up comments
+      doc(stash): clarify the description of `save`
+
+Johannes Sixt (2):
+      diff, log doc: say "patch text" instead of "patches"
+      diff, log doc: small grammer, format, and language fixes
+
+Jon Simons (2):
+      t5616: test cloning/fetching with sparse:oid=<oid> filter
+      list-objects-filter: give a more specific error sparse parsing error
+
+Jonathan Tan (6):
+      diff: skip GITLINK when lazy fetching missing objs
+      transport-helper: skip ls-refs if unnecessary
+      transport: teach all vtables to allow fetch first
+      cache-tree: do not lazy-fetch tentative tree
+      merge-recursive: symlink's descendants not in way
+      send-pack: never fetch when checking exclusions
+
+Josh Steadmon (7):
+      t7503: verify proper hook execution
+      fetch: add trace2 instrumentation
+      push: add trace2 instrumentation
+      docs: mention trace2 target-dir mode in git-config
+      docs: clarify trace2 version invariants
+      trace2: discard new traces if target directory has too many files
+      trace2: write discard message to sentinel files
+
+Junio C Hamano (14):
+      First batch after Git 2.23
+      t: use LF variable defined in the test harness
+      t3005: remove unused variable
+      Second batch
+      Third batch
+      SubmittingPatches: git-gui has a new maintainer
+      Fourth batch
+      Fifth batch
+      Sixth batch
+      transport: push codepath can take arbitrary repository
+      Seventh batch
+      Eighth batch
+      Ninth batch
+      Git 2.24-rc0
+
+Kunal Tyagi (1):
+      add -i: show progress counter in the prompt
+
+Martin Ågren (14):
+      Documentation: wrap blocks with "--"
+      git-merge-base.txt: render indentations correctly under Asciidoctor
+      Documentation: wrap config listings in "----"
+      git-ls-remote.txt: wrap shell listing in "----"
+      git-receive-pack.txt: wrap shell [script] listing in "----"
+      git-merge-index.txt: wrap shell listing in "----"
+      gitweb.conf.txt: switch pluses to backticks to help Asciidoctor
+      Doc/Makefile: give mansource/-version/-manual attributes
+      asciidoctor-extensions: provide `<refmiscinfo/>`
+      doc-diff: replace --cut-header-footer with --cut-footer
+      user-manual.txt: add missing section label
+      user-manual.txt: change header notation
+      asciidoctor-extensions.rb: handle "book" doctype in linkgit
+      user-manual.txt: render ASCII art correctly under Asciidoctor
+
+Masaya Suzuki (1):
+      fetch: use oidset to keep the want OIDs for faster lookup
+
+Matheus Tavares (1):
+      grep: fix worktree case in submodules
+
+Matthew DeVore (10):
+      list-objects-filter: encapsulate filter components
+      list-objects-filter: put omits set in filter struct
+      list-objects-filter-options: always supply *errbuf
+      list-objects-filter: implement composite filters
+      list-objects-filter-options: move error check up
+      list-objects-filter-options: make filter_spec a string_list
+      strbuf: give URL-encoding API a char predicate fn
+      list-objects-filter-options: allow mult. --filter
+      list-objects-filter-options: clean up use of ALLOC_GROW
+      list-objects-filter-options: make parser void
+
+Max Rothman (1):
+      completion: add missing completions for log, diff, show
+
+Michael J Gruber (3):
+      merge: do no-verify like commit
+      git-merge: honor pre-merge-commit hook
+      merge: --no-verify to bypass pre-merge-commit hook
+
+Mike Hommey (3):
+      notes: avoid leaking duplicate entries
+      commit: free the right buffer in release_commit_memory
+      http: don't leak urlmatch_config.vars
+
+Mischa POSLAWSKY (1):
+      ref-filter: initialize empty name or email fields
+
+Paul Mackerras (1):
+      gitk: Make web links clickable
+
+Paul Wise (1):
+      gitk: Use right colour for remote refs in the "Tags and heads" dialog
+
+Pedro Sousa (1):
+      doc: MyFirstContribution: fix cmd placement instructions
+
+Philip.McGraw (1):
+      git-p4: auto-delete named temporary file
+
+Phillip Wood (3):
+      rebase -i: always update HEAD before rewording
+      rebase -i: check for updated todo after squash and reword
+      sequencer: simplify root commit creation
+
+Pratyush Yadav (6):
+      git-gui: call do_quit before destroying the main window
+      git-gui: allow reverting selected lines
+      git-gui: allow reverting selected hunk
+      git-gui: return early when patch fails to apply
+      git-gui: allow undoing last revert
+      Documentation: update the location of the git-gui repo
+
+René Scharfe (28):
+      nedmalloc: do assignments only after the declaration section
+      nedmalloc: avoid compiler warning about unused value
+      archive-tar: report wrong pax extended header length
+      archive-tar: fix pax extended header length calculation
+      archive-tar: use size_t in strbuf_append_ext_header()
+      archive-tar: turn length miscalculation warning into BUG
+      parseopt: move definition of enum parse_opt_result up
+      sha1-name: make sort_ambiguous_oid_array() thread-safe
+      log-tree: always use return value of strbuf_detach()
+      grep: use return value of strbuf_detach()
+      trace2: use warning() directly in tr2_dst_malformed_warning()
+      help: make help_unknown_ref() NORETURN
+      tree: simplify parse_tree_indirect()
+      tag: factor out get_tagged_oid()
+      use get_tagged_oid()
+      log: test --decorate-refs-exclude with --simplify-by-decoration
+      log-tree: call load_ref_decorations() in get_name_decoration()
+      rev-parse: demonstrate overflow of N for "foo^N" and "foo~N"
+      sha1-name: check for overflow of N in "foo^N" and "foo~N"
+      commit-graph: use commit_list_count()
+      sha1_name: simplify strbuf handling in interpret_nth_prior_checkout()
+      git: use COPY_ARRAY and MOVE_ARRAY in handle_alias()
+      treewide: remove duplicate #include directives
+      convert: fix handling of dashless UTF prefix in validate_encoding()
+      tests: remove "cat foo" before "test_i18ngrep bar foo"
+      http-push: simplify deleting a list item
+      column: use utf8_strnwidth() to strip out ANSI color escapes
+      remote-curl: use argv_array in parse_push()
+
+SZEDER Gábor (33):
+      t5510-fetch: fix negated 'test_i18ngrep' invocation
+      t5510-fetch: run non-httpd-specific test before sourcing 'lib-httpd.sh'
+      t5703: run all non-httpd-specific tests before sourcing 'lib-httpd.sh'
+      t: warn against adding non-httpd-specific tests after sourcing 'lib-httpd'
+      t5318-commit-graph: use 'test_expect_code'
+      commit-graph: turn a group of write-related macro flags into an enum
+      commit-graph: error out on invalid commit oids in 'write --stdin-commits'
+      t0000-basic: use realistic test script names in the verbose tests
+      tests: show the test name and number at the start of verbose output
+      completion: fix a typo in a comment
+      completion: complete more values of more 'color.*' configuration variables
+      completion: add tests for 'git config' completion
+      completion: deduplicate configuration sections
+      completion: use 'sort -u' to deduplicate config variable names
+      completion: simplify inner 'case' pattern in __gitcomp()
+      completion: split _git_config()
+      completion: complete configuration sections and variable names for 'git -c'
+      completion: complete values of configuration variables after 'git -c var='
+      completion: complete config variables names and values for 'git clone -c'
+      completion: complete config variables and values for 'git clone --config='
+      worktree remove: clarify error message on dirty worktree
+      diff: 'diff.indentHeuristic' is no longer experimental
+      line-log: extract pathspec parsing from line ranges into a helper function
+      line-log: avoid unnecessary full tree diffs
+      t7300-clean: demonstrate deleting nested repo with an ignored file breakage
+      t/lib-git-svn.sh: check GIT_TEST_SVN_HTTPD when running SVN HTTP tests
+      ci: restore running httpd tests
+      commit-graph: don't show progress percentages while expanding reachable commits
+      Revert "progress: use term_clear_line()"
+      Test the progress display
+      t/helper: ignore only executable files
+      travis-ci: do not skip successfully tested trees in debug mode
+      name-rev: avoid cutoff timestamp underflow
+
+Stephen Boyd (1):
+      userdiff: add a builtin pattern for dts files
+
+Stephen P. Smith (2):
+      Quit passing 'now' to date code
+      test_date.c: remove reference to GIT_TEST_DATE_NOW
+
+Sun Chao (1):
+      pack-refs: always refresh after taking the lock file
+
+Tanay Abhra (1):
+      t1308-config-set: fix a test that has a typo
+
+Taylor Blau (4):
+      banned.h: fix vsprintf()'s ban message
+      t/t5318: introduce failing 'git commit-graph write' tests
+      commit-graph.c: handle commit parsing errors
+      commit-graph.c: handle corrupt/missing trees
+
+Thomas Gummerer (6):
+      t0021: make sure clean filter runs
+      push: disallow --all and refspecs when remote.<name>.mirror is set
+      factor out refresh_and_write_cache function
+      merge: use refresh_and_write_cache
+      stash: make sure to write refreshed cache
+      range-diff: don't segfault with mode-only changes
+
+Tobias Klauser (1):
+      git-svn: trim leading and trailing whitespaces in author name
+
+Torsten Bögershausen (1):
+      mingw: support UNC in git clone file://server/share/repo
+
+Varun Naik (2):
+      checkout.c: unstage empty deleted ita files
+      restore: add test for deleted ita files
+
+YanKe (1):
+      gitk: Add Chinese (zh_CN) translation
+
+brian m. carlson (43):
+      builtin/replace: make hash size independent
+      patch-id: convert to use the_hash_algo
+      fetch-pack: use parse_oid_hex
+      builtin/receive-pack: switch to use the_hash_algo
+      builtin/blame: switch uses of GIT_SHA1_HEXSZ to the_hash_algo
+      builtin/rev-parse: switch to use the_hash_algo
+      blame: remove needless comparison with GIT_SHA1_HEXSZ
+      show-index: switch hard-coded constants to the_hash_algo
+      connected: switch GIT_SHA1_HEXSZ to the_hash_algo
+      bundle: switch to use the_hash_algo
+      combine-diff: replace GIT_SHA1_HEXSZ with the_hash_algo
+      config: use the_hash_algo in abbrev comparison
+      sha1-lookup: switch hard-coded constants to the_hash_algo
+      bisect: switch to using the_hash_algo
+      sequencer: convert to use the_hash_algo
+      pack-write: use hash_to_hex when writing checksums
+      builtin/repack: write object IDs of the proper length
+      builtin/worktree: switch null_sha1 to null_oid
+      cache: remove null_sha1
+      wt-status: convert struct wt_status to object_id
+      packfile: replace sha1_to_hex
+      builtin/index-pack: replace sha1_to_hex
+      builtin/receive-pack: replace sha1_to_hex
+      rerere: replace sha1_to_hex
+      builtin/show-index: replace sha1_to_hex
+      midx: switch to using the_hash_algo
+      t3201: abstract away SHA-1-specific constants
+      t3206: abstract away hash size constants
+      t3301: abstract away SHA-1-specific constants
+      t3305: make hash size independent
+      t3306: abstract away SHA-1-specific constants
+      t3404: abstract away SHA-1-specific constants
+      t3430: avoid hard-coded object IDs
+      t3506: make hash independent
+      t3600: make hash size independent
+      t3800: make hash-size independent
+      t3903: abstract away SHA-1-specific constants
+      t4000: make hash size independent
+      t4002: make hash independent
+      t4009: make hash size independent
+      path: add a function to check for path suffix
+      am: reload .gitattributes after patching it
+      Documentation: fix build with Asciidoctor 2
+
+Ævar Arnfjörð Bjarmason (20):
+      log tests: test regex backends in "--encode=<enc>" tests
+      grep: don't use PCRE2?_UTF8 with "log --encoding=<non-utf8>"
+      t4210: skip more command-line encoding tests on MinGW
+      grep: inline the return value of a function call used only once
+      grep tests: move "grep binary" alongside the rest
+      grep tests: move binary pattern tests into their own file
+      grep: make the behavior for NUL-byte in patterns sane
+      grep: drop support for \0 in --fixed-strings <pattern>
+      grep: remove the kwset optimization
+      grep: use PCRE v2 for optimized fixed-string search
+      grep: remove overly paranoid BUG(...) code
+      grep: stop "using" a custom JIT stack with PCRE v2
+      grep: stop using a custom JIT stack with PCRE v1
+      grep: consistently use "p->fixed" in compile_regexp()
+      grep: create a "is_fixed" member in "grep_pat"
+      grep: stess test PCRE v2 on invalid UTF-8 data
+      grep: do not enter PCRE2_UTF mode on fixed matching
+      t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests
+      t3432: test for --no-ff's interaction with fast-forward
+      rebase tests: test linear branch topology
+
+
+Version v2.23.4; changes since v2.23.3:
+---------------------------------------
+
+Johannes Schindelin (8):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+      Git 2.23.4
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.23.3; changes since v2.23.2:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.23.2; changes since v2.23.1:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.23.1; changes since v2.23.0:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (35):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
+      Git 2.20.2
+      mingw: detect when MSYS2's sh is to be spawned more robustly
+      mingw: use MSYS2 quoting even when spawning shell scripts
+      mingw: fix quoting of empty arguments for `sh`
+      t7415: drop v2.20.x-specific work-around
+      mingw: sh arguments need quoting in more circumstances
+      Git 2.21.1
+      Git 2.22.2
+      Git 2.23.1
+
+Jonathan Nieder (3):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+      submodule: defend against submodule.update = !command in .gitmodules
+
+
+Version v2.23.0; changes since v2.23.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (3):
+      l10n: it.po: update the Italian translation
+      l10n: it.po: update the Italian translation for v2.23.0
+      l10n: it.po: update the Italian localization for v2.23.0 round 2
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (4674t)
+
+Carmine Zaccagnino (1):
+      l10n: it.po: remove an extra space
+
+Christopher Díaz Riveros (1):
+      l10n: es: 2.23.0 round 2
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jean-Noël Avila (1):
+      l10n: fr v2.23.0 round 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.23.0 round 1 (130 new, 35 removed)
+      l10n: git.pot: v2.23.0 round 2 (4 new, 6 removed)
+      l10n: zh_CN: for git v2.23.0 l10n round 1~2
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (2):
+      Git 2.22.1
+      Git 2.23
+
+Mark Rushakoff (1):
+      doc: fix repeated words
+
+Matthias Rüster (1):
+      l10n: de.po: Update German translation
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (4676t0f0u)
+
+Philip Oakley (1):
+      .mailmap: update email address of Philip Oakley
+
+Philipp Weißmann (1):
+      l10n: de.po: Fix typo in German translation
+
+Trần Ngọc Quân (2):
+      l10n: vi.po (4676t): Updated Vietnamese translation
+      l10n: vi(4674t): Updated translation for Vietnamese
+
+
+Version v2.23.0-rc2; changes since v2.23.0-rc1:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      commit-graph: fix bug around octopus merges
+
+Elijah Newren (1):
+      merge-recursive: avoid directory rename detection in recursive case
+
+Jean-Noël Avila (1):
+      l10n: reformat some localized strings for v2.23.0
+
+Jeff King (1):
+      t0000: reword comments for "local" test
+
+Jonathan Nieder (1):
+      t: decrease nesting in test_oid_to_path
+
+Junio C Hamano (1):
+      Git 2.23-rc2
+
+Mark Rushakoff (1):
+      doc: typo: s/can not/cannot/ and s/is does/does/
+
+René Scharfe (4):
+      commit-graph: release strbufs after use
+      dir-iterator: release strbuf after use
+      test-dir-iterator: use path argument directly
+      sha1-file: release strbuf after use
+
+William Chargin (1):
+      restore: fix typo in docs
+
+
+Version v2.23.0-rc1; changes since v2.23.0-rc0:
+-----------------------------------------------
+
+Carlo Marcelo Arenas Belón (3):
+      xdiff: drop system includes in xutils.c
+      xdiff: remove duplicate headers from xhistogram.c
+      xdiff: remove duplicate headers from xpatience.c
+
+Jeff King (6):
+      verify-tag: drop signal.h include
+      wt-status.h: drop stdio.h include
+      t: sort output of hashmap iteration
+      t7700: clean up .keep file in bitmap-writing test
+      repack: silence warnings when auto-enabled bitmaps cannot be built
+      repack: simplify handling of auto-bitmaps and .keep files
+
+Johannes Schindelin (15):
+      Vcproj.pm: auto-generate GUIDs
+      Vcproj.pm: do not configure VCWebServiceProxyGeneratorTool
+      Vcproj.pm: urlencode '<' and '>' when generating VC projects
+      contrib/buildsystems: ignore irrelevant files in Generators/
+      contrib/buildsystems: error out on unknown option
+      contrib/buildsystems: handle libiconv, too
+      contrib/buildsystems: also handle -lexpat
+      contrib/buildsystems: handle options starting with a slash
+      contrib/buildsystems: add a backend for modern Visual Studio versions
+      msvc: add a Makefile target to pre-generate the Visual Studio solution
+      vcxproj: also link-or-copy builtins
+      .gitignore: ignore Visual Studio's temporary/generated files
+      bin-wrappers: append `.exe` to target paths if necessary
+      git: avoid calling aliased builtins via their dashed form
+      config: work around bug with includeif:onbranch and early config
+
+Junio C Hamano (5):
+      test-dir-iterator: do not assume errno values
+      A few more last-minute fixes
+      log: flip the --mailmap default unconditionally
+      log: really flip the --mailmap default
+      Git 2.23-rc1
+
+Martin Ågren (2):
+      RelNotes/2.21.1: typofix
+      RelNotes/2.23.0: fix a few typos and other minor issues
+
+Philip Oakley (9):
+      Vcproj.pm: list git.exe first to be startup project
+      contrib/buildsystems: ignore invalidcontinue.obj
+      contrib/buildsystems: fix misleading error message
+      contrib/buildsystems: handle quoted spaces in filenames
+      contrib/buildsystems: ignore gettext stuff
+      contrib/buildsystems: redirect errors of the dry run into a log file
+      contrib/buildsystems: optionally capture the dry-run in a file
+      contrib/buildsystems: handle the curl library option
+      .gitignore: touch up the entries regarding Visual Studio
+
+SZEDER Gábor (1):
+      Documentation/git-fsck.txt: include fsck.* config variables
+
+brian m. carlson (10):
+      t: add helper to convert object IDs to paths
+      t1410: make hash size independent
+      t1450: make hash size independent
+      t5000: make hash independent
+      t6030: make test work with SHA-256
+      t0027: make hash size independent
+      t0090: make test pass with SHA-256
+      t1007: remove SHA1 prerequisites
+      t1710: make hash independent
+      t2203: avoid hard-coded object ID values
+
+
+Version v2.23.0-rc0; changes since v2.22.5:
+-------------------------------------------
+
+Andrey Mazo (8):
+      git-p4: detect/prevent infinite loop in gitCommitByP4Change()
+      git-p4: add failing test for "git-p4: match branches case insensitively if configured"
+      git-p4: match branches case insensitively if configured
+      git-p4: don't groom exclude path list on every commit
+      git-p4: add failing test for "don't exclude other files with same prefix"
+      git-p4: don't exclude other files with same prefix
+      git-p4: add failing test for "git-p4: respect excluded paths when detecting branches"
+      git-p4: respect excluded paths when detecting branches
+
+Ariadne Conill (3):
+      log: add warning for unspecified log.mailmap setting
+      documentation: mention --no-use-mailmap and log.mailmap false setting
+      tests: defang pager tests by explicitly disabling the log.mailmap warning
+
+Barret Rhoden (8):
+      fsck: rename and touch up init_skiplist()
+      Move oidset_parse_file() to oidset.c
+      blame: use a helper function in blame_chunk()
+      blame: add the ability to ignore commits and their changes
+      blame: add config options for the output of ignored or unblamable lines
+      blame: optionally track line fingerprints during fill_blame_origin()
+      blame: use the fingerprint heuristic to match ignored lines
+      blame: add a test to cover blame_coalesce()
+
+Beat Bolli (1):
+      grep: print the pcre2_jit_on value
+
+Ben Avison (1):
+      clone: add `--remote-submodules` flag
+
+Boxuan Li (2):
+      userdiff: add Octave
+      userdiff: fix grammar and style issues
+
+Carlo Marcelo Arenas Belón (1):
+      trace2: correct typo in technical documentation
+
+Cesar Eduardo Barros (1):
+      mingw: embed a manifest to trick UAC into Doing The Right Thing
+
+Christian Couder (7):
+      t/helper: add test-oidmap.c
+      t: add t0016-oidmap.sh
+      oidmap: use sha1hash() instead of static hash() function
+      test-hashmap: remove 'hash' command
+      doc: improve usage string in MyFirstContribution
+      test-oidmap: remove 'add' subcommand
+      t0016: add 'remove' subcommand test
+
+Daniel Ferreira (1):
+      dir-iterator: add tests for dir-iterator API
+
+Denton Liu (3):
+      git-format-patch.txt: document --no-notes option
+      format-patch: teach format.notes config option
+      config: learn the "onbranch:" includeIf condition
+
+Derrick Stolee (35):
+      revision: use generation for A..B --topo-order queries
+      revision: keep topo-walk free of unintersting commits
+      repack: refactor pack deletion for future use
+      Docs: rearrange subcommands for multi-pack-index
+      multi-pack-index: prepare for 'expire' subcommand
+      midx: simplify computation of pack name lengths
+      midx: refactor permutation logic and pack sorting
+      multi-pack-index: implement 'expire' subcommand
+      multi-pack-index: prepare 'repack' subcommand
+      midx: implement midx_repack()
+      multi-pack-index: test expire while adding packs
+      midx: add test that 'expire' respects .keep files
+      t5319-multi-pack-index.sh: test batch size zero
+      commit-graph: document commit-graph chains
+      commit-graph: prepare for commit-graph chains
+      commit-graph: rename commit_compare to oid_compare
+      commit-graph: load commit-graph chains
+      commit-graph: add base graphs chunk
+      commit-graph: rearrange chunk count logic
+      commit-graph: write commit-graph chains
+      commit-graph: add --split option to builtin
+      commit-graph: merge commit-graph chains
+      commit-graph: allow cross-alternate chains
+      commit-graph: expire commit-graph files
+      commit-graph: create options for split files
+      commit-graph: verify chains with --shallow mode
+      commit-graph: clean up chains after flattened write
+      commit-graph: test octopus merges with --split
+      commit-graph: test --split across alternate without --split
+      commit-graph: normalize commit-graph filenames
+      commit-graph: test verify across alternates
+      fetch: add --[no-]show-forced-updates argument
+      fetch: warn about forced updates in branch listing
+      pull: add --[no-]show-forced-updates passthrough
+      t5319: use 'test-tool path-utils' instead of 'ls -l'
+
+Dimitriy Ryazantcev (1):
+      l10n: localizable upload progress messages
+
+Edmundo Carmona Antoranz (1):
+      builtin/merge.c - cleanup of code in for-cycle that tests strategies
+
+Elijah Newren (5):
+      t9350: fix encoding test to actually test reencoding
+      fast-import: support 'encoding' commit header
+      fast-export: avoid stripping encoding header if we cannot reencode
+      fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8
+      fast-export: do automatic reencoding of commit messages only if requested
+
+Emily Shaffer (4):
+      documentation: add tutorial for first contribution
+      documentation: add anchors to MyFirstContribution
+      doc: add some nit fixes to MyFirstContribution
+      rev-list: teach --no-object-names to enable piping
+
+Eric Wong (2):
+      update-server-info: avoid needless overwrites
+      repack: disable bitmaps-by-default if .keep files exist
+
+Jeff Hostetler (13):
+      cache-tree/blame: avoid reusing the DEBUG constant
+      msvc: mark a variable as non-const
+      msvc: do not re-declare the timespec struct
+      msvc: define ftello()
+      msvc: fix detect_msys_tty()
+      msvc: update Makefile to allow for spaces in the compiler path
+      status: add status.aheadbehind setting
+      status: warn when a/b calculation takes too long
+      status: ignore status.aheadbehind in porcelain formats
+      msvc: support building Git using MS Visual C++
+      msvc: add a compile-time flag to allow detailed heap debugging
+      msvc: do not pretend to support all signals
+      msvc: ignore .dll and incremental compile output
+
+Jeff King (42):
+      cmd_{read,write}_tree: rename "unused" variable that is used
+      builtin: consistently pass cmd_* prefix to parse_options
+      submodule: drop unused prefix parameter from some functions
+      clone: drop dest parameter from copy_alternates()
+      read-cache: drop unused parameter from threaded load
+      wt-status: drop unused status parameter
+      mktree: drop unused length parameter
+      name-rev: drop unused parameters from is_better_name()
+      pack-objects: drop unused rev_info parameters
+      receive-pack: drop unused "commands" from prepare_shallow_update()
+      remove_all_fetch_refspecs(): drop unused "remote" parameter
+      rev-list: drop unused void pointer from finish_commit()
+      show-branch: drop unused parameter from show_independent()
+      verify-commit: simplify parameters to run_gpg_verify()
+      help_unknown_ref(): duplicate collected refnames
+      help_unknown_ref(): check for refname ambiguity
+      describe: fix accidental oid/hash type-punning
+      upload-pack: rename a "sha1" variable to "oid"
+      pack-bitmap-write: convert some helpers to use object_id
+      pack-objects: convert packlist_find() to use object_id
+      pack-objects: convert locate_object_entry_hash() to object_id
+      object: convert lookup_unknown_object() to use object_id
+      object: convert lookup_object() to use object_id
+      object: convert internal hash_obj() to object_id
+      object: convert create_object() to use object_id
+      khash: drop broken oid_map typedef
+      khash: rename kh_oid_t to kh_oid_set
+      delta-islands: convert island_marks khash to use oids
+      pack-bitmap: convert khash_sha1 maps into kh_oid_map
+      khash: drop sha1-specific map types
+      khash: rename oid helper functions
+      hash.h: move object_id definition from cache.h
+      hashmap: convert sha1hash() to oidhash()
+      blame: drop some unused function parameters
+      object-store.h: move for_each_alternate_ref() from transport.h
+      check_everything_connected: assume alternate ref tips are valid
+      test-lib: introduce test_commit_bulk
+      t5310: increase the number of bitmapped commits
+      t3311: use test_commit_bulk
+      t5702: use test_commit_bulk
+      t5703: use test_commit_bulk
+      t6200: use test_commit_bulk
+
+Johannes Schindelin (18):
+      Drop unused git-rebase--am.sh
+      t3400: stop referring to the scripted rebase
+      .gitignore: there is no longer a built-in `git-rebase--interactive`
+      sequencer: the `am` and `rebase--interactive` scripts are gone
+      rebase: fold git-rebase--common into the -p backend
+      mingw: fix a typo in the msysGit-specific section
+      Mark .bat files as requiring CR/LF endings
+      t0001 (mingw): do not expect a specific order of stdout/stderr
+      obstack: fix compiler warning
+      mingw: replace mingw_startup() hack
+      msvc: fix dependencies of compat/msvc.c
+      msvc: avoid debug assertion windows in Debug Mode
+      mingw: enable stack smashing protector
+      mingw: get pw_name in UTF-8 format
+      mingw: use Unicode functions explicitly
+      mingw: fix possible buffer overrun when calling `GetUserNameW()`
+      rebase: fix white-space
+      git: mark cmd_rebase as requiring a worktree
+
+Johannes Sixt (5):
+      userdiff: two simplifications of patterns for rust
+      t7610-mergetool: do not place pipelines headed by `yes` in subshells
+      t7610-mergetool: use test_cmp instead of test $(cat file) = $txt
+      mergetool: dissect strings with shell variable magic instead of `expr`
+      mergetool: use shell variable magic instead of `awk`
+
+John Lin (1):
+      status: remove the empty line after hints
+
+Junio C Hamano (8):
+      The first batch after 2.22
+      The second batch
+      The third batch
+      The fourth batch
+      The fifth batch
+      The sixth batch
+      The seventh batch
+      Git 2.23-rc0
+
+Karsten Blees (2):
+      gettext: always use UTF-8 on native Windows
+      mingw: initialize HOME on startup
+
+Marc-André Lureau (1):
+      userdiff: add built-in pattern for rust
+
+Martin Ågren (1):
+      ref-filter: fix memory leak in `free_array_item()`
+
+Matheus Tavares (8):
+      clone: better handle symlinked files at .git/objects/
+      dir-iterator: use warning_errno when possible
+      dir-iterator: refactor state machine model
+      dir-iterator: add flags parameter to dir_iterator_begin
+      clone: copy hidden paths at local clone
+      clone: extract function from copy_or_link_directory
+      clone: use dir-iterator to avoid explicit dir traversal
+      clone: replace strcmp by fspathcmp
+
+Matthew DeVore (2):
+      list-objects-filter-options: error is localizeable
+      ref-filter: sort detached HEAD lines firstly
+
+Michael Osipov (1):
+      configure: Detect linking style for HP aCC on HP-UX
+
+Michael Platings (2):
+      blame: add a fingerprint heuristic to match ignored lines
+      t8014: remove unnecessary braces
+
+Nguyễn Thái Ngọc Duy (60):
+      git-checkout.txt: spell out --no-option
+      git-checkout.txt: fix one syntax line
+      doc: document --overwrite-ignore
+      git-checkout.txt: fix monospace typeset
+      t: rename t2014-switch.sh to t2014-checkout-switch.sh
+      checkout: advice how to get out of detached HEAD mode
+      checkout: inform the user when removing branch state
+      checkout: keep most #include sorted
+      checkout: factor out some code in parse_branchname_arg()
+      checkout: make "opts" in cmd_checkout() a pointer
+      checkout: move 'confict_style' and 'dwim_..' to checkout_opts
+      checkout: split options[] array in three pieces
+      checkout: split part of it to new command 'switch'
+      switch: better names for -b and -B
+      switch: add --discard-changes
+      switch: remove -l
+      switch: stop accepting pathspec
+      switch: reject "do nothing" case
+      switch: only allow explicit detached HEAD
+      switch: add short option for --detach
+      switch: implicit dwim, use --no-guess to disable it
+      switch: no worktree status unless real branch switch happens
+      switch: reject if some operation is in progress
+      switch: make --orphan switch to an empty tree
+      t: add tests for switch
+      completion: support switch
+      doc: promote "git switch"
+      checkout: split part of it to new command 'restore'
+      restore: take tree-ish from --source option instead
+      restore: make pathspec mandatory
+      restore: disable overlay mode by default
+      checkout: factor out worktree checkout code
+      restore: add --worktree and --staged
+      restore: reject invalid combinations with --staged
+      restore: default to --source=HEAD when only --staged is specified
+      restore: replace --force with --ignore-unmerged
+      restore: support --patch
+      t: add tests for restore
+      completion: support restore
+      user-manual.txt: prefer 'merge --abort' over 'reset --hard'
+      doc: promote "git restore"
+      help: move git-diff and git-reset to different groups
+      Declare both git-switch and git-restore experimental
+      merge: remove drop_save() in favor of remove_merge_branch_state()
+      worktree add: sanitize worktree names
+      merge: add --quit
+      fetch: only run 'gc' once when fetching multiple remotes
+      t2027: use test_must_be_empty
+      switch: allow to switch in the middle of bisect
+      completion: disable dwim on "git switch -d"
+      fetch-pack: move capability names out of i18n strings
+      fetch-pack: print all relevant supported capabilities with -v -v
+      fetch-pack: print server version at the top in -v -v
+      sha1-file.c: remove the_repo from read_object_with_reference()
+      tree-walk.c: remove the_repo from fill_tree_descriptor()
+      tree-walk.c: remove the_repo from get_tree_entry()
+      tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()
+      match-trees.c: remove the_repo from shift_tree*()
+      Use the right 'struct repository' instead of the_repository
+      t7814: do not generate same commits in different repos
+
+Nickolai Belakovski (3):
+      ref-filter: add worktreepath atom
+      branch: update output to include worktree info
+      branch: add worktree info on verbose output
+
+Philip Oakley (5):
+      git.c: show usage for accessing the git(1) help page
+      Doc: git.txt: remove backticks from link and add git-scm.com/docs
+      msvc: include sigset_t definition
+      msvc: define O_ACCMODE
+      msvc: add pragmas for common warnings
+
+Phillip Wood (7):
+      rebase -r: always reword merge -c
+      show --continue/skip etc. consistently in synopsis
+      sequencer: always allow tab after command name
+      sequencer: factor out todo command name parsing
+      status: do not report errors in sequencer/todo
+      git-prompt: improve cherry-pick/revert detection
+      t3420: remove progress lines before comparing output
+
+Ramsay Jones (1):
+      env--helper: mark a file-local symbol as static
+
+Rohit Ashiwal (5):
+      sequencer: add advice for revert
+      sequencer: rename reset_for_rollback to reset_merge
+      sequencer: use argv_array in reset_merge
+      cherry-pick/revert: add --skip option
+      cherry-pick/revert: advise using --skip
+
+SZEDER Gábor (1):
+      travis-ci: build with GCC 4.8 as well
+
+Stephen Boyd (2):
+      format-patch: inform user that patch-id generation is unstable
+      format-patch: make --base patch-id output stable
+
+Taylor Blau (1):
+      ref-filter.c: find disjoint pattern prefixes
+
+Thomas Gummerer (15):
+      apply: replace marc.info link with public-inbox
+      apply: only pass required data to skip_tree_prefix
+      apply: only pass required data to git_header_name
+      apply: only pass required data to check_header_line
+      apply: only pass required data to find_name_*
+      apply: only pass required data to gitdiff_* functions
+      apply: make parse_git_diff_header public
+      range-diff: fix function parameter indentation
+      range-diff: split lines manually
+      range-diff: don't remove funcname from inner diff
+      range-diff: suppress line count in outer diff
+      range-diff: add section header instead of diff header
+      range-diff: add filename to inner diff
+      range-diff: add headers to the outer hunk header
+      stash: fix handling removed files with --keep-index
+
+Tigran Mkrtchyan (1):
+      tag: add tag.gpgSign config option to force all tags be GPG-signed
+
+Ævar Arnfjörð Bjarmason (20):
+      send-email: move the read_config() function above getopts
+      send-email: rename the @bcclist variable for consistency
+      send-email: do defaults -> config -> getopt in that order
+      tests: add a special setup where prerequisites fail
+      Makefile: remove the NO_R_TO_GCC_LINKER flag
+      send-email: remove cargo-culted multi-patch pattern in tests
+      send-email: fix broken transferEncoding tests
+      send-email: document --no-[to|cc|bcc]
+      send-email: fix regression in sendemail.identity parsing
+      Revert "test-lib: whitelist GIT_TR2_* in the environment"
+      config tests: simplify include cycle test
+      env--helper: new undocumented builtin wrapping git_env_*()
+      config.c: refactor die_bad_number() to not call gettext() early
+      t6040 test: stop using global "script" variable
+      tests: make GIT_TEST_GETTEXT_POISON a boolean
+      tests README: re-flow a previously changed paragraph
+      tests: replace test_tristate with "git env--helper"
+      tests: make GIT_TEST_FAIL_PREREQS a boolean
+      tests: mark two failing tests under FAIL_PREREQS
+      clone: test for our behavior on odd objects/* content
+
+
+Version v2.22.5; changes since v2.22.4:
+---------------------------------------
+
+Johannes Schindelin (7):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+      Git 2.22.5
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.22.4; changes since v2.22.3:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.22.3; changes since v2.22.2:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.22.2; changes since v2.22.1:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (34):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
+      Git 2.20.2
+      mingw: detect when MSYS2's sh is to be spawned more robustly
+      mingw: use MSYS2 quoting even when spawning shell scripts
+      mingw: fix quoting of empty arguments for `sh`
+      t7415: drop v2.20.x-specific work-around
+      mingw: sh arguments need quoting in more circumstances
+      Git 2.21.1
+      Git 2.22.2
+
+Jonathan Nieder (3):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+      submodule: defend against submodule.update = !command in .gitmodules
+
+
+Version v2.22.1; changes since v2.22.0:
+---------------------------------------
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 12.1
+
+Carlo Marcelo Arenas Belón (5):
+      fsmonitor: avoid signed integer overflow / infinite loop
+      wrapper: avoid undefined behaviour in macOS
+      xdiff: drop system includes in xutils.c
+      xdiff: remove duplicate headers from xhistogram.c
+      xdiff: remove duplicate headers from xpatience.c
+
+Chris Mayo (1):
+      send-email: update documentation of required Perl modules
+
+Denton Liu (2):
+      config/alias.txt: change " and ' to `
+      config/alias.txt: document alias accepting non-command first word
+
+Derrick Stolee (15):
+      commit-graph: fix the_repository reference
+      sha1-file: split OBJECT_INFO_FOR_PREFETCH
+      commit-graph: return with errors during write
+      commit-graph: collapse parameters into flags
+      commit-graph: remove Future Work section
+      commit-graph: create write_commit_graph_context
+      commit-graph: extract fill_oids_from_packs()
+      commit-graph: extract fill_oids_from_commit_hex()
+      commit-graph: extract fill_oids_from_all_packs()
+      commit-graph: extract count_distinct_commits()
+      commit-graph: extract copy_oids_to_commits()
+      commit-graph: extract write_commit_graph_file()
+      commit-graph: use raw_object_store when closing
+      packfile: close commit-graph in close_all_packs
+      packfile: rename close_all_packs to close_object_store
+
+Doug Ilijev (1):
+      README: fix rendering of text in angle brackets
+
+Dr. Adam Nielsen (1):
+      gitignore.txt: make slash-rules more readable
+
+Emily Shaffer (3):
+      grep: fail if call could output and name is null
+      doc: hint about GIT_DEBUGGER in CodingGuidelines
+      transport-helper: enforce atomic in push_refs_with_push
+
+Eric Wong (1):
+      server-info: do not list unlinked packs
+
+Felipe Contreras (5):
+      t5801 (remote-helpers): cleanup refspec stuff
+      t5801 (remote-helpers): add test to fetch tags
+      fetch: trivial cleanup
+      fetch: make the code more understandable
+      fetch: fix regression with transport helpers
+
+Jakub Wilk (1):
+      doc: don't use git.kernel.org as example gitweb URL
+
+Jeff King (10):
+      upload-pack: strip namespace from symref data
+      am: simplify prompt response handling
+      am: read interactive input from stdin
+      am: drop tty requirement for --interactive
+      am: fix --interactive HEAD tree resolution
+      interpret-trailers: load default config
+      verify-tag: drop signal.h include
+      wt-status.h: drop stdio.h include
+      delta-islands: respect progress flag
+      xdiff: clamp function context indices in post-image
+
+Johannes Schindelin (14):
+      bisect--helper: verify HEAD could be parsed before continuing
+      fill_stat_cache_info(): prepare for an fsmonitor fix
+      mark_fsmonitor_valid(): mark the index as changed if needed
+      bundle verify: error out if called without an object database
+      poll (mingw): allow compiling with GCC 8 and DEVELOPER=1
+      kwset: allow building with GCC 8
+      winansi: simplify loading the GetCurrentConsoleFontEx() function
+      config: avoid calling `labs()` on too-large data type
+      t3404: fix a typo
+      t0001: fix on case-insensitive filesystems
+      rebase --am: ignore rebase.rescheduleFailedExec
+      diff: munmap() file contents before running external diff
+      mingw: support spawning programs containing spaces in their names
+      clean: show an error message when the path is too long
+
+Jonathan Tan (5):
+      t5616: refactor packfile replacement
+      index-pack: prefetch missing REF_DELTA bases
+      t5616: use correct flag to check object is missing
+      t5616: cover case of client having delta base
+      t5551: test usage of chunked encoding explicitly
+
+Josh Steadmon (1):
+      trace2: correct trace2 field name documentation
+
+Junio C Hamano (6):
+      transport-helper: avoid var decl in for () loop control
+      rm: resolving by removal is not a warning-worthy event
+      CodingGuidelines: spell out post-C89 rules
+      Flush fixes up to the third batch post 2.22.0
+      Merge fixes made on the 'master' front
+      Git 2.22.1
+
+Martin Ågren (1):
+      RelNotes/2.21.1: typofix
+
+Matthew DeVore (3):
+      list-objects-filter: correct usage of ALLOC_GROW
+      url: do not read past end of buffer
+      url: do not allow %00 to represent NUL in URLs
+
+Miguel Ojeda (1):
+      clang-format: use git grep to generate the ForEachMacros list
+
+Mike Hommey (2):
+      dup() the input fd for fast-import used for remote helpers
+      Use xmmap_gently instead of xmmap in use_pack
+
+Mike Mueller (1):
+      p4 unshelve: fix "Not a valid object name HEAD0" on Windows
+
+Morian Sonnet (1):
+      submodule foreach: fix recursion of options
+
+Nguyễn Thái Ngọc Duy (3):
+      init: make --template path relative to $CWD
+      worktree add: be tolerant of corrupt worktrees
+      completion: do not cache if --git-completion-helper fails
+
+Paolo Bonzini (2):
+      request-pull: quote regex metacharacters in local ref
+      request-pull: warn if the remote object is not the same as the local one
+
+Philip Oakley (2):
+      doc branch: provide examples for listing remote tracking branches
+      .mailmap: update email address of Philip Oakley
+
+Phillip Wood (5):
+      rebase: fix a memory leak
+      rebase: warn if state directory cannot be removed
+      sequencer: return errors from sequencer_remove_state()
+      rebase --abort/--quit: cleanup refs/rewritten
+      add -p: fix checkout -p with pathological context
+
+Quentin Nerden (2):
+      docs: git-clone: refer to long form of options
+      docs: git-clone: list short form of options first
+
+René Scharfe (6):
+      cleanup: fix possible overflow errors in binary search, part 2
+      coccinelle: use COPY_ARRAY for copying arrays
+      use COPY_ARRAY for copying arrays
+      config: use unsigned_mult_overflows to check for overflows
+      config: don't multiply in parse_unit_factor()
+      config: simplify parsing of unit factors
+
+Robert Morgan (1):
+      gpg(docs): use correct --verify syntax
+
+SZEDER Gábor (11):
+      t3404: modernize here doc style
+      t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
+      pager: add a helper function to clear the last line in the terminal
+      t5551: use 'test_i18ngrep' to check translated output
+      rebase: fix garbled progress display with '-x'
+      progress: use term_clear_line()
+      Document that 'git -C ""' works and doesn't change directory
+      ci: don't update Homebrew
+      ci: disable Homebrew's auto cleanup
+      ci/lib.sh: update a comment about installed P4 and Git-LFS versions
+      Documentation/git-fsck.txt: include fsck.* config variables
+
+Simon Williams (1):
+      git-p4: allow unshelving of branched files
+
+Steven Roberts (1):
+      gpg-interface: do not scan past the end of buffer
+
+Thomas Gummerer (1):
+      stash: fix show referencing stash index
+
+Varun Naik (1):
+      read-cache.c: do not die if mmap fails
+
+Vishal Verma (1):
+      merge: refuse --commit with --squash
+
+Xin Li (1):
+      clone: respect user supplied origin name when setting up partial clone
+
+Ævar Arnfjörð Bjarmason (1):
+      hash-object doc: stop mentioning git-cvsimport
+
+
+Version v2.22.0; changes since v2.22.0-rc3:
+-------------------------------------------
+
+Alessandro Menti (1):
+      l10n: it.po: Updated Italian translation
+
+Alexander Shopov (3):
+      l10n: bg.po: Updated Bulgarian translation (4577t)
+      l10n: bg.po: Updated Bulgarian translation (4580t)
+      l10n: bg.po: Updated Bulgarian translation (4581t)
+
+Christopher Díaz Riveros (3):
+      l10n: es: 2.22.0 round 1
+      l10n: es: 2.22.0 round 2
+      l10n: es: 2.22.0 round 3
+
+Cédric Malard (1):
+      l10n: fr.po: Review French translation
+
+Elijah Newren (1):
+      merge-recursive: restore accidentally dropped setting of path
+
+Fangyi Zhou (1):
+      l10n: zh_CN: Revision for git v2.22.0 l10n
+
+Jean-Noël Avila (3):
+      l10n: fr.po v2.22.0.rnd1
+      l10n: fr.po v2.22.0 round 2
+      l10n: fr v2.22.0 rnd 3
+
+Jiang Xin (4):
+      l10n: git.pot: v2.22.0 round 1 (270 new, 56 removed)
+      l10n: git.pot: v2.22.0 round 2 (6 new, 3 removed)
+      l10n: git.pot: v2.22.0 round 3 (3 new, 2 removed)
+      l10n: zh_CN: for git v2.22.0 l10n round 1~3
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.22
+
+Matthias Rüster (2):
+      l10n: TEAMS: Change German translation team leader
+      l10n: de.po: Update German translation
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation
+      l10n: sv.po: Update Swedish translation (4577t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: improve description of 'git reset --quiet'
+
+Trần Ngọc Quân (3):
+      l10n: vi.po(4577t): Updated Vietnamese translation for v2.22.0 round 1
+      l10n: vi.po(4580t): Updated Vietnamese translation for v2.22.0 round 2
+      l10n: vi.po(4581t): Updated Vietnamese translation for v2.22.0 round 3
+
+
+Version v2.22.0-rc3; changes since v2.22.0-rc2:
+-----------------------------------------------
+
+Christian Couder (1):
+      list-objects-filter: disable 'sparse:path' filters
+
+Jiang Xin (1):
+      i18n: fix typos found during l10n for git 2.22.0
+
+Junio C Hamano (1):
+      Git 2.22-rc3
+
+Todd Zullinger (1):
+      RelNotes: minor typo fixes in 2.22.0 draft
+
+
+Version v2.22.0-rc2; changes since v2.22.0-rc1:
+-----------------------------------------------
+
+Emily Shaffer (1):
+      gitsubmodules: align html and nroff lists
+
+Jean-Noël Avila (1):
+      diff: fix mistake in translatable strings
+
+Jeff Hostetler (1):
+      trace2: fix tracing when NO_PTHREADS is defined
+
+Johannes Schindelin (4):
+      rebase: replace incorrect logical negation by correct bitwise one
+      tests: mark a couple more test cases as requiring `rebase -p`
+      docs: say that `--rebase=preserve` is deprecated
+      rebase docs: recommend `-r` over `-p`
+
+Jonathan Tan (1):
+      fetch-pack: send server options after command
+
+Junio C Hamano (1):
+      Git 2.22-rc2
+
+Nguyễn Thái Ngọc Duy (3):
+      diff-parseopt: correct variable types that are used by parseopt
+      diff-parseopt: restore -U (no argument) behavior
+      parse-options: check empty value in OPT_INTEGER and OPT_ABBREV
+
+SZEDER Gábor (3):
+      trace2: rename environment variables to GIT_TRACE2*
+      trace2: document the supported values of GIT_TRACE2* env variables
+      progress: avoid empty line when breaking the progress line
+
+
+Version v2.22.0-rc1; changes since v2.22.0-rc0:
+-----------------------------------------------
+
+Boxuan Li (1):
+      t4253-am-keep-cr-dos: avoid using pipes
+
+Carlo Marcelo Arenas Belón (1):
+      http-push: prevent format overflow warning with gcc >= 9
+
+Chris Mayo (1):
+      notes: correct documentation of format_display_notes()
+
+Chris. Webster (1):
+      diff-highlight: use correct /dev/null for UNIX and Windows
+
+Denton Liu (10):
+      t7610: unsuppress output
+      t7610: add mergetool --gui tests
+      t2018: cleanup in current test
+      branch: make create_branch accept a merge base rev
+      tag: fix typo in nested tagging hint
+      mergetool: use get_merge_tool function
+      mergetool--lib: create gui_mode function
+      mergetool: fallback to tool when guitool unavailable
+      difftool: make --gui, --tool and --extcmd mutually exclusive
+      difftool: fallback on merge.guitool
+
+Derrick Stolee (3):
+      midx: pass a repository pointer
+      midx: add packs to packed_git linked list
+      trace2: add variable description to git.txt
+
+Dustin Spicuzza (1):
+      cvsexportcommit: force crlf translation
+
+Elijah Newren (1):
+      Honor core.precomposeUnicode in more places
+
+Eric Sunshine (1):
+      check-non-portable-shell: support Perl versions older than 5.10
+
+Jeff King (4):
+      coccicheck: optionally batch spatch invocations
+      t/lib-httpd: pass LSAN_OPTIONS through apache
+      coccicheck: make batch size of 0 mean "unlimited"
+      get_oid: handle NULL repo->index
+
+Johannes Schindelin (8):
+      t5580: verify that alternates can be UNC paths
+      fsmonitor: demonstrate that it is not refreshed after discard_index()
+      fsmonitor: force a refresh after the index was discarded
+      t6500(mingw): use the Windows PID of the shell
+      difftool --no-index: error out on --dir-diff (and don't crash)
+      status: fix display of rebase -ir's `label` command
+      parse-options: adjust `parse_opt_unknown_cb()`s declared return type
+      stash: document stash.useBuiltin
+
+Josh Steadmon (1):
+      commit-graph: fix memory leak
+
+Junio C Hamano (2):
+      pkt-line: drop 'const'-ness of a param to set_packet_header()
+      Git 2.22-rc1
+
+Mike Hommey (1):
+      Make fread/fwrite-like functions in http.c more like fread/fwrite.
+
+Nguyễn Thái Ngọc Duy (2):
+      parse-options: don't emit "ambiguous option" for aliases
+      submodule--helper: add a missing \n
+
+SZEDER Gábor (1):
+      ci: install 'libsvn-perl' instead of 'git-svn'
+
+Tanushree Tumane (1):
+      mingw: remove obsolete IPv6-related code
+
+Todd Zullinger (1):
+      test-lib: try harder to ensure a working jgit
+
+Ævar Arnfjörð Bjarmason (8):
+      perf README: correct docs for 3c8f12c96c regression
+      perf aggregate: remove GIT_TEST_INSTALLED from --codespeed
+      perf-lib.sh: make "./run <revisions>" use the correct gits
+      perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh
+      perf tests: add "bindir" prefix to git tree test results
+      perf-lib.sh: forbid the use of GIT_TEST_INSTALLED
+      trace2: fix up a missing "leave" entry point
+      sha1dc: update from upstream
+
+İsmail Dönmez (2):
+      mingw: do not let ld strip relocations
+      mingw: enable DEP and ASLR
+
+
+Version v2.22.0-rc0; changes since v2.21.4:
+-------------------------------------------
+
+Alban Gruin (18):
+      sequencer: changes in parse_insn_buffer()
+      sequencer: make the todo_list structure public
+      sequencer: remove the 'arg' field from todo_item
+      sequencer: refactor transform_todos() to work on a todo_list
+      sequencer: introduce todo_list_write_to_file()
+      sequencer: refactor check_todo_list() to work on a todo_list
+      sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
+      sequencer: refactor rearrange_squash() to work on a todo_list
+      sequencer: make sequencer_make_script() write its script to a strbuf
+      sequencer: change complete_action() to use the refactored functions
+      rebase--interactive: move sequencer_add_exec_commands()
+      rebase--interactive: move rearrange_squash_in_todo_file()
+      sequencer: refactor skip_unnecessary_picks() to work on a todo_list
+      rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
+      rebase-interactive: append_todo_help() changes
+      rebase-interactive: rewrite edit_todo_list() to handle the initial edit
+      sequencer: use edit_todo_list() in complete_action()
+      rebase--interactive: move transform_todo_file()
+
+Alexander Blesius (1):
+      doc: fix typos in man pages
+
+Alexander Shopov (1):
+      gitk: Update Bulgarian translation (317t)
+
+Anders Waldenborg (7):
+      doc: group pretty-format.txt placeholders descriptions
+      pretty: allow %(trailers) options with explicit value
+      pretty: single return path in %(trailers) handling
+      pretty: allow showing specific trailers
+      pretty: add support for "valueonly" option in %(trailers)
+      strbuf: separate callback for strbuf_expand:ing literals
+      pretty: add support for separator option in %(trailers)
+
+Andreas Heiduk (1):
+      revisions.txt: remove ambibuity between <rev>:<path> and :<path>
+
+Andrei Rybak (1):
+      t4150: remove unused variable
+
+Baruch Siach (1):
+      send-email: don't cc *-by lines with '-' prefix
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 12
+
+Ben Peart (1):
+      read-cache: add post-index-change hook
+
+Brandon Richardson (1):
+      commit-tree: utilize parse-options api
+
+Christian Couder (4):
+      t6050: use test_line_count instead of wc -l
+      t6050: redirect expected error output to a file
+      replace: peel tag when passing a tag as parent to --graft
+      replace: peel tag when passing a tag first to --graft
+
+Clément Chigot (2):
+      Makefile: use fileno macro work around on AIX
+      git-compat-util: work around for access(X_OK) under root
+
+Corentin BOMPARD (2):
+      doc/CodingGuidelines: URLs and paths as monospace
+      doc: format pathnames and URLs as monospace.
+
+Damien Robert (1):
+      ref-filter: use correct branch for %(push:track)
+
+Daniels Umanovskis (1):
+      branch: introduce --show-current display option
+
+David Aguilar (2):
+      mergetools: add support for smerge (Sublime Merge)
+      contrib/completion: add smerge to the mergetool completion candidates
+
+David Kastrup (1):
+      blame.c: don't drop origin blobs as eagerly
+
+Denton Liu (28):
+      completion: complete git submodule absorbgitdirs
+      git-submodule.txt: "--branch <branch>" option defaults to 'master'
+      submodule--helper: teach config subcommand --unset
+      submodule: document default behavior
+      git-reset.txt: clarify documentation
+      git-clean.txt: clarify ignore pattern files
+      docs: move core.excludesFile from git-add to gitignore
+      contrib/subtree: ensure only one rev is provided
+      midx.c: convert FLEX_ALLOC_MEM to FLEX_ALLOC_STR
+      cocci: FLEX_ALLOC_MEM to FLEX_ALLOC_STR
+      tag: fix formatting
+      submodule: teach set-branch subcommand
+      tag: advise on nested tags
+      t7600: clean up style
+      t3507: clean up style
+      t7604: clean up style
+      t7502: clean up style
+      commit: extract cleanup_mode functions to sequencer
+      parse-options.h: extract common --cleanup option
+      merge: cleanup messages like commit
+      merge: add scissors line on merge conflict
+      cherry-pick/revert: add scissors line on merge conflict
+      *.[ch]: remove extern from function declarations using spatch
+      *.[ch]: remove extern from function declarations using sed
+      *.[ch]: manually align parameter lists
+      revisions.txt: change "rev" to "<rev>"
+      revisions.txt: mark optional rev arguments with []
+      revisions.txt: mention <rev>~ form
+
+Derrick Stolee (1):
+      trace2:data: pack-objects: add trace2 regions
+
+Elijah Newren (22):
+      log,diff-tree: add --combined-all-paths option
+      merge-options.txt: correct wording of --no-commit option
+      t9300: demonstrate bug with get-mark and empty orphan commits
+      git-fast-import.txt: fix wording about where ls command can appear
+      fast-import: check most prominent commands first
+      fast-import: only allow cat-blob requests where it makes sense
+      fast-import: fix erroneous handling of get-mark with empty orphan commits
+      Use 'unsigned short' for mode, like diff_filespec does
+      merge-recursive: rename merge_options argument from 'o' to 'opt'
+      merge-recursive: rename diff_filespec 'one' to 'o'
+      merge-recursive: rename locals 'o' and 'a' to 'obuf' and 'abuf'
+      merge-recursive: use 'ci' for rename_conflict_info variable name
+      merge-recursive: move some struct declarations together
+      merge-recursive: shrink rename_conflict_info
+      merge-recursive: remove ren[12]_other fields from rename_conflict_info
+      merge-recursive: track branch where rename occurred in rename struct
+      merge-recursive: cleanup handle_rename_* function signatures
+      merge-recursive: switch from (oid,mode) pairs to a diff_filespec
+      t6043: fix copied test description to match its purpose
+      merge-recursive: track information associated with directory renames
+      merge-recursive: give callers of handle_content_merge() access to contents
+      merge-recursive: switch directory rename detection default
+
+Eric Wong (1):
+      repack: enable bitmaps by default on bare repos
+
+Jean-Noël Avila (2):
+      l10n: fr.po remove obsolete entries
+      Doc: fix misleading asciidoc formating
+
+Jeff Hostetler (29):
+      trace2: Documentation/technical/api-trace2.txt
+      trace2: create new combined trace facility
+      trace2: collect Windows-specific process information
+      trace2:data: add trace2 regions to wt-status
+      trace2:data: add editor/pager child classification
+      trace2:data: add trace2 sub-process classification
+      trace2:data: add trace2 transport child classification
+      trace2:data: add trace2 hook classification
+      trace2:data: add trace2 instrumentation to index read/write
+      trace2:data: add subverb to checkout command
+      trace2:data: add subverb to reset command
+      trace2:data: add subverb for rebase
+      trace2: t/helper/test-trace2, t0210.sh, t0211.sh, t0212.sh
+      trace2: add for_each macros to clang-format
+      progress: add sparse mode to force 100% complete message
+      trace2:data: add trace2 data to midx
+      midx: add progress indicators in multi-pack-index verify
+      midx: during verify group objects by packfile to speed verification
+      config: initialize opts structure in repo_read_config()
+      trace2: refactor setting process starting time
+      trace2: add absolute elapsed time to start event
+      trace2: find exec-dir before trace2 initialization
+      config: add read_very_early_config()
+      trace2: use system/global config for default trace2 settings
+      trace2: report peak memory usage of the process
+      trace2: clarify UTC datetime formatting
+      trace2: make SIDs more unique
+      trace2: update docs to describe system/global config settings
+      trace2: fixup access problem on /etc/gitconfig in read_very_early_config
+
+Jeff King (88):
+      prune: lazily perform reachability traversal
+      prune: use bitmaps for reachability traversal
+      prune: check SEEN flag for reachability
+      t5304: rename "sha1" variables to "oid"
+      diff: drop options parameter from diffcore_fix_diff_index()
+      diff: drop unused color reset parameters
+      diff: drop unused emit data parameter from sane_truncate_line()
+      diff: drop complete_rewrite parameter from run_external_diff()
+      merge-recursive: drop several unused parameters
+      pack-objects: drop unused parameter from oe_map_new_pack()
+      files-backend: drop refs parameter from split_symref_update()
+      ref-filter: drop unused buf/sz pairs
+      ref-filter: drop unused "obj" parameters
+      ref-filter: drop unused "sz" parameters
+      diff: reuse diff setup for --no-index case
+      bisect: use string arguments to feed internal diff-tree
+      bisect: fix internal diff-tree config loading
+      bisect: make diff-tree output prettier
+      fetch: avoid calling write_or_die()
+      fetch: ignore SIGPIPE during network operation
+      rev-list: allow cached objects in existence check
+      doc/fsck: clarify --connectivity-only behavior
+      fsck: always compute USED flags for unreachable objects
+      compat/bswap: add include header guards
+      config: document --type=color output is a complete line
+      line-log: suppress diff output with "-s"
+      line-log: detect unsupported formats
+      point pull requesters to GitGitGadget
+      Makefile: fix unaligned loads in sha1dc with UBSan
+      t5310: correctly remove bitmaps for jgit test
+      pack-objects: default to writing bitmap hash-cache
+      perf-lib.sh: rely on test-lib.sh for --tee handling
+      revision: drop some unused "revs" parameters
+      log: drop unused rev_info from early output
+      log: drop unused "len" from show_tagger()
+      update-index: drop unused prefix_length parameter from do_reupdate()
+      test-date: drop unused "now" parameter from parse_dates()
+      unpack-trees: drop name_entry from traverse_by_cache_tree()
+      unpack-trees: drop unused error_type parameters
+      report_path_error(): drop unused prefix parameter
+      fetch_pack(): drop unused parameters
+      parse-options: drop unused ctx parameter from show_gitcomp()
+      pretty: drop unused "type" parameter in needs_rfc2047_encoding()
+      pretty: drop unused strbuf from parse_padding_placeholder()
+      git: read local config in --list-cmds
+      completion: fix multiple command removals
+      parse_opt_ref_sorting: always use with NONEG flag
+      refs/files-backend: handle packed transaction prepare failure
+      refs/files-backend: don't look at an aborted transaction
+      http: factor out curl result code normalization
+      http: normalize curl results for dumb loose and alternates fetches
+      http: use normalize_curl_result() instead of manual conversion
+      revision: use a prio_queue to hold rewritten parents
+      get_commit_tree(): return NULL for broken tree
+      rev-list: let traversal die when --missing is not in use
+      rev-list: detect broken root trees
+      test-prio-queue: use xmalloc
+      xdiff: use git-compat-util
+      xdiff: use xmalloc/xrealloc
+      progress: use xmalloc/xcalloc
+      t5516: drop ok=sigpipe from unreachable-want tests
+      t5530: check protocol response for "not our ref"
+      upload-pack: send ERR packet for non-tip objects
+      pkt-line: prepare buffer before handling ERR packets
+      fetch: use free_refs()
+      remote.c: make singular free_ref() public
+      fetch: do not consider peeled tags as advertised tips
+      packfile.h: drop extern from function declarations
+      pack-revindex: open index if necessary
+      t5319: fix bogus cat-file argument
+      t5319: drop useless --buffer from cat-file
+      midx: check both pack and index names for containment
+      packfile: fix pack basename computation
+      http: simplify parsing of remote objects/info/packs
+      server-info: fix blind pointer arithmetic
+      server-info: simplify cleanup in parse_pack_def()
+      server-info: use strbuf to read old info/packs file
+      server-info: drop nr_alloc struct member
+      server-info: drop objdirlen pointer arithmetic
+      update_info_refs(): drop unused force parameter
+      t5304: add a test for pruning with bitmaps
+      untracked-cache: be defensive about missing NULs in index
+      untracked-cache: simplify parsing by dropping "next"
+      untracked-cache: simplify parsing by dropping "len"
+      p5302: create the repo in each index-pack test
+      doc/ls-files: put nested list for "-t" option into block
+      t/perf: depend on perl JSON only when using --codespeed
+      t/perf: add perf script for partial clones
+
+Jiang Xin (4):
+      t5323: test cases for git-pack-redundant
+      pack-redundant: delay creation of unique_objects
+      pack-redundant: rename pack_list.all_objects
+      pack-redundant: consistent sort method
+
+Joel Teichroeb (5):
+      stash: improve option parsing test coverage
+      stash: convert apply to builtin
+      stash: convert drop and clear to builtin
+      stash: convert branch to builtin
+      stash: convert pop to builtin
+
+Joey Hess (1):
+      convert: avoid malloc of original file size
+
+Johannes Schindelin (55):
+      ident: add the ability to provide a "fallback identity"
+      travis: remove the hack to build the Windows job on Azure Pipelines
+      tests: let --stress-limit=<N> imply --stress
+      tests: introduce --stress-jobs=<N>
+      built-in rebase: no need to check out `onto` twice
+      built-in rebase: use the correct reflog when switching branches
+      built-in rebase: demonstrate that ORIG_HEAD is not set correctly
+      built-in rebase: set ORIG_HEAD just once, before the rebase
+      Makefile: use `git ls-files` to list header files, if possible
+      curl: anonymize URLs in error messages and warnings
+      remote-curl: mark all error messages for translation
+      stash: add back the original, scripted `git stash`
+      stash: optionally use the scripted version again
+      tests: add a special setup where stash.useBuiltin is off
+      legacy stash: fix "rudimentary backport of -q"
+      built-in stash: handle :(glob) pathspecs again
+      mingw: drop MakeMaker reference
+      mingw: allow building with an MSYS2 runtime v3.x
+      rebase: deprecate --preserve-merges
+      mingw: respect core.hidedotfiles = false in git-init again
+      test-lib: introduce 'test_atexit'
+      git-daemon: use 'test_atexit` to stop 'git-daemon'
+      git p4 test: use 'test_atexit' to kill p4d and the watchdog process
+      rebase -i: demonstrate obscure loose object cache bug
+      sequencer: improve error message when an OID could not be parsed
+      sequencer: move stale comment into correct location
+      get_oid(): when an object was not found, try harder
+      difftool: remove obsolete (and misleading) comment
+      parse-options: make OPT_ARGUMENT() more useful
+      difftool: allow running outside Git worktrees with --no-index
+      docs: move gitremote-helpers into section 7
+      docs: do not document the `git remote-testgit` command
+      check-docs: really look at the documented commands again
+      check-docs: do not expect guide pages to correspond to commands
+      check-docs: fix for setups where executables have an extension
+      tests (rebase): spell out the `--keep-empty` option
+      tests (rebase): spell out the `--force-rebase` option
+      t7810: do not abbreviate `--no-exclude-standard` nor `--invert-match`
+      t5531: avoid using an abbreviated option
+      tests (push): do not abbreviate the `--follow-tags` option
+      tests (status): spell out the `--find-renames` option in full
+      tests (pack-objects): use the full, unabbreviated `--revs` option
+      t3301: fix false negative
+      untracked cache: fix off-by-one
+      tests: disallow the use of abbreviated options (by default)
+      t9822: skip tests if file names cannot be ISO-8859-1 encoded
+      macOS: make sure that gettext is found
+      remote-testgit: move it into the support directory for t5801
+      Makefile: drop the NO_INSTALL variable
+      help -a: do not list commands that are excluded from the build
+      check-docs: allow command-list.txt to contain excluded commands
+      docs: exclude documentation for commands that have been excluded
+      check-docs: do not bother checking for legacy scripts' documentation
+      test-tool: handle the `-C <directory>` option just like `git`
+      Turn `git serve` into a test helper
+
+Jonathan Tan (24):
+      remote-curl: reduce scope of rpc_state.argv
+      remote-curl: reduce scope of rpc_state.stdin_preamble
+      remote-curl: reduce scope of rpc_state.result
+      remote-curl: refactor reading into rpc_state's buf
+      remote-curl: use post_rpc() for protocol v2 also
+      tests: define GIT_TEST_PROTOCOL_VERSION
+      t5601: check ssh command only with protocol v0
+      tests: always test fetch of unreachable with v0
+      t5503: fix overspecification of trace expectation
+      t5512: compensate for v0 only sending HEAD symrefs
+      t5700: only run with protocol version 1
+      tests: fix protocol version for overspecifications
+      t5552: compensate for v2 filtering ref adv.
+      submodule: explain first attempt failure clearly
+      t5551: mark half-auth no-op fetch test as v0-only
+      fetch-pack: call prepare_shallow_info only if v0
+      fetch-pack: respect --no-update-shallow in v2
+      sha1-file: support OBJECT_INFO_FOR_PREFETCH
+      fetch-pack: binary search when storing wanted-refs
+      diff: batch fetching of missing blobs
+      pack-objects: write objects packed to trace2
+      transport: die if server options are unsupported
+      clone: send server options when using protocol v2
+      worktree: update is_bare heuristics
+
+Jordi Mas (1):
+      l10n: Fixes to Catalan translation
+
+Josh Steadmon (4):
+      protocol-capabilities.txt: document symref
+      trace2: write to directory targets
+      clone: do faster object check for partial clones
+      trace2: fix incorrect function pointer check
+
+Junio C Hamano (14):
+      test: caution on our version of 'yes'
+      builtin/log: downcase the beginning of error messages
+      format-patch: notice failure to open cover letter for writing
+      Start 2.22 cycle
+      The second batch
+      The third batch
+      The fourth batch
+      gettext tests: export the restored GIT_TEST_GETTEXT_POISON
+      The fifth batch
+      The sixth batch
+      Makefile: dedup list of files obtained from ls-files
+      The seventh batch
+      The eighth batch
+      Git 2.22-rc0
+
+Kyle Meyer (5):
+      rebase docs: fix "gitlink" typo
+      submodule: refuse to add repository with no commits
+      dir: do not traverse repositories with no commits
+      add: error appropriately on repository with no commits
+      t3000 (ls-files -o): widen description to reflect current tests
+
+Martin Ågren (14):
+      setup: free old value before setting `work_tree`
+      setup: fix memory leaks with `struct repository_format`
+      config/diff.txt: drop spurious backtick
+      config/fsck.txt: avoid starting line with dash
+      git.txt: remove empty line before list continuation
+      git-svn.txt: drop escaping '\' that ends up being rendered
+      Documentation: turn middle-of-line tabs into spaces
+      Documentation/Makefile: add missing xsl dependencies for manpages
+      Documentation/Makefile: add missing dependency on asciidoctor-extensions
+      asciidoctor-extensions: fix spurious space after linkgit
+      Doc: auto-detect changed build flags
+      doc-diff: let `render_tree()` take an explicit directory name
+      doc-diff: support diffing from/to AsciiDoc(tor)
+      doc-diff: add `--cut-header-footer`
+
+Matthew Kraai (1):
+      t3903: add test for --intent-to-add file
+
+Michal Suchanek (1):
+      worktree: fix worktree add race
+
+Mike Hommey (1):
+      fix pack protocol example client/server communication
+
+Nguyễn Thái Ngọc Duy (124):
+      parse-options.h: remove extern on function prototypes
+      parse-options: add one-shot mode
+      parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN
+      parse-options: add OPT_BITOP()
+      parse-options: stop abusing 'callback' for lowlevel callbacks
+      parse-options: avoid magic return codes
+      parse-options: allow ll_callback with OPTION_CALLBACK
+      diff.h: keep forward struct declarations sorted
+      diff.h: avoid bit fields in struct diff_flags
+      diff.c: prepare to use parse_options() for parsing
+      diff.c: convert -u|-p|--patch
+      diff.c: convert -U|--unified
+      diff.c: convert -W|--[no-]function-context
+      diff.c: convert --raw
+      read-cache.c: fix writing "link" index ext with null base oid
+      completion: add more parameter value completion
+      diff-parseopt: convert --patch-with-raw
+      diff-parseopt: convert --numstat and --shortstat
+      diff-parseopt: convert --dirstat and friends
+      diff-parseopt: convert --check
+      diff-parseopt: convert --summary
+      diff-parseopt: convert --patch-with-stat
+      diff-parseopt: convert --name-only
+      diff-parseopt: convert --name-status
+      diff-parseopt: convert -s|--no-patch
+      diff-parseopt: convert --stat*
+      diff-parseopt: convert --[no-]compact-summary
+      diff-parseopt: convert --output-*
+      diff-parseopt: convert -B|--break-rewrites
+      diff-parseopt: convert -M|--find-renames
+      diff-parseopt: convert -D|--irreversible-delete
+      diff-parseopt: convert -C|--find-copies
+      diff-parseopt: convert --find-copies-harder
+      diff-parseopt: convert --no-renames|--[no--rename-empty
+      diff-parseopt: convert --relative
+      diff-parseopt: convert --[no-]minimal
+      diff-parseopt: convert --ignore-some-changes
+      Delete check-racy.c
+      diff-parseopt: convert --[no-]indent-heuristic
+      diff-parseopt: convert --patience
+      diff-parseopt: convert --histogram
+      diff-parseopt: convert --diff-algorithm
+      diff-parseopt: convert --anchored
+      diff-parseopt: convert --binary
+      diff-parseopt: convert --full-index
+      diff-parseopt: convert -a|--text
+      diff-parseopt: convert -R
+      diff-parseopt: convert --[no-]follow
+      diff-parseopt: convert --[no-]color
+      diff-parseopt: convert --word-diff
+      diff-parseopt: convert --word-diff-regex
+      diff-parseopt: convert --color-words
+      diff-parseopt: convert --exit-code
+      diff-parseopt: convert --quiet
+      diff-parseopt: convert --ext-diff
+      diff-parseopt: convert --textconv
+      diff-parseopt: convert --ignore-submodules
+      diff-parseopt: convert --submodule
+      files-backend.c: factor out per-worktree code in loose_fill_ref_dir()
+      files-backend.c: reduce duplication in add_per_worktree_entries_to_dir()
+      Make sure refs/rewritten/ is per-worktree
+      unpack-trees: fix oneway_merge accidentally carry over stage index
+      checkout.txt: note about losing staged changes with --merge
+      commit: improve error message in "-a <paths>" case
+      unpack-trees: keep gently check inside add_rejected_path
+      unpack-trees: rename "gently" flag to "quiet"
+      read-tree: add --quiet
+      checkout: prevent losing staged changes with --merge
+      diff-parseopt: convert --ws-error-highlight
+      diff-parseopt: convert --ita-[in]visible-in-index
+      diff-parseopt: convert -z
+      diff-parseopt: convert -l
+      diff-parseopt: convert -S|-G
+      diff-parseopt: convert --pickaxe-all|--pickaxe-regex
+      diff-parseopt: convert -O
+      diff-parseopt: convert --find-object
+      diff-parseopt: convert --diff-filter
+      diff-parseopt: convert --[no-]abbrev
+      diff-parseopt: convert --[src|dst]-prefix
+      diff-parseopt: convert --line-prefix
+      diff-parseopt: convert --no-prefix
+      diff-parseopt: convert --inter-hunk-context
+      diff-parseopt: convert --[no-]color-moved
+      diff-parseopt: convert --color-moved-ws
+      diff.c: allow --no-color-moved-ws
+      range-diff: use parse_options() instead of diff_opt_parse()
+      diff --no-index: use parse_options() instead of diff_opt_parse()
+      am: avoid diff_opt_parse()
+      config: correct '**' matching in includeIf patterns
+      interpret-trailers.txt: start the desc line with a capital letter
+      read-tree.txt: clarify --reset and worktree changes
+      packfile.c: add repo_approximate_object_count()
+      refs.c: add refs_ref_exists()
+      refs.c: add refs_shorten_unambiguous_ref()
+      refs.c: remove the_repo from substitute_branch_name()
+      refs.c: remove the_repo from expand_ref()
+      refs.c: add repo_dwim_ref()
+      refs.c: add repo_dwim_log()
+      refs.c: remove the_repo from read_ref_at()
+      submodule foreach: fix "<command> --quiet" not being respected
+      commit.cocci: refactor code, avoid double rewrite
+      commit.c: add repo_get_commit_tree()
+      sha1-name.c: remove the_repo from sort_ambiguous()
+      sha1-name.c: remove the_repo from find_abbrev_len_packed()
+      sha1-name.c: add repo_find_unique_abbrev_r()
+      sha1-name.c: store and use repo in struct disambiguate_state
+      sha1-name.c: add repo_for_each_abbrev()
+      sha1-name.c: remove the_repo from get_short_oid()
+      sha1-name.c: remove the_repo from interpret_nth_prior_checkout()
+      sha1-name.c: remove the_repo from interpret_branch_mark()
+      sha1-name.c: add repo_interpret_branch_name()
+      sha1-name.c: remove the_repo from get_oid_oneline()
+      sha1-name.c: remove the_repo from get_describe_name()
+      sha1-name.c: remove the_repo from get_oid_basic()
+      sha1-name.c: remove the_repo from get_oid_1()
+      sha1-name.c: remove the_repo from handle_one_ref()
+      sha1-name.c: remove the_repo from diagnose_invalid_index_path()
+      sha1-name.c: remove the_repo from resolve_relative_path()
+      sha1-name.c: remove the_repo from get_oid_with_context_1()
+      sha1-name.c: add repo_get_oid()
+      submodule-config.c: use repo_get_oid for reading .gitmodules
+      sha1-name.c: remove the_repo from maybe_die_on_misspelt_object_name
+      sha1-name.c: remove the_repo from other get_oid_*
+      sha1-name.c: remove the_repo from get_oid_mb()
+
+Paul-Sebastian Ungureanu (17):
+      sha1-name.c: add `get_oidf()` which acts like `get_oid()`
+      strbuf.c: add `strbuf_join_argv()`
+      strbuf.c: add `strbuf_insertf()` and `strbuf_vinsertf()`
+      t3903: modernize style
+      stash: rename test cases to be more descriptive
+      stash: add tests for `git stash show` config
+      stash: mention options in `show` synopsis
+      stash: convert list to builtin
+      stash: convert show to builtin
+      stash: convert store to builtin
+      stash: convert create to builtin
+      stash: convert push to builtin
+      stash: make push -q quiet
+      stash: convert save to builtin
+      stash: optimize `get_untracked_files()` and `check_changes()`
+      stash: replace all `write-tree` child processes with API calls
+      stash: convert `stash--helper.c` into `stash.c`
+
+Philip Oakley (2):
+      rerere doc: quote `rerere.enabled`
+      describe doc: remove '7-char' abbreviation reference
+
+Phillip Wood (21):
+      am/cherry-pick/rebase/revert: document --rerere-autoupdate
+      merge: tweak --rerere-autoupdate documentation
+      sequencer: break some long lines
+      cherry-pick: demonstrate option amnesia
+      cherry-pick --continue: remember options
+      commit/reset: try to clean up sequencer state
+      fix cherry-pick/revert status after commit
+      sequencer: fix cleanup with --signoff and -x
+      sequencer.c: save and restore cleanup mode
+      sequencer: always discard index after checkout
+      rebase: don't translate trace strings
+      rebase: rename write_basic_state()
+      rebase: use OPT_RERERE_AUTOUPDATE()
+      rebase -i: combine rebase--interactive.c with rebase.c
+      rebase -i: remove duplication
+      rebase -i: use struct commit when parsing options
+      rebase -i: use struct object_id for squash_onto
+      rebase -i: use struct rebase_options to parse args
+      rebase -i: use struct rebase_options in do_interactive_rebase()
+      rebase: use a common action enum
+      rebase -i: run without forking rebase--interactive
+
+Ramsay Jones (2):
+      prune-packed: check for too many arguments
+      Makefile: fix 'hdr-check' when GCRYPT not installed
+
+René Scharfe (1):
+      get-tar-commit-id: parse comment record
+
+Robert P. J. Day (3):
+      mention use of "hooks.allownonascii" in "man githooks"
+      docs/git-gc: fix typo "--prune=all" to "--prune=now"
+      attr.c: ".gitattribute" -> ".gitattributes" (comments)
+
+Rohit Ashiwal (3):
+      test functions: add function `test_file_not_empty`
+      t3600: modernize style
+      t3600: use helpers to replace test -d/f/e/s <path>
+
+SZEDER Gábor (23):
+      test-lib: fix interrupt handling with 'dash' and '--verbose-log -x'
+      t/lib-git-daemon: make sure to kill the 'git-daemon' process
+      tests: use 'test_atexit' to stop httpd
+      t0301-credential-cache: use 'test_atexit' to stop the credentials helper
+      git p4 test: clean up the p4d cleanup functions
+      git p4 test: simplify timeout handling
+      git p4 test: disable '-x' tracing in the p4d watchdog loop
+      t9811-git-p4-label-import: fix pipeline negation
+      t5318-commit-graph: remove unused variable
+      Documentation/git-diff-tree.txt: fix formatting
+      Documentation/technical/api-config.txt: fix formatting
+      Documentation/technical/protocol-v2.txt: fix formatting
+      ci: install Asciidoctor in 'ci/install-dependencies.sh'
+      index-pack: show progress while checking objects
+      ci: stick with Asciidoctor v1.5.8 for now
+      ci: fix AsciiDoc/Asciidoctor stderr check in the documentation build job
+      progress: make display_progress() return void
+      progress: assemble percentage and counters in a strbuf before printing
+      blame: default to HEAD in a bare repo when no start commit is given
+      builtin rebase: use FREE_AND_NULL
+      builtin rebase: use oideq()
+      progress: clear previous progress update dynamically
+      progress: break too long progress bar lines
+
+Sun Chao (2):
+      pack-redundant: delete redundant code
+      pack-redundant: new algorithm to find min packs
+
+Sven Strickroth (1):
+      MSVC: include compat/win32/path-utils.h for MSVC, too, for real_path()
+
+Taylor Blau (4):
+      t: move 'hex2oct' into test-lib-functions.sh
+      t: introduce tests for unexpected object types
+      list-objects.c: handle unexpected non-blob entries
+      list-objects.c: handle unexpected non-tree entries
+
+Thomas Gummerer (15):
+      move worktree tests to t24*
+      entry: factor out unlink_entry function
+      entry: support CE_WT_REMOVE flag in checkout_entry
+      read-cache: add invalidate parameter to remove_marked_cache_entries
+      checkout: clarify comment
+      checkout: factor out mark_cache_entry_for_checkout function
+      checkout: introduce --{,no-}overlay option
+      checkout: introduce checkout.overlayMode config
+      revert "checkout: introduce checkout.overlayMode config"
+      ident: don't require calling prepare_fallback_ident first
+      stash: drop unused parameter
+      stash: pass pathspec as pointer
+      glossary: add definition for overlay
+      stash: setup default diff output format if necessary
+      ls-files: use correct format string
+
+Todd Zullinger (7):
+      t4038-diff-combined: quote paths with whitespace
+      t9902: test multiple removals via completion.commands
+      completion: use __git when calling --list-cmds
+      Documentation/rev-list-options: wrap --date=<format> block with "--"
+      Documentation/git-status: fix titles in porcelain v2 section
+      Documentation/git-svn: improve asciidoctor compatibility
+      Documentation/git-show-branch: avoid literal {apostrophe}
+
+Torsten Bögershausen (1):
+      trace2: NULL is not allowed for va_list
+
+Trần Ngọc Quân (1):
+      l10n: Updated Vietnamese translation for v2.21 rd2
+
+Vadim Kochan (1):
+      autoconf: #include <libintl.h> when checking for gettext()
+
+William Hubbs (1):
+      config: allow giving separate author and committer idents
+
+Yash Bhatambare (1):
+      gitattributes.txt: fix typo
+
+brian m. carlson (35):
+      t/lib-submodule-update: use appropriate length constant
+      khash: move oid hash table definition
+      pack-bitmap: make bitmap header handling hash agnostic
+      pack-bitmap: convert struct stored_bitmap to object_id
+      pack-bitmap: replace sha1_to_hex
+      pack-bitmap: switch hard-coded constants to the_hash_algo
+      pack-bitmap: switch hash tables to use struct object_id
+      submodule: avoid hard-coded constants
+      notes-merge: switch to use the_hash_algo
+      notes: make hash size independent
+      notes: replace sha1_to_hex
+      object-store: rename and expand packed_git's sha1 member
+      builtin/name-rev: make hash-size independent
+      fast-import: make hash-size independent
+      fast-import: replace sha1_to_hex
+      builtin/am: make hash size independent
+      builtin/pull: make hash-size independent
+      http-push: convert to use the_hash_algo
+      http-backend: allow 64-character hex names
+      http-push: remove remaining uses of sha1_to_hex
+      http-walker: replace sha1_to_hex
+      http: replace hard-coded constant with the_hash_algo
+      http: compute hash of downloaded objects using the_hash_algo
+      http: replace sha1_to_hex
+      remote-curl: make hash size independent
+      hash: add a function to lookup hash algorithm by length
+      builtin/get-tar-commit-id: make hash size independent
+      archive: convert struct archiver_args to object_id
+      refspec: make hash size independent
+      builtin/difftool: use parse_oid_hex
+      dir: make untracked cache extension hash size independent
+      read-cache: read data in a hash-independent way
+      Git.pm: make hash size independent
+      gitweb: make hash size independent
+      send-email: default to quoted-printable when CR is present
+
+Ævar Arnfjörð Bjarmason (36):
+      receive-pack: fix use-after-free bug
+      commit-graph tests: split up corrupt_graph_and_verify()
+      commit-graph tests: test a graph that's too small
+      Makefile: remove an out-of-date comment
+      Makefile: move "strip" assignment down from flags
+      Makefile: add/remove comments at top and tweak whitespace
+      Makefile: Move *_LIBS assignment into its own section
+      Makefile: move the setting of *FLAGS closer to "include"
+      Makefile: allow for combining DEVELOPER=1 and CFLAGS="..."
+      gc: remove redundant check for gc_auto_threshold
+      gc: convert to using the_hash_algo
+      gc: refactor a "call me once" pattern
+      reflog tests: make use of "test_config" idiom
+      reflog tests: test for the "points nowhere" warning
+      rebase: remove the rebase.useBuiltin setting
+      gc docs: modernize the advice for manually running "gc"
+      gc docs: stop noting "repack" flags
+      gc docs: clean grammar for "gc.bigPackThreshold"
+      commit-graph: fix segfault on e.g. "git status"
+      commit-graph: don't early exit(1) on e.g. "git status"
+      commit-graph: don't pass filename to load_commit_graph_one_fd_st()
+      commit-graph verify: detect inability to read the graph
+      commit-graph write: don't die if the existing graph is corrupt
+      commit-graph: improve & i18n error messages
+      reflog tests: assert lack of early exit with expiry="never"
+      gc: handle & check gc.reflogExpire config
+      test-lib: whitelist GIT_TR2_* in the environment
+      gc docs: include the "gc.*" section from "config" in "gc"
+      gc docs: re-flow the "gc.*" section in "config"
+      gc docs: fix formatting for "gc.writeCommitGraph"
+      gc docs: note how --aggressive impacts --window & --depth
+      gc docs: downplay the usefulness of --aggressive
+      gc docs: note "gc --aggressive" in "fast-import"
+      gc docs: clarify that "gc" doesn't throw away referenced objects
+      gc docs: remove incorrect reference to gc.auto=0
+      trace2: fix up a missing "leave" entry point
+
+
+Version v2.21.4; changes since v2.21.3:
+---------------------------------------
+
+Johannes Schindelin (6):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+      Git 2.21.4
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.21.3; changes since v2.21.2:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.21.2; changes since v2.21.1:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.21.1; changes since v2.21.0:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (33):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
+      Git 2.20.2
+      mingw: detect when MSYS2's sh is to be spawned more robustly
+      mingw: use MSYS2 quoting even when spawning shell scripts
+      mingw: fix quoting of empty arguments for `sh`
+      t7415: drop v2.20.x-specific work-around
+      mingw: sh arguments need quoting in more circumstances
+      Git 2.21.1
+
+Jonathan Nieder (3):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+      submodule: defend against submodule.update = !command in .gitmodules
+
+
+Version v2.21.0; changes since v2.21.0-rc2:
+-------------------------------------------
+
+Alessandro Menti (1):
+      l10n: it: update the Italian translation
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (4363t)
+
+Christopher Díaz Riveros (1):
+      l10n: es: 2.21.0 round 2
+
+Fabien Villepinte (2):
+      l10n: fr.po Fix some typos
+      l10n: fr.po Fix some typos from round3
+
+Fangyi Zhou (1):
+      l10n: zh_CN: Revision for git v2.21.0 l10n
+
+Jean-Noël Avila (1):
+      l10n: fr.po v2.21.0 rnd 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.21.0 round 1 (214 new, 38 removed)
+      l10n: git.pot: v2.21.0 round 2 (3 new, 3 removed)
+      l10n: zh_CN: for git v2.21.0 l10n round 1~2
+
+Jimmy Angelakos (1):
+      l10n: el: add Greek l10n team and essential translations
+
+Johannes Schindelin (1):
+      README: adjust for final Azure Pipeline ID
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Fixes to Catalan translation
+
+Junio C Hamano (1):
+      Git 2.21
+
+Nguyễn Thái Ngọc Duy (1):
+      l10n: bg.po: correct typo
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (4363t0f0u)
+
+Ralf Thielow (1):
+      l10n: update German translation
+
+Sebastian Staudt (3):
+      l10n: de.po: consistent translation of 'root commit'
+      l10n: de.po: fix a message for index-pack.c
+      l10n: de.po: fix grammar in message for tag.c
+
+Yoichi Nakayama (1):
+      checkout doc: fix an unmatched double-quote pair
+
+Zhilei Han (1):
+      l10n: zh_CN: fix typo of submodule init message
+
+Ævar Arnfjörð Bjarmason (3):
+      tests: avoid syntax triggering old dash bug
+      tests: fix unportable "\?" and "\+" regex syntax
+      commit-graph tests: fix unportable "dd" invocation
+
+
+Version v2.21.0-rc2; changes since v2.21.0-rc1:
+-----------------------------------------------
+
+Elijah Newren (1):
+      git-rebase.txt: update to reflect merge now implemented on sequencer
+
+Emilio Cobos Álvarez (1):
+      docs/git-rebase: remove redundant entry in incompatible options list
+
+Johannes Schindelin (2):
+      mingw: safe-guard a bit more against getenv() problems
+      tests: teach the test-tool to generate NUL bytes and use it
+
+Junio C Hamano (3):
+      t1404: do not rely on the exact phrasing of strerror()
+      Revert "t5562: replace /dev/zero with a pipe from generate_zero_bytes"
+      Git 2.21-rc2
+
+Max Kirillov (2):
+      t5562: do not depend on /dev/zero
+      t5562: do not reuse output files
+
+Todd Zullinger (1):
+      t/lib-httpd: pass GIT_TEST_SIDEBAND_ALL through Apache
+
+
+Version v2.21.0-rc1; changes since v2.21.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      Makefile: add coverage-prove target
+
+Jean-Noël Avila (1):
+      Fix typos in translatable strings for v2.21.0
+
+Jeff King (4):
+      remote-curl: refactor smart-http discovery
+      remote-curl: tighten "version 2" check for smart-http
+      RelNotes/2.21: tweak "--date=auto" mention
+      RelNotes/2.21: misc typo/English fixups
+
+Johannes Schindelin (4):
+      Revert "rebase: introduce a shortcut for --reschedule-failed-exec"
+      mingw: fix CPU reporting in `git version --build-options`
+      .mailmap: map Clemens Buchacher's mail addresses
+      mingw: use a more canonical method to fix the CPU reporting
+
+Josh Steadmon (3):
+      t5551: test server-side ERR packet
+      fuzz-commit-graph: initialize repo object
+      object: fix leak of shallow_stat
+
+Junio C Hamano (3):
+      ci: clear and mark MAKEFLAGS exported just once
+      Seventh batch for 2.21
+      Git 2.21-rc1
+
+Katrin Leinweber (1):
+      doc: prevent overflowing <code> tag in rendered HTML
+
+Kevin Daudt (1):
+      t0028: fix wrong octal values for BOM in setup
+
+Luke Diamand (1):
+      git-p4: remove ticket expiry test
+
+Nguyễn Thái Ngọc Duy (5):
+      checkout: update count-checkouts messages
+      checkout: count and print -m paths separately
+      imap-send.c: add a missing space in error message
+      git-compat-util: work around fileno(fp) that is a macro
+      get_oid_with_context(): match prototype and implementation
+
+Ramsay Jones (1):
+      sequencer: make sign_off_header a file local symbol
+
+Randall S. Becker (6):
+      t5403: correct bash ambiguous redirect error in subtest 8 by quoting $GIT_DIR
+      config.mak.uname: add FREAD_READS_DIRECTORIES for NonStop platform
+      test-lib-functions.sh: add generate_zero_bytes function
+      t5318: replace use of /dev/zero with generate_zero_bytes
+      t5562: replace /dev/zero with a pipe from generate_zero_bytes
+      config.mak.uname: move location of bash on NonStop to CoreUtils
+
+SZEDER Gábor (3):
+      ci: make sure we build Git parallel
+      test-lib: make '--stress' more bisect-friendly
+      test-lib: fix non-portable pattern bracket expressions
+
+Todd Zullinger (2):
+      t/lib-gpg: quote path to ${GNUPGHOME}/trustlist.txt
+      t/lib-gpg: drop redundant killing of gpg-agent
+
+brian m. carlson (1):
+      utf8: handle systems that don't write BOM for UTF-16
+
+Ævar Arnfjörð Bjarmason (1):
+      rebase: fix regression in rebase.useBuiltin=false test mode
+
+
+Version v2.21.0-rc0; changes since v2.20.5:
+-------------------------------------------
+
+Arti Zirk (1):
+      git-instaweb: add Python builtin http.server support
+
+Ben Peart (2):
+      checkout: add test demonstrating regression with checkout -b on initial commit
+      checkout: fix regression in checkout -b on intitial checkout
+
+Brandon Richardson (1):
+      commit-tree: add missing --gpg-sign flag
+
+Brandon Williams (1):
+      mailmap: update brandon williams's email address
+
+Carlo Marcelo Arenas Belón (4):
+      t6036: avoid non-portable "cp -a"
+      tests: add lint for non portable cp -a
+      t5004: avoid using tar for empty packages
+      config.mak.uname: OpenBSD uses BSD semantics with fread for directories
+
+Chayoung You (3):
+      zsh: complete unquoted paths with spaces correctly
+      completion: treat results of git ls-tree as file paths
+      completion: fix typo in git-completion.bash
+
+Christian Couder (3):
+      fetch: fix extensions.partialclone name in error message
+      partial-clone: add missing 'is' in doc
+      helper/test-ref-store: fix "new-sha1" vs "old-sha1" typo
+
+David Turner (1):
+      Do not print 'dangling' for cat-file in case of ambiguity
+
+Denis Ovsienko (1):
+      docs: fix $strict_export text in gitweb.conf.txt
+
+Derrick Stolee (8):
+      merge-recursive: combine error handling
+      commit-graph: writing missing parents is a BUG
+      git-gc.txt: fix typo about gc.writeCommitGraph
+      revision: add mark_tree_uninteresting_sparse
+      list-objects: consume sparse tree walk
+      revision: implement sparse algorithm
+      pack-objects: create pack.useSparse setting
+      pack-objects: create GIT_TEST_PACK_SPARSE
+
+Elijah Newren (30):
+      t6042: add tests for consistency in file collision conflict handling
+      t6036, t6042: testcases for rename collision of already conflicting files
+      merge-recursive: increase marker length with depth of recursion
+      merge-recursive: new function for better colliding conflict resolutions
+      merge-recursive: fix rename/add conflict handling
+      merge-recursive: improve handling for rename/rename(2to1) conflicts
+      merge-recursive: use handle_file_collision for add/add conflicts
+      merge-recursive: improve rename/rename(1to2)/add[/add] handling
+      t6036, t6043: increase code coverage for file collision handling
+      fast-export: convert sha1 to oid
+      git-fast-import.txt: fix documentation for --quiet option
+      git-fast-export.txt: clarify misleading documentation about rev-list args
+      fast-export: use value from correct enum
+      fast-export: avoid dying when filtering by paths and old tags exist
+      fast-export: move commit rewriting logic into a function for reuse
+      fast-export: when using paths, avoid corrupt stream with non-existent mark
+      fast-export: ensure we export requested refs
+      fast-export: add --reference-excluded-parents option
+      fast-import: remove unmaintained duplicate documentation
+      fast-export: add a --show-original-ids option to show original names
+      git-rebase.txt: update note about directory rename detection and am
+      rebase: make builtin and legacy script error messages the same
+      rebase: fix incompatible options error message
+      t5407: add a test demonstrating how interactive handles --skip differently
+      am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
+      git-rebase, sequencer: extend --quiet option for the interactive machinery
+      git-legacy-rebase: simplify unnecessary triply-nested if
+      rebase: define linearization ordering and enforce it
+      rebase: implement --merge via the interactive machinery
+      git-show-ref.txt: fix order of flags
+
+Eric Sunshine (1):
+      doc/config: do a better job of introducing 'worktree.guessRemote'
+
+Eric Wong (2):
+      banned.h: mark strncat() as banned
+      t1512: test ambiguous cat-file --batch and --batch-output
+
+Erin Dahlgren (1):
+      Simplify handling of setup_git_directory_gently() failure cases.
+
+Force Charlie (1):
+      http: add support selecting http version
+
+Frank Dana (1):
+      docs/gitweb.conf: config variable typo
+
+Issac Trotts (1):
+      log: add %S option (like --source) to log --format
+
+Jean-Noël Avila (2):
+      Documentation/Makefile add optional targets for l10n
+      doc: tidy asciidoc style
+
+Jeff King (50):
+      fsck: do not reuse child_process structs
+      submodule--helper: prefer strip_suffix() to ends_with()
+      rename "alternate_object_database" to "object_directory"
+      sha1_file_name(): overwrite buffer instead of appending
+      handle alternates paths the same as the main object dir
+      sha1-file: use an object_directory for the main object dir
+      object-store: provide helpers for loose_objects_cache
+      sha1-file: use loose object cache for quick existence check
+      fetch-pack: drop custom loose object cache
+      odb_load_loose_cache: fix strbuf leak
+      transport-helper: drop read/write errno checks
+      sha1-file: fix outdated sha1 comment references
+      update comment references to sha1_object_info()
+      http: use struct object_id instead of bare sha1
+      sha1-file: modernize loose object file functions
+      sha1-file: modernize loose header/stream functions
+      sha1-file: convert pass-through functions to object_id
+      convert has_sha1_file() callers to has_object_file()
+      sha1-file: drop has_sha1_file()
+      sha1-file: prefer "loose object file" to "sha1 file" in messages
+      sha1-file: avoid "sha1 file" for generic use in messages
+      prefer "hash mismatch" to "sha1 mismatch"
+      upload-pack: support hidden refs with protocol v2
+      remote: check config validity before creating rewrite struct
+      get_super_prefix(): copy getenv() result
+      commit: copy saved getenv() result
+      config: make a copy of $GIT_CONFIG string
+      init: make a copy of $GIT_DIR string
+      merge-recursive: copy $GITHEAD strings
+      builtin_diff(): read $GIT_DIFF_OPTS closer to use
+      add: use separate ADD_CACHE_RENORMALIZE flag
+      attr: do not mark queried macros as unset
+      t4006: resurrect commented-out tests
+      diff: clear emitted_symbols flag after use
+      combine-diff: factor out stat-format mask
+      combine-diff: treat --shortstat like --stat
+      combine-diff: treat --summary like --stat
+      combine-diff: treat --dirstat like --stat
+      match-trees: drop unused path parameter from score functions
+      apply: drop unused "def" parameter from find_name_gnu()
+      create_bundle(): drop unused "header" parameter
+      column: drop unused "opts" parameter in item_length()
+      show_date_relative(): drop unused "tz" parameter
+      config: drop unused parameter from maybe_remove_section()
+      convert: drop len parameter from conversion checks
+      convert: drop path parameter from actual conversion functions
+      doc/gitattributes: clarify "autocrlf overrides eol"
+      docs/config: clarify "text property" in core.eol
+      test-date: drop unused parameter to getnanos()
+      add_to_index(): convert forgotten HASH_RENORMALIZE check
+
+Johannes Schindelin (35):
+      rebase: introduce --reschedule-failed-exec
+      rebase: add a config option to default to --reschedule-failed-exec
+      rebase: introduce a shortcut for --reschedule-failed-exec
+      gc/repack: release packs when needed
+      add --edit: truncate the patch file
+      t6042: work around speed optimization on Windows
+      abspath_part_inside_repo: respect core.ignoreCase
+      rebase: move `reset_head()` into a better spot
+      rebase: avoid double reflog entry when switching branches
+      rebase: teach `reset_head()` to optionally skip the worktree
+      built-in rebase: call `git am` directly
+      mingw (t5580): document bug when cloning from backslashed UNC paths
+      mingw: special-case arguments to `sh`
+      tests: explicitly use `test-tool.exe` on Windows
+      travis: fix skipping tagged releases
+      ci: rename the library of common functions
+      ci/lib.sh: encapsulate Travis-specific things
+      ci: inherit --jobs via MAKEFLAGS in run-build-and-tests
+      ci: use a junction on Windows instead of a symlink
+      test-date: add a subcommand to measure times in shell scripts
+      tests: optionally write results as JUnit-style .xml
+      ci/lib.sh: add support for Azure Pipelines
+      Add a build definition for Azure DevOps
+      ci: add a Windows job to the Azure Pipelines definition
+      ci: use git-sdk-64-minimal build artifact
+      mingw: be more generous when wrapping up the setitimer() emulation
+      README: add a build badge (status of the Azure Pipelines build)
+      tests: avoid calling Perl just to determine file sizes
+      tests: include detailed trace logs with --write-junit-xml upon failure
+      mingw: try to work around issues with the test cleanup
+      tests: add t/helper/ to the PATH with --with-dashes
+      t0061: workaround issues with --with-dashes and RUNTIME_PREFIX
+      tests: optionally skip bin-wrappers/
+      ci: speed up Windows phase
+      ci: parallelize testing on Windows
+
+Jonathan Nieder (1):
+      stripspace: allow -s/-c outside git repository
+
+Jonathan Tan (9):
+      revision: use commit graph in get_reference()
+      fetch-pack: support protocol version 2
+      fetch-pack: do not take shallow lock unnecessarily
+      upload-pack: teach deepen-relative in protocol v2
+      pkt-line: introduce struct packet_writer
+      sideband: reverse its dependency on pkt-line
+      {fetch,upload}-pack: sideband v2 fetch response
+      tests: define GIT_TEST_SIDEBAND_ALL
+      ls-refs: filter refs using namespace-stripped name
+
+Josh Steadmon (4):
+      filter-options: expand scaled numbers
+      commit-graph, fuzz: add fuzzer for commit-graph
+      commit-graph: fix buffer read-overflow
+      Makefile: correct example fuzz build
+
+Junio C Hamano (11):
+      t0027: squelch checkout path run outside test_expect_* block
+      t0061: do not fail test if '.' is part of $PATH
+      submodule update: run at most one fetch job unless otherwise set
+      Prepare for 2.21 cycle to start soonish
+      First batch after 2.20.1
+      ref-filter: give uintmax_t to format with %PRIuMAX
+      Second batch after 2.20
+      Third batch after 2.20
+      Fourth batch after 2.20
+      Fifth batch for 2.21
+      Git 2.21-rc0
+
+Kim Gybels (1):
+      diff: ensure correct lifetime of external_diff_cmd
+
+Kyle Meyer (2):
+      rebase docs: drop stray word in merge command description
+      init docs: correct a punctuation typo
+
+Laura Abbott (1):
+      git-quiltimport: add --keep-non-patch option
+
+Linus Torvalds (1):
+      Add 'human' date format
+
+Luke Diamand (2):
+      git-p4: add failing test for shelved CL update involving move/copy
+      git-p4: handle update of moved/copied files when updating a shelve
+
+Martin Ågren (5):
+      git-column.txt: fix section header
+      Documentation: do not nest open blocks
+      git-status.txt: render tables correctly under Asciidoctor
+      t7510: invoke git as part of &&-chain
+      doc-diff: don't `cd_to_toplevel`
+
+Masaya Suzuki (7):
+      Use packet_reader instead of packet_read_line
+      pack-protocol.txt: accept error packets in any context
+      http: support file handles for HTTP_KEEP_ERROR
+      http: enable keep_error for HTTP requests
+      remote-curl: define struct for CURLOPT_WRITEFUNCTION
+      remote-curl: unset CURLOPT_FAILONERROR
+      test: test GIT_CURL_VERBOSE=1 shows an error
+
+Matthew DeVore (4):
+      list-objects.c: don't segfault for missing cmdline objects
+      revision.c: put promisor option in specialized struct
+      list-objects-filter: teach tree:# how to handle >0
+      tree:<depth>: skip some trees even when collecting omits
+
+Matthieu Moy (1):
+      git-multimail: update to release 1.5.0
+
+Max Kirillov (1):
+      http-backend: enable cleaning up forked upload/receive-pack on exit
+
+Nguyễn Thái Ngọc Duy (62):
+      git.c: mark more strings for translation
+      alias.c: mark split_cmdline_strerror() strings for translation
+      archive.c: mark more strings for translation
+      attr.c: mark more string for translation
+      read-cache.c: turn die("internal error") to BUG()
+      read-cache.c: mark more strings for translation
+      read-cache.c: add missing colon separators
+      reflog: mark strings for translation
+      remote.c: turn some error() or die() to BUG()
+      remote.c: mark messages for translation
+      repack: mark more strings for translation
+      parse-options: replace opterror() with optname()
+      parse-options.c: turn some die() to BUG()
+      parse-options.c: mark more strings for translation
+      fsck: reduce word legos to help i18n
+      fsck: mark strings for translation
+      wt-status.c: remove implicit dependency on the_index
+      wt-status.c: remove implicit dependency the_repository
+      list-objects-filter.c: remove implicit dependency on the_index
+      list-objects.c: reduce the_repository references
+      notes-merge.c: remove implicit dependency on the_index
+      notes-merge.c: remove implicit dependency the_repository
+      transport.c: remove implicit dependency on the_index
+      sequencer.c: remove implicit dependency on the_index
+      sequencer.c: remove implicit dependency on the_repository
+      blame.c: remove implicit dependency the_repository
+      bisect.c: remove the_repository reference
+      branch.c: remove the_repository reference
+      bundle.c: remove the_repository references
+      cache-tree.c: remove the_repository references
+      delta-islands.c: remove the_repository references
+      diff-lib.c: remove the_repository references
+      line-log.c: remove the_repository reference
+      notes-cache.c: remove the_repository references
+      pack-check.c: remove the_repository references
+      pack-*.c: remove the_repository references
+      rerere.c: remove the_repository references
+      rebase-interactive.c: remove the_repository references
+      checkout: disambiguate dwim tracking branches and local files
+      checkout: print something when checking out paths
+      tree.c: make read_tree*() take 'struct repository *'
+      tree-walk.c: make tree_entry_interesting() take an index
+      pathspec.h: clean up "extern" in function declarations
+      dir.c: move, rename and export match_attrs()
+      tree-walk: support :(attr) matching
+      Indent code with TABs
+      style: the opening '{' of a function is in a separate line
+      worktree: allow to (re)move worktrees with uninitialized submodules
+      grep: use grep_opt->repo instead of explict repo argument
+      notes-utils.c: remove the_repository references
+      repository.c: replace hold_locked_index() with repo_hold_locked_index()
+      checkout: avoid the_index when possible
+      read-cache.c: kill read_index()
+      read-cache.c: replace update_index_if_able with repo_&
+      sha1-name.c: remove implicit dependency on the_index
+      merge-recursive.c: remove implicit dependency on the_index
+      merge-recursive.c: remove implicit dependency on the_repository
+      read-cache.c: remove the_* from index_has_changes()
+      cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch
+      fetch: prefer suffix substitution in compact fetch.output
+      help: align the longest command in the command listing
+      git-commit.txt: better description what it does
+
+Olga Telezhnaya (6):
+      ref-filter: add objectsize:disk option
+      ref-filter: add check for negative file size
+      ref-filter: add tests for objectsize:disk
+      ref-filter: add deltabase option
+      ref-filter: add tests for deltabase
+      ref-filter: add docs for new options
+
+Orgad Shaneh (2):
+      t5403: simplify by using a single repository
+      rebase: run post-checkout hook on checkout
+
+Patrick Hogg (2):
+      pack-objects: move read mutex to packing_data struct
+      pack-objects: merge read_lock and lock in packing_data struct
+
+Peter Osterlund (1):
+      git-p4: fix problem when p4 login is not necessary
+
+Phillip Wood (11):
+      diff: document --no-color-moved
+      Use "whitespace" consistently
+      diff: allow --no-color-moved-ws
+      diff --color-moved-ws: demonstrate false positives
+      diff --color-moved-ws: fix false positives
+      diff --color-moved=zebra: be stricter with color alternation
+      diff --color-moved-ws: optimize allow-indentation-change
+      diff --color-moved-ws: modify allow-indentation-change
+      diff --color-moved-ws: handle blank lines
+      implicit interactive rebase: don't run sequence editor
+      rebase -x: sanity check command
+
+Pranit Bauva (7):
+      bisect--helper: `bisect_reset` shell function in C
+      bisect--helper: `bisect_write` shell function in C
+      wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
+      bisect--helper: `check_and_set_terms` shell function in C
+      bisect--helper: `bisect_next_check` shell function in C
+      bisect--helper: `get_terms` & `bisect_terms` shell function in C
+      bisect--helper: `bisect_start` shell function partially in C
+
+Ramsay Jones (2):
+      config.mak.uname: remove obsolete SPARSE_FLAGS setting
+      Makefile: improve SPARSE_FLAGS customisation
+
+Randall S. Becker (4):
+      transport-helper: use xread instead of read
+      config.mak.uname: support for modern HPE NonStop config.
+      git-compat-util.h: add FLOSS headers for HPE NonStop
+      compat/regex/regcomp.c: define intptr_t and uintptr_t on NonStop
+
+René Scharfe (5):
+      sha1-file: close fd of empty file in map_sha1_file_1()
+      object-store: factor out odb_loose_cache()
+      object-store: factor out odb_clear_loose_cache()
+      object-store: use one oid_array per subdirectory for loose cache
+      object-store: retire odb_load_loose_cache()
+
+SZEDER Gábor (22):
+      clone: use a more appropriate variable name for the default refspec
+      clone: respect additional configured fetch refspecs during initial fetch
+      Documentation/clone: document ignored configuration variables
+      test-lib: check Bash version for '-x' without using shell arrays
+      test-lib: translate SIGTERM and SIGHUP to an exit
+      test-lib: extract Bash version check for '-x' tracing
+      test-lib: parse options in a for loop to keep $@ intact
+      test-lib: parse command line options earlier
+      test-lib: consolidate naming of test-results paths
+      test-lib: set $TRASH_DIRECTORY earlier
+      test-lib-functions: introduce the 'test_set_port' helper function
+      test-lib: add the '--stress' option to run a test repeatedly under load
+      compat/obstack: fix -Wcast-function-type warnings
+      .gitignore: ignore external debug symbols from GCC on macOS
+      travis-ci: don't be '--quiet' when running the tests
+      travis-ci: switch to Xcode 10.1 macOS image
+      travis-ci: build with the right compiler
+      commit-graph: rename "large edges" to "extra edges"
+      commit-graph: don't call write_graph_chunk_extra_edges() unnecessarily
+      strbuf.cocci: suggest strbuf_addbuf() to add one strbuf to an other
+      object_as_type: initialize commit-graph-related fields of 'struct commit'
+      travis-ci: make the OSX build jobs' 'brew update' more quiet
+
+Sebastian Staudt (2):
+      describe: setup working tree for --dirty
+      t6120: test for describe with a bare repository
+
+Sergey Organov (4):
+      t3510: stop using '-m 1' to force failure mid-sequence of cherry-picks
+      cherry-pick: do not error on non-merge commits when '-m 1' is specified
+      t3502: validate '-m 1' argument is now accepted for non-merge commits
+      t3506: validate '-m 1 -ff' is now accepted for non-merge commits
+
+Shahzad Lone (1):
+      various: tighten constness of some local variables
+
+Slavica Djukic (1):
+      stash: tolerate missing user identity
+
+Stefan Beller (39):
+      sha1_file: allow read_object to read objects in arbitrary repositories
+      packfile: allow has_packed_and_bad to handle arbitrary repositories
+      diff: align move detection error handling with other options
+      object-store: allow read_object_file_extended to read from any repo
+      object-store: prepare read_object_file to deal with any repo
+      object-store: prepare has_{sha1, object}_file to handle any repo
+      object: parse_object to honor its repository argument
+      commit: allow parse_commit* to handle any repo
+      commit-reach.c: allow paint_down_to_common to handle any repo
+      commit-reach.c: allow merge_bases_many to handle any repo
+      commit-reach.c: allow remove_redundant to handle any repo
+      commit-reach.c: allow get_merge_bases_many_0 to handle any repo
+      commit-reach: prepare get_merge_bases to handle any repo
+      commit-reach: prepare in_merge_bases[_many] to handle any repo
+      commit: prepare get_commit_buffer to handle any repo
+      commit: prepare repo_unuse_commit_buffer to handle any repo
+      commit: prepare logmsg_reencode to handle arbitrary repositories
+      pretty: prepare format_commit_message to handle arbitrary repositories
+      sideband: color lines with keyword only
+      sha1-array: provide oid_array_filter
+      submodule.c: fix indentation
+      submodule.c: sort changed_submodule_names before searching it
+      submodule.c: tighten scope of changed_submodule_names struct
+      submodule: store OIDs in changed_submodule_names
+      repository: repo_submodule_init to take a submodule struct
+      submodule: migrate get_next_submodule to use repository structs
+      submodule.c: fetch in submodules git directory instead of in worktree
+      fetch: ensure submodule objects fetched
+      submodule update: add regression test with old style setups
+      submodule: unset core.worktree if no working tree is present
+      submodule--helper: fix BUG message in ensure_core_worktree
+      submodule deinit: unset core.worktree
+      submodule: use submodule repos for object lookup
+      submodule: don't add submodule as odb for push
+      commit-graph: convert remaining functions to handle any repo
+      commit: prepare free_commit_buffer and release_commit_memory for any repo
+      path.h: make REPO_GIT_PATH_FUNC repository agnostic
+      t/helper/test-repository: celebrate independence from the_repository
+      git-submodule: abort if core.worktree could not be set correctly
+
+Stephen P. Smith (4):
+      Replace the proposed 'auto' mode with 'auto:'
+      Add 'human' date format documentation
+      Add `human` format to test-tool
+      Add `human` date format tests.
+
+Sven van Haastregt (1):
+      git-submodule.sh: shorten submodule SHA-1s using rev-parse
+
+Thomas Braun (1):
+      log -G: ignore binary files
+
+Thomas Gummerer (3):
+      t5570: drop racy test
+      Revert "t/lib-git-daemon: record daemon log"
+      config.mak.dev: add -Wall, primarily for -Wformat, to help autoconf users
+
+Torsten Bögershausen (3):
+      git clone <url> C:\cygwin\home\USER\repo' is working (again)
+      test-lint: only use only sed [-n] [-e command] [-f command_file]
+      Support working-tree-encoding "UTF-16LE-BOM"
+
+brian m. carlson (19):
+      sha1-file: rename algorithm to "sha1"
+      sha1-file: provide functions to look up hash algorithms
+      hex: introduce functions to print arbitrary hashes
+      cache: make hashcmp and hasheq work with larger hashes
+      t: add basic tests for our SHA-1 implementation
+      t: make the sha1 test-tool helper generic
+      sha1-file: add a constant for hash block size
+      t/helper: add a test helper to compute hash speed
+      commit-graph: convert to using the_hash_algo
+      Add a base implementation of SHA-256 support
+      sha256: add an SHA-256 implementation using libgcrypt
+      hash: add an SHA-256 implementation using OpenSSL
+      tree-walk: copy object ID before use
+      match-trees: compute buffer offset correctly when splicing
+      match-trees: use hashcpy to splice trees
+      tree-walk: store object_id in a separate member
+      cache: make oidcpy always copy GIT_MAX_RAWSZ bytes
+      fetch-pack: clear alternate shallow when complete
+      fetch-pack: clear alternate shallow in one more place
+
+Ævar Arnfjörð Bjarmason (17):
+      remote.c: add braces in anticipation of a follow-up change
+      i18n: remote.c: mark error(...) messages for translation
+      push: improve the error shown on unqualified <dst> push
+      push: move unqualified refname error into a function
+      push: add an advice on unqualified <dst> push
+      push: test that <src> doesn't DWYM if <dst> is unqualified
+      push doc: document the DWYM behavior pushing to unqualified <dst>
+      commit-graph: split up close_reachable() progress output
+      commit-graph write: use pack order when finding commits
+      commit-graph write: add "Writing out" progress output
+      commit-graph write: more descriptive "writing out" output
+      commit-graph write: show progress for object search
+      commit-graph write: add more descriptive progress output
+      commit-graph write: remove empty line for readability
+      commit-graph write: add itermediate progress
+      commit-graph write: emit a percentage for all progress
+      diff-tree doc: correct & remove wrong documentation
+
+
+Version v2.20.5; changes since v2.20.4:
+---------------------------------------
+
+Johannes Schindelin (5):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+      Git 2.20.5
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.20.4; changes since v2.20.3:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.20.3; changes since v2.20.2:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.20.2; changes since v2.20.1:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (27):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+      t7415: adjust test for dubiously-nested submodule gitdirs for v2.20.x
+      Git 2.20.2
+
+Jonathan Nieder (3):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+      submodule: defend against submodule.update = !command in .gitmodules
+
+
+Version v2.20.1; changes since v2.20.0:
+---------------------------------------
+
+Derrick Stolee (1):
+      .gitattributes: ensure t/oid-info/* has eol=lf
+
+Johannes Schindelin (4):
+      help.h: fix coding style
+      help -a: handle aliases with long names gracefully
+      t4256: mark support files as LF-only
+      t9902: 'send-email' test case requires PERL
+
+Junio C Hamano (2):
+      run-command: report exec failure
+      Git 2.20.1
+
+Nguyễn Thái Ngọc Duy (1):
+      parse-options: fix SunCC compiler warning
+
+
+Version v2.20.0; changes since v2.20.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (3):
+      l10n: bg.po: Updated Bulgarian translation (4185t)
+      l10n: bg.po: Updated Bulgarian translation (4185t)
+      l10n: bg.po: Updated Bulgarian translation (4187t)
+
+Christopher Díaz Riveros (2):
+      l10n: es.po v2.20.0 round 1
+      l10n: es.po v2.20.0 round 3
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.20 rnd 1
+      l10n: fr.po v2.20.0 round 3
+
+Jiang Xin (5):
+      l10n: zh_CN: review for git v2.19.0 l10n
+      l10n: git.pot: v2.20.0 round 1 (254 new, 27 removed)
+      l10n: git.pot: v2.20.0 round 2 (2 new, 2 removed)
+      l10n: git.pot: v2.20.0 round 3 (5 new, 3 removed)
+      l10n: zh_CN: for git v2.20.0 l10n round 1 to 3
+
+Johannes Sixt (1):
+      rebase docs: fix incorrect format of the section Behavioral Differences
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.20
+
+Martin Ågren (4):
+      range-diff: always pass at least minimal diff options
+      RelNotes 2.20: move some items between sections
+      RelNotes 2.20: clarify sentence
+      RelNotes 2.20: drop spurious double quote
+
+Minh Nguyen (1):
+      l10n: vi.po: fix typo in pack-objects
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (4185t0f0u)
+      l10n: sv.po: Update Swedish translation (4187t0f0u)
+
+Ralf Thielow (3):
+      l10n: update German translation
+      l10n: update German translation
+      l10n: de.po: fix two messages
+
+Trần Ngọc Quân (2):
+      l10n: vi(4185t): Updated Vietnamese translation for v2.20.0
+      l10n: vi(4187t): Updated Vietnamese translation for v2.20.0 rd3
+
+
+Version v2.20.0-rc2; changes since v2.20.0-rc1:
+-----------------------------------------------
+
+Greg Hurrell (1):
+      doc: update diff-format.txt for removed ellipses in --raw
+
+Jean-Noël Avila (1):
+      i18n: fix small typos
+
+Jeff King (1):
+      t5562: fix perl path
+
+Johannes Schindelin (2):
+      rebase: fix GIT_REFLOG_ACTION regression
+      rebase --stat: fix when rebasing to an unrelated history
+
+Junio C Hamano (2):
+      format-patch: do not let its diff-options affect --range-diff
+      Git 2.20-rc2
+
+Martin Ågren (2):
+      git-reset.txt: render tables correctly under Asciidoctor
+      git-reset.txt: render literal examples as monospace
+
+Nguyễn Thái Ngọc Duy (2):
+      files-backend.c: fix build error on Solaris
+      transport-helper.c: do not translate a string twice
+
+Ralf Thielow (1):
+      builtin/rebase.c: remove superfluous space in messages
+
+SZEDER Gábor (3):
+      tests: send "bug in the test script" errors to the script's stderr
+      test-lib-functions: make 'test_cmp_rev' more informative on failure
+      t/lib-git-daemon: fix signal checking
+
+Sven Strickroth (1):
+      msvc: directly use MS version (_stricmp) of strcasecmp
+
+Torsten Bögershausen (1):
+      t5601-99: Enable colliding file detection for MINGW
+
+Ævar Arnfjörð Bjarmason (2):
+      push: change needlessly ambiguous example in error
+      advice: don't pointlessly suggest --convert-graft-file
+
+
+Version v2.20.0-rc1; changes since v2.20.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      pack-objects: ignore ambiguous object warnings
+
+Jeff King (3):
+      pack-objects: fix tree_depth and layer invariants
+      pack-objects: zero-initialize tree_depth/layer arrays
+      pack-objects: fix off-by-one in delta-island tree-depth computation
+
+Johannes Schindelin (7):
+      tests: fix GIT_TEST_INSTALLED's PATH to include t/helper/
+      tests: respect GIT_TEST_INSTALLED when initializing repositories
+      t/lib-gettext: test installed git-sh-i18n if GIT_TEST_INSTALLED is set
+      tests: do not require Git to be built when testing an installed Git
+      tests: explicitly use `git.exe` on Windows
+      legacy-rebase: backport -C<n> and --whitespace=<option> checks
+      rebase: warn about the correct tree's OID
+
+Jonathan Nieder (3):
+      eoie: default to not writing EOIE section
+      ieot: default to not writing IEOT section
+      index: make index.threads=true enable ieot and eoie
+
+Junio C Hamano (5):
+      Makefile: ease dynamic-gettext-poison transition
+      RelNotes: name the release properly
+      Prepare for 2.20-rc1
+      Git 2.19.2
+      Git 2.20-rc1
+
+Nguyễn Thái Ngọc Duy (2):
+      format-patch: respect --stat in cover letter's diffstat
+      clone: fix colliding file detection on APFS
+
+SZEDER Gábor (1):
+      coccicheck: introduce 'pending' semantic patches
+
+Todd Zullinger (1):
+      Documentation: build technical/multi-pack-index
+
+Torsten Bögershausen (2):
+      Upcast size_t variables to uintmax_t when printing
+      remote-curl.c: xcurl_off_t is not portable (on 32 bit platfoms)
+
+Ævar Arnfjörð Bjarmason (2):
+      i18n: make GETTEXT_POISON a runtime option
+      read-cache: make the split index obey umask settings
+
+Đoàn Trần Công Danh (1):
+      git-compat-util: prefer poll.h to sys/poll.h
+
+
+Version v2.20.0-rc0; changes since v2.19.6:
+-------------------------------------------
+
+Aaron Lindsay (1):
+      send-email: avoid empty transfer encoding header
+
+Alban Gruin (21):
+      sequencer: make three functions and an enum from sequencer.c public
+      rebase -i: rewrite append_todo_help() in C
+      editor: add a function to launch the sequence editor
+      rebase -i: rewrite the edit-todo functionality in C
+      sequencer: add a new function to silence a command, except if it fails
+      rebase -i: rewrite setup_reflog_action() in C
+      rebase -i: rewrite checkout_onto() in C
+      sequencer: refactor append_todo_help() to write its message to a buffer
+      sequencer: change the way skip_unnecessary_picks() returns its result
+      t3404: todo list with commented-out commands only aborts
+      rebase -i: rewrite complete_action() in C
+      rebase -i: remove unused modes and functions
+      rebase -i: implement the logic to initialize $revisions in C
+      rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C
+      rebase -i: rewrite write_basic_state() in C
+      rebase -i: rewrite init_basic_state() in C
+      rebase -i: implement the main part of interactive rebase as a builtin
+      rebase--interactive2: rewrite the submodes of interactive rebase in C
+      rebase -i: remove git-rebase--interactive.sh
+      rebase -i: move rebase--helper modes to rebase--interactive
+      p3400: replace calls to `git checkout -b' by `git checkout -B'
+
+Andreas Gruenbacher (1):
+      rev-parse: clear --exclude list after 'git rev-parse --all'
+
+Anton Serbulov (1):
+      mingw: fix getcwd when the parent directory cannot be queried
+
+Antonio Ospite (10):
+      submodule: add a print_config_from_gitmodules() helper
+      submodule: factor out a config_set_in_gitmodules_file_gently function
+      t7411: merge tests 5 and 6
+      t7411: be nicer to future tests and really clean things up
+      submodule--helper: add a new 'config' subcommand
+      submodule: use the 'submodule--helper config' command
+      t7506: clean up .gitmodules properly before setting up new scenario
+      submodule: add a helper to check if it is safe to write to .gitmodules
+      submodule: support reading .gitmodules when it's not in the working tree
+      t/helper: add test-submodule-nested-repo-config
+
+Ben Peart (18):
+      checkout: optimize "git checkout -b <new_branch>"
+      t/README: correct spelling of "uncommon"
+      preload-index: use git_env_bool() not getenv() for customization
+      fsmonitor: update GIT_TEST_FSMONITOR support
+      read-cache: update TEST_GIT_INDEX_VERSION support
+      preload-index: update GIT_FORCE_PRELOAD_TEST support
+      read-cache: clean up casting and byte decoding
+      eoie: add End of Index Entry (EOIE) extension
+      config: add new index.threads config setting
+      read-cache: load cache extensions on a worker thread
+      ieot: add Index Entry Offset Table (IEOT) extension
+      read-cache: load cache entries on worker threads
+      reset: don't compute unstaged changes after reset when --quiet
+      reset: add new reset.quiet config setting
+      reset: warn when refresh_index() takes more than 2 seconds
+      speed up refresh_index() by utilizing preload_index()
+      add: speed up cmd_add() by utilizing read_cache_preload()
+      refresh_index: remove unnecessary calls to preload_index()
+
+Brendan Forster (1):
+      http: add support for disabling SSL revocation checks in cURL
+
+Carlo Marcelo Arenas Belón (8):
+      unpack-trees: avoid dead store for struct progress
+      multi-pack-index: avoid dead store for struct progress
+      read-cache: use of memory after it is freed
+      commit-slabs: move MAYBE_UNUSED out
+      khash: silence -Wunused-function for delta-islands
+      compat: make sure git_mmap is not expected to write
+      sequencer: cleanup for gcc warning in non developer mode
+      builtin/notes: remove unnecessary free
+
+Christian Couder (3):
+      pack-objects: refactor code into compute_layer_order()
+      pack-objects: move tree_depth into 'struct packing_data'
+      pack-objects: move 'layer' into 'struct packing_data'
+
+Christian Hesse (2):
+      subtree: add build targets 'man' and 'html'
+      subtree: make install targets depend on build targets
+
+Denton Liu (3):
+      mergetool: accept -g/--[no-]gui as arguments
+      completion: support `git mergetool --[no-]gui`
+      doc: document diff/merge.guitool config keys
+
+Derrick Stolee (86):
+      multi-pack-index: add design document
+      multi-pack-index: add format details
+      multi-pack-index: add builtin
+      multi-pack-index: add 'write' verb
+      midx: write header information to lockfile
+      multi-pack-index: load into memory
+      t5319: expand test data
+      packfile: generalize pack directory list
+      multi-pack-index: read packfile list
+      multi-pack-index: write pack names in chunk
+      midx: read pack names into array
+      midx: sort and deduplicate objects from packfiles
+      midx: write object ids in a chunk
+      midx: write object id fanout chunk
+      midx: write object offsets
+      config: create core.multiPackIndex setting
+      midx: read objects from multi-pack-index
+      midx: use midx in abbreviation calculations
+      midx: use existing midx when writing new one
+      midx: use midx in approximate_object_count
+      midx: prevent duplicate packfile loads
+      packfile: skip loading index if in multi-pack-index
+      midx: clear midx on repack
+      commit-reach: move walk methods from commit.c
+      commit.h: remove method declarations
+      commit-reach: move ref_newer from remote.c
+      commit-reach: move commit_contains from ref-filter
+      upload-pack: make reachable() more generic
+      upload-pack: refactor ok_to_give_up()
+      upload-pack: generalize commit date cutoff
+      commit-reach: move can_all_from_reach_with_flags
+      test-reach: create new test tool for ref_newer
+      test-reach: test in_merge_bases
+      test-reach: test is_descendant_of
+      test-reach: test get_merge_bases_many
+      test-reach: test reduce_heads
+      test-reach: test can_all_from_reach_with_flags
+      test-reach: test commit_contains
+      commit-reach: replace ref_newer logic
+      commit-reach: make can_all_from_reach... linear
+      commit-reach: use can_all_from_reach
+      multi-pack-index: provide more helpful usage info
+      multi-pack-index: store local property
+      midx: mark bad packed objects
+      midx: stop reporting garbage
+      midx: fix bug that skips midx with alternates
+      packfile: add all_packs list
+      treewide: use get_all_packs
+      midx: test a few commands that use get_all_packs
+      pack-objects: consider packs in multi-pack-index
+      commit-graph: define GIT_TEST_COMMIT_GRAPH
+      t3206-range-diff.sh: cover single-patch case
+      t5318: use test_oid for HASH_LEN
+      multi-pack-index: add 'verify' verb
+      multi-pack-index: verify bad header
+      multi-pack-index: verify corrupt chunk lookup table
+      multi-pack-index: verify packname order
+      multi-pack-index: verify missing pack
+      multi-pack-index: verify oid fanout order
+      multi-pack-index: verify oid lookup order
+      multi-pack-index: fix 32-bit vs 64-bit size check
+      multi-pack-index: verify object offsets
+      multi-pack-index: report progress during 'verify'
+      fsck: verify multi-pack-index
+      commit-reach: properly peel tags
+      commit-reach: fix memory and flag leaks
+      commit-reach: cleanups in can_all_from_reach...
+      commit-graph: clean up leaked memory during write
+      commit-graph: reduce initial oid allocation
+      midx: fix broken free() in close_midx()
+      contrib: add coverage-diff script
+      ci: add optional test variables
+      commit-reach: fix first-parent heuristic
+      midx: close multi-pack-index on repack
+      multi-pack-index: define GIT_TEST_MULTI_PACK_INDEX
+      packfile: close multi-pack-index in close_all_packs
+      prio-queue: add 'peek' operation
+      test-reach: add run_three_modes method
+      test-reach: add rev-list tests
+      revision.c: begin refactoring --topo-order logic
+      commit/revisions: bookkeeping before refactoring
+      revision.c: generation-based topo-order algorithm
+      t6012: make rev-list tests more interesting
+      commit-reach: implement get_reachable_subset
+      test-reach: test get_reachable_subset
+      remote: make add_missing_tags() linear
+
+Elijah Newren (7):
+      merge-recursive: set paths correctly when three-way merging content
+      merge-recursive: avoid wrapper function when unnecessary and wasteful
+      merge-recursive: remove final remaining caller of merge_file_one()
+      merge-recursive: rename merge_file_1() and merge_content()
+      merge-recursive: improve auto-merging messages with path collisions
+      merge-recursive: avoid showing conflicts with merge branch before HEAD
+      fsck: move fsck_head_link() to get_default_heads() to avoid some globals
+
+Eric Sunshine (26):
+      format-patch: allow additional generated content in make_cover_letter()
+      format-patch: add --interdiff option to embed diff in cover letter
+      format-patch: teach --interdiff to respect -v/--reroll-count
+      interdiff: teach show_interdiff() to indent interdiff
+      log-tree: show_log: make commentary block delimiting reusable
+      format-patch: allow --interdiff to apply to a lone-patch
+      range-diff: respect diff_option.file rather than assuming 'stdout'
+      range-diff: publish default creation factor
+      range-diff: relieve callers of low-level configuration burden
+      format-patch: add --range-diff option to embed diff in cover letter
+      format-patch: extend --range-diff to accept revision range
+      format-patch: teach --range-diff to respect -v/--reroll-count
+      format-patch: add --creation-factor tweak for --range-diff
+      format-patch: allow --range-diff to apply to a lone-patch
+      worktree: don't die() in library function find_worktree()
+      worktree: move delete_git_dir() earlier in file for upcoming new callers
+      worktree: generalize delete_git_dir() to reduce code duplication
+      worktree: prepare for more checks of whether path can become worktree
+      worktree: disallow adding same path multiple times
+      worktree: teach 'add' to respect --force for registered but missing path
+      worktree: teach 'move' to override lock when --force given twice
+      worktree: teach 'remove' to override lock when --force given twice
+      worktree: delete .git/worktrees if empty after 'remove'
+      doc-diff: fix non-portable 'man' invocation
+      doc-diff: add --clean mode to remove temporary working gunk
+      doc/Makefile: drop doc-diff worktree and temporary files on "make clean"
+
+James Knight (1):
+      build: link with curl-defined linker flags
+
+Jann Horn (2):
+      patch-delta: fix oob read
+      patch-delta: consistently report corruption
+
+Jeff King (73):
+      branch: make "-l" a synonym for "--list"
+      Add delta-islands.{c,h}
+      pack-objects: add delta-islands support
+      repack: add delta-islands support
+      t5320: tests for delta islands
+      t/perf: factor boilerplate out of test_perf
+      t/perf: factor out percent calculations
+      t/perf: add infrastructure for measuring sizes
+      t/perf: add perf tests for fetches from a bitmapped server
+      pack-bitmap: save "have" bitmap from walk
+      pack-objects: reuse on-disk deltas for thin "have" objects
+      SubmittingPatches: mention doc-diff
+      rev-list: make empty --stdin not an error
+      coccinelle: use <...> for function exclusion
+      introduce hasheq() and oideq()
+      convert "oidcmp() == 0" to oideq()
+      convert "hashcmp() == 0" to hasheq()
+      convert "oidcmp() != 0" to "!oideq()"
+      convert "hashcmp() != 0" to "!hasheq()"
+      convert hashmap comparison functions to oideq()
+      read-cache: use oideq() in ce_compare functions
+      show_dirstat: simplify same-content check
+      doc-diff: always use oids inside worktree
+      test-delta: read input into a heap buffer
+      t5303: test some corrupt deltas
+      patch-delta: handle truncated copy parameters
+      t5303: use printf to generate delta bases
+      doc/git-branch: remove obsolete "-l" references
+      bitmap_has_sha1_in_uninteresting(): drop BUG check
+      t5310: test delta reuse with bitmaps
+      traverse_bitmap_commit_list(): don't free result
+      pack-bitmap: drop "loaded" flag
+      doc-diff: force worktree add
+      pack-objects: handle island check for "external" delta base
+      more oideq/hasheq conversions
+      transport: drop refnames from for_each_alternate_ref
+      test-tool: show tool list on error
+      config.mak.dev: enable -Wunused-function
+      t5410: use longer path for sample script
+      ls-remote: do not send ref prefixes for patterns
+      ls-remote: pass heads/tags prefixes to transport
+      read_istream_pack_non_delta(): document input handling
+      xdiff: provide a separate emit callback for hunks
+      xdiff-interface: provide a separate consume callback for hunks
+      rev-list: handle flags for --indexed-objects
+      approxidate: handle pending number for "specials"
+      pathspec: handle non-terminated strings with :(attr)
+      diff: avoid generating unused hunk header lines
+      diff: discard hunk headers for patch-ids earlier
+      diff: use hunk callback for word-diff
+      combine-diff: use an xdiff hunk callback
+      diff: convert --check to use a hunk callback
+      range-diff: use a hunk callback
+      xdiff-interface: drop parse_hunk_header()
+      apply: mark include/exclude options as NONEG
+      am: handle --no-patch-format option
+      ls-files: mark exclude options as NONEG
+      pack-objects: mark index-version option as NONEG
+      cat-file: mark batch options with NONEG
+      status: mark --find-renames option with NONEG
+      format-patch: mark "--no-numbered" option with NONEG
+      show-branch: mark --reflog option as NONEG
+      tag: mark "--message" option with NONEG
+      cat-file: report an error on multiple --batch options
+      apply: return -1 from option callback instead of calling exit(1)
+      parse-options: drop OPT_DATE()
+      assert NOARG/NONEG behavior of parse-options callbacks
+      midx: double-check large object write loop
+      merge: extract verify_merge_signature() helper
+      merge: handle --verify-signatures for unborn branch
+      pull: handle --verify-signatures for unborn branch
+      approxidate: fix NULL dereference in date_time()
+      bundle: dup() output descriptor closer to point-of-use
+
+Johannes Schindelin (47):
+      compat/poll: prepare for targeting Windows Vista
+      mingw: set _WIN32_WINNT explicitly for Git for Windows
+      mingw: bump the minimum Windows version to Vista
+      builtin rebase: prepare for builtin rebase -i
+      rebase -i: clarify what happens on a failed `exec`
+      rebase -i: introduce the 'break' command
+      getpwuid(mingw): initialize the structure only once
+      getpwuid(mingw): provide a better default for the user name
+      mingw: use domain information for default email
+      http: add support for selecting SSL backends at runtime
+      rebase (autostash): avoid duplicate call to state_dir_path()
+      rebase (autostash): store the full OID in <state-dir>/autostash
+      rebase (autostash): use an explicit OID to apply the stash
+      mingw: factor out code to set stat() data
+      rebase --autostash: demonstrate a problem with dirty submodules
+      rebase --autostash: fix issue with dirty submodules
+      mingw: load system libraries the recommended way
+      mingw: ensure `getcwd()` reports the correct case
+      http: when using Secure Channel, ignore sslCAInfo by default
+      t7800: fix quoting
+      mingw: reencode environment variables on the fly (UTF-16 <-> UTF-8)
+      config: rename `dummy` parameter to `cb` in git_default_config()
+      config: allow for platform-specific core.* config settings
+      config: move Windows-specific config settings into compat/mingw.c
+      mingw: unset PERL5LIB by default
+      mingw: fix isatty() after dup2()
+      t3404: decouple some test cases from outcomes of previous test cases
+      t3418: decouple test cases from a previous `rebase -p` test case
+      tests: optionally skip `git rebase -p` tests
+      Windows: force-recompile git.res for differing architectures
+      built-in rebase: demonstrate regression with --autostash
+      built-in rebase --autostash: leave the current branch alone if possible
+      Update .mailmap
+      rebase -r: demonstrate bug with conflicting merges
+      rebase -r: do not write MERGE_HEAD unless needed
+      rebase -i: include MERGE_HEAD into files to clean up
+      built-in rebase --skip/--abort: clean up stale .git/<name> files
+      status: rebase and merge can be in progress at the same time
+      apply --recount: allow "no-op hunks"
+      rebase: consolidate clean-up code before leaving reset_head()
+      rebase: prepare reset_head() for more flags
+      built-in rebase: reinstate `checkout -q` behavior where appropriate
+      mingw: use `CreateHardLink()` directly
+      rebase: really just passthru the `git am` options
+      rebase: validate -C<n> and --whitespace=<mode> parameters early
+      config: report a bug if git_dir exists without commondir
+      mingw: replace an obsolete link with the superseding one
+
+Johannes Sixt (1):
+      rebase -i: recognize short commands without arguments
+
+Jonathan Nieder (4):
+      gc: improve handling of errors reading gc.log
+      gc: exit with status 128 on failure
+      gc: do not return error for prior errors in daemonized mode
+      commit-reach: correct accidental #include of C file
+
+Jonathan Tan (11):
+      connected: document connectivity in partial clones
+      fetch: in partial clone, check presence of targets
+      transport: allow skipping of ref listing
+      transport: do not list refs if possible
+      transport: list refs before fetch if necessary
+      fetch: do not list refs if fetching only hashes
+      cache-tree: skip some blob checks in partial clone
+      upload-pack: make have_obj not global
+      upload-pack: make want_obj not global
+      upload-pack: clear flags before each v2 request
+      fetch-pack: be more precise in parsing v2 response
+
+Josh Steadmon (4):
+      fuzz: add basic fuzz testing target.
+      fuzz: add fuzz testing for packfile indices.
+      archive: initialize archivers earlier
+      Makefile: use FUZZ_CXXFLAGS for linking fuzzers
+
+Joshua Watt (1):
+      send-email: explicitly disable authentication
+
+Junio C Hamano (19):
+      Revert "doc/Makefile: drop doc-diff worktree and temporary files on "make clean""
+      Initial batch post 2.19
+      Second batch post 2.19
+      t0000: do not get self-test disrupted by environment warnings
+      Declare that the next one will be named 2.20
+      Third batch for 2.20
+      rebase: fix typoes in error messages
+      Fourth batch for 2.20
+      Revert "subtree: make install targets depend on build targets"
+      Fifth batch for 2.20
+      http: give curl version warnings consistently
+      Sixth batch for 2.20
+      Seventh batch for 2.20
+      fetch: replace string-list used as a look-up table with a hashmap
+      rebase: apply cocci patch
+      Eighth batch for 2.20
+      Ninth batch for 2.20
+      Tenth batch for 2.20
+      Git 2.20-rc0
+
+Karsten Blees (2):
+      mingw: replace MSVCRT's fstat() with a Win32-based implementation
+      mingw: implement nanosecond-precision file times
+
+Loo Rong Jie (1):
+      win32: replace pthread_cond_*() with much simpler code
+
+Lucas De Marchi (1):
+      range-diff: allow to diff files regardless of submodule config
+
+Luke Diamand (3):
+      git-p4: do not fail in verbose mode for missing 'fileSize' key
+      git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved
+      git-p4: fully support unshelving changelists
+
+Martin Ågren (4):
+      Doc: use `--type=bool` instead of `--bool`
+      git-config.txt: fix 'see: above' note
+      builtin/commit-graph.c: UNLEAK variables
+      sequencer: break out of loop explicitly
+
+Matthew DeVore (17):
+      list-objects: store common func args in struct
+      list-objects: refactor to process_tree_contents
+      list-objects: always parse trees gently
+      t/README: reformat Do, Don't, Keep in mind lists
+      Documentation: add shell guidelines
+      tests: standardize pipe placement
+      t/*: fix ordering of expected/observed arguments
+      tests: don't swallow Git errors upstream of pipes
+      t9109: don't swallow Git errors upstream of pipes
+      tests: order arguments to git-rev-list properly
+      rev-list: handle missing tree objects properly
+      revision: mark non-user-given objects instead
+      list-objects-filter: use BUG rather than die
+      list-objects-filter-options: do not over-strbuf_init
+      list-objects-filter: implement filter tree:0
+      filter-trees: code clean-up of tests
+      list-objects: support for skipping tree traversal
+
+Max Kirillov (1):
+      http-backend test: make empty CONTENT_LENGTH test more realistic
+
+Michał Górny (6):
+      gpg-interface.c: detect and reject multiple signatures on commits
+      gpg-interface.c: use flags to determine key/signer info presence
+      gpg-interface.c: support getting key fingerprint via %GF format
+      gpg-interface.c: obtain primary key fingerprint as well
+      t/t7510-signed-commit.sh: Add %GP to custom format checks
+      t/t7510-signed-commit.sh: add signing subkey to Eris Discordia key
+
+Nguyễn Thái Ngọc Duy (164):
+      clone: report duplicate entries on case-insensitive filesystems
+      trace.h: support nested performance tracing
+      unpack-trees: add performance tracing
+      unpack-trees: optimize walking same trees with cache-tree
+      unpack-trees: reduce malloc in cache-tree walk
+      unpack-trees: reuse (still valid) cache-tree from src_index
+      unpack-trees: add missing cache invalidation
+      cache-tree: verify valid cache-tree in the test suite
+      Document update for nd/unpack-trees-with-cache-tree
+      bisect.c: make show_list() build again
+      t/helper: keep test-tool command list sorted
+      t/helper: merge test-dump-untracked-cache into test-tool
+      t/helper: merge test-pkt-line into test-tool
+      t/helper: merge test-parse-options into test-tool
+      t/helper: merge test-dump-fsmonitor into test-tool
+      Makefile: add a hint about TEST_BUILTINS_OBJS
+      config.txt: follow camelCase naming
+      config.txt: move fetch part out to a separate file
+      config.txt: move format part out to a separate file
+      config.txt: move gitcvs part out to a separate file
+      config.txt: move gui part out to a separate file
+      config.txt: move pull part out to a separate file
+      config.txt: move push part out to a separate file
+      config.txt: move receive part out to a separate file
+      config.txt: move sendemail part out to a separate file
+      config.txt: move sequence.editor out of "core" part
+      config.txt: move submodule part out to a separate file
+      archive.c: remove implicit dependency the_repository
+      status: show progress bar if refreshing the index takes too long
+      completion: support "git fetch --multiple"
+      read-cache.c: remove 'const' from index_has_changes()
+      diff.c: reduce implicit dependency on the_index
+      combine-diff.c: remove implicit dependency on the_index
+      blame.c: rename "repo" argument to "r"
+      diff.c: remove the_index dependency in textconv() functions
+      grep.c: remove implicit dependency on the_index
+      diff.c: remove implicit dependency on the_index
+      read-cache.c: remove implicit dependency on the_index
+      diff-lib.c: remove implicit dependency on the_index
+      ll-merge.c: remove implicit dependency on the_index
+      merge-blobs.c: remove implicit dependency on the_index
+      merge.c: remove implicit dependency on the_index
+      patch-ids.c: remove implicit dependency on the_index
+      sha1-file.c: remove implicit dependency on the_index
+      rerere.c: remove implicit dependency on the_index
+      userdiff.c: remove implicit dependency on the_index
+      line-range.c: remove implicit dependency on the_index
+      submodule.c: remove implicit dependency on the_index
+      tree-diff.c: remove implicit dependency on the_index
+      ws.c: remove implicit dependency on the_index
+      revision.c: remove implicit dependency on the_index
+      revision.c: reduce implicit dependency the_repository
+      read-cache.c: optimize reading index format v4
+      help -a: improve and make --verbose default
+      refs.c: indent with tabs, not spaces
+      Add a place for (not) sharing stuff between worktrees
+      submodule.c: remove some of the_repository references
+      completion: fix __gitcomp_builtin no longer consider extra options
+      t1300: extract and use test_cmp_config()
+      worktree: add per-worktree config files
+      refs: new ref types to make per-worktree refs visible to all worktrees
+      revision.c: correct a parameter name
+      revision.c: better error reporting on ref from different worktrees
+      fsck: check HEAD and reflog from other worktrees
+      reflog expire: cover reflog from all worktrees
+      Update makefile in preparation for Documentation/config/*.txt
+      config.txt: move advice.* to a separate file
+      config.txt: move core.* to a separate file
+      config.txt: move add.* to a separate file
+      config.txt: move alias.* to a separate file
+      config.txt: move am.* to a separate file
+      config.txt: move apply.* to a separate file
+      config.txt: move blame.* to a separate file
+      config.txt: move branch.* to a separate file
+      config.txt: move browser.* to a separate file
+      config.txt: move checkout.* to a separate file
+      config.txt: move clean.* to a separate file
+      config.txt: move color.* to a separate file
+      config.txt: move column.* to a separate file
+      config.txt: move commit.* to a separate file
+      config.txt: move credential.* to a separate file
+      config.txt: move completion.* to a separate file
+      config.txt: move diff-config.txt to config/
+      config.txt: move difftool.* to a separate file
+      config.txt: move fastimport.* to a separate file
+      config.txt: move fetch-config.txt to config/
+      config.txt: move filter.* to a separate file
+      config.txt: move format-config.txt to config/
+      config.txt: move fmt-merge-msg-config.txt to config/
+      config.txt: move fsck.* to a separate file
+      config.txt: move gc.* to a separate file
+      config.txt: move gitcvs-config.txt to config/
+      config.txt: move gitweb.* to a separate file
+      config.txt: move grep.* to a separate file
+      config.txt: move gpg.* to a separate file
+      config.txt: move gui-config.txt to config/
+      config.txt: move guitool.* to a separate file
+      config.txt: move help.* to a separate file
+      config.txt: move ssh.* to a separate file
+      config.txt: move http.* to a separate file
+      config.txt: move i18n.* to a separate file
+      git-imap-send.txt: move imap.* to a separate file
+      config.txt: move index.* to a separate file
+      config.txt: move init.* to a separate file
+      config.txt: move instaweb.* to a separate file
+      config.txt: move interactive.* to a separate file
+      config.txt: move log.* to a separate file
+      config.txt: move mailinfo.* to a separate file
+      config.txt: move mailmap.* to a separate file
+      config.txt: move man.* to a separate file
+      config.txt: move merge-config.txt to config/
+      config.txt: move mergetool.* to a separate file
+      config.txt: move notes.* to a separate file
+      config.txt: move pack.* to a separate file
+      config.txt: move pager.* to a separate file
+      config.txt: move pretty.* to a separate file
+      config.txt: move protocol.* to a separate file
+      config.txt: move pull-config.txt to config/
+      config.txt: move push-config.txt to config/
+      config.txt: move rebase-config.txt to config/
+      config.txt: move receive-config.txt to config/
+      config.txt: move remote.* to a separate file
+      config.txt: move remotes.* to a separate file
+      config.txt: move repack.* to a separate file
+      config.txt: move rerere.* to a separate file
+      config.txt: move reset.* to a separate file
+      config.txt: move sendemail-config.txt to config/
+      config.txt: move sequencer.* to a separate file
+      config.txt: move showBranch.* to a separate file
+      config.txt: move splitIndex.* to a separate file
+      config.txt: move status.* to a separate file
+      config.txt: move stash.* to a separate file
+      config.txt: move submodule.* to a separate file
+      config.txt: move tag.* to a separate file
+      config.txt: move transfer.* to a separate file
+      config.txt: move uploadarchive.* to a separate file
+      config.txt: move uploadpack.* to a separate file
+      config.txt: move url.* to a separate file
+      config.txt: move user.* to a separate file
+      config.txt: move versionsort.* to a separate file
+      config.txt: move web.* to a separate file
+      config.txt: move worktree.* to a separate file
+      config.txt: remove config/dummy.txt
+      thread-utils: macros to unconditionally compile pthreads API
+      wildmatch: change behavior of "foo**bar" in WM_PATHNAME mode
+      git-worktree.txt: correct linkgit command name
+      sequencer.c: remove a stray semicolon
+      tree-walk.c: fix overoptimistic inclusion in :(exclude) matching
+      run-command.h: include thread-utils.h instead of pthread.h
+      send-pack.c: move async's #ifdef NO_PTHREADS back to run-command.c
+      index-pack: remove #ifdef NO_PTHREADS
+      name-hash.c: remove #ifdef NO_PTHREADS
+      attr.c: remove #ifdef NO_PTHREADS
+      grep: remove #ifdef NO_PTHREADS
+      grep: clean up num_threads handling
+      preload-index.c: remove #ifdef NO_PTHREADS
+      pack-objects: remove #ifdef NO_PTHREADS
+      read-cache.c: remove #ifdef NO_PTHREADS
+      read-cache.c: reduce branching based on HAVE_THREADS
+      read-cache.c: initialize copy_len to shut up gcc 8
+      Clean up pthread_create() error handling
+      completion: use __gitcomp_builtin for format-patch
+      build: fix broken command-list.h generation with core.autocrlf
+      doc: move extensions.worktreeConfig to the right place
+
+Nickolai Belakovski (2):
+      worktree: update documentation for lock_reason and lock_reason_valid
+      worktree: rename is_worktree_locked to worktree_lock_reason
+
+Olga Telezhnaya (3):
+      ref-filter: free memory from used_atom
+      ls-remote: release memory instead of UNLEAK
+      ref-filter: free item->value and item->value->s
+
+Phillip Wood (11):
+      diff: fix --color-moved-ws=allow-indentation-change
+      diff --color-moved-ws: fix double free crash
+      diff --color-moved-ws: fix out of bounds string access
+      diff --color-moved-ws: fix a memory leak
+      diff --color-moved-ws: fix another memory leak
+      diff --color-moved: fix a memory leak
+      am: don't die in read_author_script()
+      am: improve author-script error reporting
+      am: rename read_author_script()
+      add read_author_script() to libgit
+      sequencer: use read_author_script()
+
+Pratik Karki (46):
+      rebase: start implementing it as a builtin
+      rebase: refactor common shell functions into their own file
+      builtin/rebase: support running "git rebase <upstream>"
+      builtin rebase: support --onto
+      builtin rebase: support `git rebase --onto A...B`
+      builtin rebase: handle the pre-rebase hook and --no-verify
+      builtin rebase: support --quiet
+      builtin rebase: support the `verbose` and `diffstat` options
+      builtin rebase: require a clean worktree
+      builtin rebase: try to fast forward when possible
+      builtin rebase: support --force-rebase
+      builtin rebase: start a new rebase only if none is in progress
+      builtin rebase: only store fully-qualified refs in `options.head_name`
+      builtin rebase: support `git rebase <upstream> <switch-to>`
+      builtin rebase: support --continue
+      builtin rebase: support --skip
+      builtin rebase: support --abort
+      builtin rebase: support --quit
+      builtin rebase: support --edit-todo and --show-current-patch
+      builtin rebase: actions require a rebase in progress
+      builtin rebase: stop if `git am` is in progress
+      builtin rebase: allow selecting the rebase "backend"
+      builtin rebase: support --signoff
+      builtin rebase: support --rerere-autoupdate
+      builtin rebase: support --committer-date-is-author-date
+      builtin rebase: support `ignore-whitespace` option
+      builtin rebase: support `ignore-date` option
+      builtin rebase: support `keep-empty` option
+      builtin rebase: support `--autosquash`
+      builtin rebase: support `--gpg-sign` option
+      builtin rebase: support `-C` and `--whitespace=<type>`
+      builtin rebase: support `--autostash` option
+      builtin rebase: support `--exec`
+      builtin rebase: support `--allow-empty-message` option
+      builtin rebase: support --rebase-merges[=[no-]rebase-cousins]
+      merge-base --fork-point: extract libified function
+      builtin rebase: support `fork-point` option
+      builtin rebase: add support for custom merge strategies
+      builtin rebase: support --root
+      builtin rebase: optionally auto-detect the upstream
+      builtin rebase: optionally pass custom reflogs to reset_head()
+      builtin rebase: fast-forward to onto if it is a proper descendant
+      builtin rebase: show progress when connected to a terminal
+      builtin rebase: use no-op editor when interactive is "implied"
+      builtin rebase: error out on incompatible option/mode combinations
+      rebase: default to using the builtin rebase
+
+Rafael Ascensão (2):
+      refs: show --exclude failure with --branches/tags/remotes=glob
+      refs: fix some exclude patterns being ignored
+
+Ralf Thielow (1):
+      git-rebase.sh: fix typos in error messages
+
+Ramsay Jones (12):
+      Makefile: add a hdr-check target
+      json-writer.h: add missing include (hdr-check)
+      ewah/ewok_rlw.h: add missing include (hdr-check)
+      refs/ref-cache.h: add missing declarations (hdr-check)
+      refs/packed-backend.h: add missing declaration (hdr-check)
+      refs/refs-internal.h: add missing declarations (hdr-check)
+      midx.h: add missing forward declarations (hdr-check)
+      delta-islands.h: add missing forward declarations (hdr-check)
+      headers: normalize the spelling of some header guards
+      fetch-object.h: add missing declaration (hdr-check)
+      ewok_rlw.h: add missing 'inline' to function definition
+      commit-reach.h: add missing declarations (hdr-check)
+
+Rasmus Villemoes (6):
+      help: redirect to aliased commands for "git cmd --help"
+      git.c: handle_alias: prepend alias info when first argument is -h
+      git-help.txt: document "git help cmd" vs "git cmd --help" for aliases
+      Documentation/git-send-email.txt: style fixes
+      send-email: only consider lines containing @ or <> for automatic Cc'ing
+      send-email: also pick up cc addresses from -by trailers
+
+René Scharfe (11):
+      mailinfo: support format=flowed
+      fsck: add a performance test for skipList
+      fsck: use strbuf_getline() to read skiplist file
+      fsck: use oidset instead of oid_array for skipList
+      grep: add -r/--[no-]recursive
+      fetch-pack: factor out is_unmatched_ref()
+      fetch-pack: load tip_oids eagerly iff needed
+      khash: factor out kh_release_*
+      oidset: use khash
+      oidset: uninline oidset_init()
+      commit-reach: fix cast in compare_commits_by_gen()
+
+Roger Strain (1):
+      subtree: performance improvement for finding unexpected parent commits
+
+SZEDER Gábor (4):
+      t1404: increase core.packedRefsTimeout to avoid occasional test failure
+      object_id.cocci: match only expressions of type 'struct object_id'
+      travis-ci: install packages in 'ci/install-dependencies.sh'
+      ref-filter: don't look for objects when outside of a repository
+
+Stefan Beller (21):
+      git-submodule.sh: align error reporting for update mode to use path
+      git-submodule.sh: rename unused variables
+      builtin/submodule--helper: factor out submodule updating
+      builtin/submodule--helper: store update_clone information in a struct
+      builtin/submodule--helper: factor out method to update a single submodule
+      submodule--helper: replace connect-gitdir-workingtree by ensure-core-worktree
+      submodule--helper: introduce new update-module-mode helper
+      test_decode_color: understand FAINT and ITALIC
+      t3206: add color test for range-diff --dual-color
+      diff.c: simplify caller of emit_line_0
+      diff.c: reorder arguments for emit_line_ws_markup
+      diff.c: add set_sign to emit_line_0
+      diff: use emit_line_0 once per line
+      diff.c: omit check for line prefix in emit_line_0
+      diff.c: rewrite emit_line_0 more understandably
+      diff.c: add --output-indicator-{new, old, context}
+      range-diff: make use of different output indicators
+      range-diff: indent special lines as context
+      diff.c: pass sign_index to emit_line_ws_markup
+      submodule helper: convert relative URL to absolute URL if needed
+      builtin/submodule--helper: remove debugging leftover tracing
+
+Stephen P. Smith (10):
+      wt-status.c: move has_unmerged earlier in the file
+      wt-status: rename commitable to committable
+      t7501: add test of "commit --dry-run --short"
+      wt-status.c: set the committable flag in the collect phase
+      roll wt_status_state into wt_status and populate in the collect phase
+      t2000: rename and combine checkout clash tests
+      t7509: cleanup description and filename
+      t7502: rename commit test script to comply with naming convention
+      t7500: rename commit tests script to comply with naming convention
+      t7501: rename commit test to comply with naming convention
+
+Steve Hoelzer (1):
+      poll: use GetTickCount64() to avoid wrap-around issues
+
+Steven Fernandez (1):
+      git-completion.bash: add completion for stash list
+
+Strain, Roger L (4):
+      subtree: refactor split of a commit into standalone method
+      subtree: make --ignore-joins pay attention to adds
+      subtree: use commits before rejoins for splits
+      subtree: improve decision on merges kept in split
+
+Taylor Blau (4):
+      transport.c: extract 'fill_alternate_refs_command'
+      transport.c: introduce core.alternateRefsCommand
+      transport.c: introduce core.alternateRefsPrefixes
+      Documentation/config.txt: fix typo in core.alternateRefsCommand
+
+Thomas Gummerer (13):
+      rerere: unify error messages when read_cache fails
+      rerere: lowercase error messages
+      rerere: wrap paths in output in sq
+      rerere: mark strings for translation
+      rerere: add documentation for conflict normalization
+      rerere: fix crash with files rerere can't handle
+      rerere: only return whether a path has conflicts or not
+      rerere: factor out handle_conflict function
+      rerere: return strbuf from handle path
+      rerere: teach rerere to handle nested conflicts
+      rerere: recalculate conflict ID when unresolved conflict is committed
+      rerere: mention caveat about unmatched conflict markers
+      rerere: add note about files with existing conflict markers
+
+Tim Schumacher (3):
+      alias: add support for aliases of an alias
+      alias: show the call history when an alias is looping
+      t0014: introduce an alias testing suite
+
+brian m. carlson (26):
+      t: add test functions to translate hash-related values
+      t0000: use hash translation table
+      t0000: update tests for SHA-256
+      t0002: abstract away SHA-1 specific constants
+      t0064: make hash size independent
+      t1006: make hash size independent
+      t1400: switch hard-coded object ID to variable
+      t1405: make hash size independent
+      t1406: make hash-size independent
+      t1407: make hash size independent
+      editorconfig: provide editor settings for Git developers
+      editorconfig: indicate settings should be kept in sync
+      pack-bitmap-write: use GIT_MAX_RAWSZ for allocation
+      builtin/repack: replace hard-coded constants
+      builtin/mktree: remove hard-coded constant
+      builtin/fetch-pack: remove constants with parse_oid_hex
+      pack-revindex: express constants in terms of the_hash_algo
+      packfile: express constants in terms of the_hash_algo
+      refs/packed-backend: express constants using the_hash_algo
+      upload-pack: express constants in terms of the_hash_algo
+      transport: use parse_oid_hex instead of a constant
+      tag: express constant in terms of the_hash_algo
+      apply: replace hard-coded constants
+      apply: rename new_sha1_prefix and old_sha1_prefix
+      submodule: make zero-oid comparison hash function agnostic
+      rerere: convert to use the_hash_algo
+
+Ævar Arnfjörð Bjarmason (31):
+      fetch: change "branch" to "reference" in --force -h output
+      push tests: make use of unused $1 in test description
+      push tests: use spaces in interpolated string
+      fetch tests: add a test for clobbering tag behavior
+      push doc: remove confusing mention of remote merger
+      push doc: move mention of "tag <tag>" later in the prose
+      push doc: correct lies about how push refspecs work
+      fetch: document local ref updates with/without --force
+      fetch: stop clobbering existing tags without --force
+      fsck tests: setup of bogus commit object
+      fsck tests: add a test for no skipList input
+      fsck: document and test sorted skipList input
+      fsck: document and test commented & empty line skipList input
+      fsck: document that skipList input must be unabbreviated
+      fsck: add a performance test
+      fsck: support comments & empty lines in skipList
+      commit-graph write: add progress output
+      commit-graph verify: add progress output
+      config doc: add missing list separator for checkout.optimizeNewBranch
+      push doc: add spacing between two words
+      fetch doc: correct grammar in --force docs
+      gc: fix regression in 7b0f229222 impacting --quiet
+      gc doc: mention the commit-graph in the intro
+      pack-objects test: modernize style
+      pack-objects tests: don't leave test .git corrupt at end
+      index-pack tests: don't leave test repo dirty at end
+      range-diff doc: add a section about output stability
+      range-diff: fix regression in passing along diff options
+      range-diff: make diff option behavior (e.g. --stat) consistent
+      rebase doc: document rebase.useBuiltin
+      tests: add a special setup where rebase.useBuiltin is off
+
+
+Version v2.19.6; changes since v2.19.5:
+---------------------------------------
+
+Johannes Schindelin (4):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+      Git 2.19.6
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.19.5; changes since v2.19.4:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.19.4; changes since v2.19.3:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.19.3; changes since v2.19.2:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (25):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+      Git 2.19.3
+
+Jonathan Nieder (2):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+
+
+Version v2.19.2; changes since v2.19.1:
+---------------------------------------
+
+Alexander Pyhalov (1):
+      t7005-editor: quote filename to fix whitespace-issue
+
+Andreas Heiduk (6):
+      doc: clarify boundaries of 'git worktree list --porcelain'
+      doc: fix ASCII art tab spacing
+      doc: fix inappropriate monospace formatting
+      doc: fix descripion for 'git tag --format'
+      doc: fix indentation of listing blocks in gitweb.conf.txt
+      doc: fix formatting in git-update-ref
+
+Ben Peart (1):
+      git-mv: allow submodules and fsmonitor to work together
+
+Brandon Williams (1):
+      config: document value 2 for protocol.version
+
+Daniels Umanovskis (3):
+      doc: move git-rev-parse from porcelain to plumbing
+      doc: move git-get-tar-commit-id to plumbing
+      doc: move git-cherry to plumbing
+
+David Zych (1):
+      doc: clarify gitcredentials path component matching
+
+Derrick Stolee (6):
+      commit-graph: update design document
+      test-repository: properly init repo
+      commit-graph: not compatible with replace objects
+      commit-graph: not compatible with grafts
+      commit-graph: not compatible with uninitialized repo
+      commit-graph: close_commit_graph before shallow walk
+
+Elijah Newren (7):
+      Remove superfluous trailing semicolons
+      t4200: demonstrate rerere segfault on specially crafted merge
+      rerere: avoid buffer overrun
+      update-ref: fix type of update_flags variable to match its usage
+      update-ref: allow --no-deref with --stdin
+      sequencer: fix --allow-empty-message behavior, make it smarter
+      commit: fix erroneous BUG, 'multiple renames on the same target? how?'
+
+Frederick Eaton (3):
+      git-archimport.1: specify what kind of Arch we're talking about
+      git-column.1: clarify initial description, provide examples
+      git-describe.1: clarify that "human readable" is also git-readable
+
+Jeff Hostetler (2):
+      t0051: test GIT_TRACE to a windows named pipe
+      mingw: fix mingw_open_append to work with named pipes
+
+Jeff King (16):
+      trailer: use size_t for string offsets
+      trailer: use size_t for iterating trailer list
+      trailer: pass process_trailer_opts to trailer_info_get()
+      interpret-trailers: tighten check for "---" patch boundary
+      interpret-trailers: allow suppressing "---" divider
+      pretty, ref-filter: format %(trailers) with no_divider option
+      sequencer: ignore "---" divider when parsing trailers
+      append_signoff: use size_t for string offsets
+      reopen_tempfile(): truncate opened file
+      config.mak.dev: add -Wformat-security
+      receive-pack: update comment with check_everything_connected
+      run-command: mark path lookup errors with ENOENT
+      upload-pack: fix broken if/else chain in config callback
+      t1450: check large blob in trailing-garbage test
+      check_stream_sha1(): handle input underflow
+      cat-file: handle streaming failures consistently
+
+Johannes Schindelin (8):
+      rebase -i --autosquash: demonstrate a problem skipping the last squash
+      rebase -i: be careful to wrap up fixup/squash chains
+      pack-objects: fix typo 'detla' -> 'delta'
+      pack-objects (mingw): demonstrate a segmentation fault with large deltas
+      pack-objects (mingw): initialize `packing_data` mutex in the correct spot
+      repack: point out a bug handling stale shallow info
+      shallow: offer to prune only non-existing entries
+      repack -ad: prune the list of shallow commits
+
+Johannes Sixt (2):
+      diff: don't attempt to strip prefix from absolute Windows paths
+      t3404-rebase-interactive: test abbreviated commands
+
+Jonathan Nieder (2):
+      mailmap: consistently normalize brian m. carlson's name
+      git doc: direct bug reporters to mailing list archive
+
+Jonathan Tan (4):
+      fetch-object: unify fetch_object[s] functions
+      fetch-object: set exact_oid when fetching
+      fetch-pack: avoid object flags if no_dependents
+      fetch-pack: exclude blobs when lazy-fetching trees
+
+Junio C Hamano (5):
+      CodingGuidelines: document the API in *.h files
+      receive: denyCurrentBranch=updateinstead should not blindly update
+      cocci: simplify "if (++u > 1)" to "if (u++)"
+      fsck: s/++i > 1/i++/
+      Git 2.19.2
+
+Martin Ågren (5):
+      git-commit-graph.txt: fix bullet lists
+      git-commit-graph.txt: typeset more in monospace
+      git-commit-graph.txt: refer to "*commit*-graph file"
+      Doc: refer to the "commit-graph file" with dash
+      t1400: drop debug `echo` to actually execute `test`
+
+Matthew DeVore (2):
+      Documentation/git-log.txt: do not show --exclude-promisor-objects
+      exclude-promisor-objects: declare when option is allowed
+
+Michael Witten (3):
+      docs: typo: s/go/to/
+      docs: graph: remove unnecessary `graph_update()' call
+      docs: typo: s/isimilar/similar/
+
+Mihir Mehta (1):
+      doc: fix a typo and clarify a sentence
+
+Nguyễn Thái Ngọc Duy (2):
+      add: do not accept pathspec magic 'attr'
+      config.txt: correct the note about uploadpack.packObjectsHook
+
+Noam Postavsky (1):
+      log: fix coloring of certain octopus merge shapes
+
+René Scharfe (1):
+      sequencer: use return value of oidset_insert()
+
+SZEDER Gábor (12):
+      Documentation/git.txt: clarify that GIT_TRACE=/path appends
+      t3701-add-interactive: tighten the check of trace output
+      t1700-split-index: drop unnecessary 'grep'
+      t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
+      t1700-split-index: document why FSMONITOR is disabled in this test script
+      split-index: add tests to demonstrate the racy split index problem
+      t1700-split-index: date back files to avoid racy situations
+      split-index: count the number of deleted entries
+      split-index: don't compare cached data of entries already marked for split index
+      split-index: smudge and add racily clean cache entries to split index
+      split-index: BUG() when cache entry refers to non-existing shared entry
+      test-lib: introduce the '-V' short option for '--verbose-log'
+
+Sam McKelvie (1):
+      rev-parse: --show-superproject-working-tree should work during a merge
+
+Saulius Gurklys (1):
+      doc: fix small typo in git show-branch
+
+Sebastian Staudt (1):
+      travis-ci: no longer use containers
+
+Shulhan (1):
+      builtin/remote: quote remote name on error to display empty name
+
+Stefan Beller (4):
+      refs.c: migrate internal ref iteration to pass thru repository argument
+      refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
+      string-list: remove unused function print_string_list
+      strbuf.h: format according to coding guidelines
+
+Tao Qingyun (3):
+      refs: docstring typo
+      builtin/branch.c: remove useless branch_get
+      branch: trivial style fix
+
+Thomas Gummerer (4):
+      .gitattributes: add conflict-marker-size for relevant files
+      linear-assignment: fix potential out of bounds memory access
+      t5551: move setup code inside test_expect blocks
+      t5551: compare sorted cookies files
+
+Tim Schumacher (1):
+      Documentation/Makefile: make manpage-base-url.xsl generation quieter
+
+Torsten Bögershausen (2):
+      Make git_check_attr() a void function
+      path.c: char is not (always) signed
+
+Uwe Kleine-König (1):
+      howto/using-merge-subtree: mention --allow-unrelated-histories
+
+
+Version v2.19.1; changes since v2.19.0:
+---------------------------------------
+
+Jeff King (5):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+      fsck: detect submodule urls starting with dash
+      fsck: detect submodule paths starting with dash
+
+Junio C Hamano (6):
+      Git 2.14.5
+      Git 2.15.3
+      Git 2.16.5
+      Git 2.17.2
+      Git 2.18.1
+      Git 2.19.1
+
+
+Version v2.19.0; changes since v2.19.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (3958t)
+
+Christopher Díaz Riveros (1):
+      l10n: es.po v2.19.0 round 2
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.19.0 rnd 1
+      l10n: fr.po v2.19.0 rnd 2
+
+Jiang Xin (4):
+      l10n: zh_CN: review for git 2.18.0
+      l10n: git.pot: v2.19.0 round 1 (382 new, 30 removed)
+      l10n: git.pot: v2.19.0 round 2 (3 new, 5 removed)
+      l10n: zh_CN: for git v2.19.0 l10n round 1 to 2
+
+Jonathan Nieder (1):
+      Revert "Merge branch 'sb/submodule-core-worktree'"
+
+Junio C Hamano (1):
+      Git 2.19
+
+Max Kirillov (1):
+      http-backend: allow empty CONTENT_LENGTH
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation(3608t0f0u)
+      l10n: sv.po: Update Swedish translation (3958t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 108 new messages
+
+Raphaël Hertzog (1):
+      l10n: fr: fix a message seen in git bisect
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(3958t): updated Vietnamese translation v2.19.0 round 2
+
+
+Version v2.19.0-rc2; changes since v2.19.0-rc1:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      commit: don't use generation numbers if not needed
+
+Elijah Newren (3):
+      t3401: add another directory rename testcase for rebase and am
+      merge-recursive: add ability to turn off directory rename detection
+      am: avoid directory rename detection when calling recursive merge machinery
+
+Eric Sunshine (2):
+      chainlint: match "quoted" here-doc tags
+      config.mak.uname: resolve FreeBSD iconv-related compilation warning
+
+Junio C Hamano (1):
+      Git 2.19-rc2
+
+Phillip Wood (2):
+      sequencer: handle errors from read_author_ident()
+      sequencer: fix quoting in write_author_script
+
+Ævar Arnfjörð Bjarmason (8):
+      tests: fix and add lint for non-portable head -c N
+      tests: fix and add lint for non-portable seq
+      tests: fix comment syntax in chainlint.sed for AIX sed
+      tests: use shorter labels in chainlint.sed for AIX sed
+      tests: fix version-specific portability issue in Perl JSON
+      tests: fix and add lint for non-portable grep --file
+      tests: fix non-portable "${var:-"str"}" construct
+      tests: fix non-portable iconv invocation
+
+
+Version v2.19.0-rc1; changes since v2.19.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (2):
+      commit: use timestamp_t for author_date_slab
+      config: fix commit-graph related config docs
+
+Elia Pinto (1):
+      worktree: add --quiet option
+
+Jean-Noël Avila (1):
+      i18n: fix mistakes in translated strings
+
+Jeff King (2):
+      test-tool.h: include git-compat-util.h
+      hashcmp: assert constant hash size
+
+Junio C Hamano (3):
+      config.txt: clarify core.checkStat
+      Getting ready for -rc1
+      Git 2.19-rc1
+
+Kyle Meyer (1):
+      range-diff: update stale summary of --no-dual-color
+
+Nguyễn Thái Ngọc Duy (2):
+      pack-objects: fix performance issues on packing large deltas
+      generate-cmdlist.sh: collect config from all config.txt files
+
+René Scharfe (3):
+      checkout-index: improve argument help for --stage
+      remote: improve argument help for add --mirror
+      parseopt: group literal string alternatives in argument help
+
+SZEDER Gábor (11):
+      tests: use 'test_must_be_empty' instead of '! test -s'
+      tests: use 'test_must_be_empty' instead of 'test ! -s'
+      tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>'
+      tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>'
+      t7501-commit: drop silly command substitution
+      t0020-crlf: check the right file
+      t4051-diff-function-context: read the right file
+      t6018-rev-list-glob: fix 'empty stdin' test
+      t3903-stash: don't try to grep non-existing file
+      t3420-rebase-autostash: don't try to grep non-existing files
+      t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh'
+
+Samuel Maftoul (1):
+      branch: support configuring --sort via .gitconfig
+
+Ævar Arnfjörð Bjarmason (1):
+      refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x)
+
+
+Version v2.19.0-rc0; changes since v2.18.5:
+-------------------------------------------
+
+Aaron Schrab (1):
+      sequencer: use configured comment character
+
+Alban Gruin (4):
+      rebase: introduce a dedicated backend for --preserve-merges
+      rebase: strip unused code in git-rebase--preserve-merges.sh
+      rebase: use the new git-rebase--preserve-merges.sh
+      rebase: remove -p code from git-rebase--interactive.sh
+
+Alejandro R. Sedeño (1):
+      Makefile: tweak sed invocation
+
+Aleksandr Makarov (1):
+      for-each-ref: consistently pass WM_IGNORECASE flag
+
+Andrei Rybak (2):
+      Documentation: fix --color option formatting
+      t4150: fix broken test for am --scissors
+
+Anthony Sottile (1):
+      config.c: fix regression for core.safecrlf false
+
+Antonio Ospite (6):
+      config: move config_from_gitmodules to submodule-config.c
+      submodule-config: add helper function to get 'fetch' config from .gitmodules
+      submodule-config: add helper to get 'update-clone' config from .gitmodules
+      submodule-config: make 'config_from_gitmodules' private
+      submodule-config: pass repository as argument to config_from_gitmodules
+      submodule-config: reuse config_from_gitmodules in repo_read_gitmodules
+
+Beat Bolli (10):
+      builtin/config: work around an unsized array forward declaration
+      unicode: update the width tables to Unicode 11
+      connect.h: avoid forward declaration of an enum
+      refs/refs-internal.h: avoid forward declaration of an enum
+      convert.c: replace "\e" escapes with "\033".
+      sequencer.c: avoid empty statements at top level
+      string-list.c: avoid conversion from void * to function pointer
+      utf8.c: avoid char overflow
+      Makefile: add a DEVOPTS flag to get pedantic compilation
+      packfile: ensure that enum object_type is defined
+
+Ben Peart (3):
+      convert log_ref_write_fd() to use strbuf
+      handle lower case drive letters on Windows
+      t3507: add a testcase showing failure with sparse checkout
+
+Brandon Williams (15):
+      commit: convert commit_graft_pos() to handle arbitrary repositories
+      commit: convert register_commit_graft to handle arbitrary repositories
+      commit: convert read_graft_file to handle arbitrary repositories
+      test-pkt-line: add unpack-sideband subcommand
+      docs: link to gitsubmodules
+      upload-pack: implement ref-in-want
+      upload-pack: test negotiation with changing repository
+      fetch: refactor the population of peer ref OIDs
+      fetch: refactor fetch_refs into two functions
+      fetch: refactor to make function args narrower
+      fetch-pack: put shallow info in output parameter
+      fetch-pack: implement ref-in-want
+      clone: send ref-prefixes when using protocol v2
+      fetch-pack: mark die strings for translation
+      pack-protocol: mention and point to docs for protocol v2
+
+Chen Bin (1):
+      git-p4: add the `p4-pre-submit` hook
+
+Christian Couder (1):
+      t9104: kosherly remove remote refs
+
+Derrick Stolee (43):
+      ref-filter: fix outdated comment on in_commit_list
+      commit: add generation number to struct commit
+      commit-graph: compute generation numbers
+      commit: use generations in paint_down_to_common()
+      commit-graph: always load commit-graph information
+      ref-filter: use generation number for --contains
+      commit: use generation numbers for in_merge_bases()
+      commit: add short-circuit to paint_down_to_common()
+      commit: use generation number in remove_redundant()
+      merge: check config before loading commits
+      commit-graph.txt: update design document
+      commit-graph: fix UX issue when .lock file exists
+      ewah/bitmap.c: delete unused 'bitmap_clear()'
+      ewah/bitmap.c: delete unused 'bitmap_each_bit()'
+      ewah_bitmap: delete unused 'ewah_and()'
+      ewah_bitmap: delete unused 'ewah_and_not()'
+      ewah_bitmap: delete unused 'ewah_not()'
+      ewah_bitmap: delete unused 'ewah_or()'
+      ewah_io: delete unused 'ewah_serialize()'
+      t5318-commit-graph.sh: use core.commitGraph
+      commit-graph: UNLEAK before die()
+      commit-graph: fix GRAPH_MIN_SIZE
+      commit-graph: parse commit from chosen graph
+      commit: force commit to parse from object database
+      commit-graph: load a root tree from specific graph
+      commit-graph: add 'verify' subcommand
+      commit-graph: verify catches corrupt signature
+      commit-graph: verify required chunks are present
+      commit-graph: verify corrupt OID fanout and lookup
+      commit-graph: verify objects exist
+      commit-graph: verify root tree OIDs
+      commit-graph: verify parent list
+      commit-graph: verify generation number
+      commit-graph: verify commit date
+      commit-graph: test for corrupted octopus edge
+      commit-graph: verify contents match checksum
+      fsck: verify commit-graph
+      commit-graph: use string-list API for input
+      commit-graph: add '--reachable' option
+      gc: automatically write commit-graph files
+      commit-graph: update design document
+      commit-graph: fix documentation inconsistencies
+      coccinelle: update commit.cocci
+
+Elijah Newren (63):
+      t6036, t6042: use test_create_repo to keep tests independent
+      t6036, t6042: use test_line_count instead of wc -l
+      t6036, t6042: prefer test_path_is_file, test_path_is_missing
+      t6036, t6042: prefer test_cmp to sequences of test
+      t6036: prefer test_when_finished to manual cleanup in following test
+      merge-recursive: fix miscellaneous grammar error in comment
+      merge-recursive: fix numerous argument alignment issues
+      merge-recursive: align labels with their respective code blocks
+      merge-recursive: clarify the rename_dir/RENAME_DIR meaning
+      merge-recursive: rename conflict_rename_*() family of functions
+      merge-recursive: add pointer about unduly complex looking code
+      git-rebase.txt: document incompatible options
+      git-rebase.sh: update help messages a bit
+      t3422: new testcases for checking when incompatible options passed
+      git-rebase: error out when incompatible options passed
+      git-rebase.txt: address confusion between --no-ff vs --force-rebase
+      directory-rename-detection.txt: technical docs on abilities and limitations
+      git-rebase.txt: document behavioral differences between modes
+      t3401: add directory rename testcases for rebase and am
+      git-rebase: make --allow-empty-message the default
+      t3418: add testcase showing problems with rebase -i and strategy options
+      Fix use of strategy options with interactive rebases
+      git-rebase--merge: modernize "git-$cmd" to "git $cmd"
+      apply: fix grammar error in comment
+      t5407: fix test to cover intended arguments
+      read-cache.c: move index_has_changes() from merge.c
+      index_has_changes(): avoid assuming operating on the_index
+      t6044: verify that merges expected to abort actually abort
+      t6036: add a failed conflict detection case with symlink modify/modify
+      t6036: add a failed conflict detection case with symlink add/add
+      t6036: add a failed conflict detection case with submodule modify/modify
+      t6036: add a failed conflict detection case with submodule add/add
+      t6036: add a failed conflict detection case with conflicting types
+      t6042: add testcase covering rename/add/delete conflict type
+      t6042: add testcase covering rename/rename(2to1)/delete/delete conflict
+      t6042: add testcase covering long chains of rename conflicts
+      t6036: add lots of detail for directory/file conflicts in recursive case
+      t6036: add a failed conflict detection case: regular files, different modes
+      t6044: add a testcase for index matching head, when head doesn't match HEAD
+      merge-recursive: make sure when we say we abort that we actually abort
+      merge-recursive: fix assumption that head tree being merged is HEAD
+      t6044: add more testcases with staged changes before a merge is invoked
+      merge-recursive: enforce rule that index matches head before merging
+      merge: fix misleading pre-merge check documentation
+      t7405: add a file/submodule conflict
+      t7405: add a directory/submodule conflict
+      t7405: verify 'merge --abort' works after submodule/path conflicts
+      merge-recursive: preserve skip_worktree bit when necessary
+      t1015: demonstrate directory/file conflict recovery failures
+      read-cache: fix directory/file conflict handling in read_index_unmerged()
+      t3031: update test description to mention desired behavior
+      t7406: fix call that was failing for the wrong reason
+      t7406: simplify by using diff --name-only instead of diff --raw
+      t7406: avoid having git commands upstream of a pipe
+      t7406: prefer test_* helper functions to test -[feds]
+      t7406: avoid using test_must_fail for commands other than git
+      git-update-index.txt: reword possibly confusing example
+      Add missing includes and forward declarations
+      alloc: make allocate_alloc_state and clear_alloc_state more consistent
+      Move definition of enum branch_track from cache.h to branch.h
+      urlmatch.h: fix include guard
+      compat/precompose_utf8.h: use more common include guard style
+      Remove forward declaration of an enum
+
+Eric Sunshine (53):
+      t: use test_might_fail() instead of manipulating exit code manually
+      t: use test_write_lines() instead of series of 'echo' commands
+      t: use sane_unset() rather than 'unset' with broken &&-chain
+      t: drop unnecessary terminating semicolon in subshell
+      t/lib-submodule-update: fix "absorbing" test
+      t5405: use test_must_fail() instead of checking exit code manually
+      t5406: use write_script() instead of birthing shell script manually
+      t5505: modernize and simplify hard-to-digest test
+      t6036: fix broken "merge fails but has appropriate contents" tests
+      t7201: drop pointless "exit 0" at end of subshell
+      t7400: fix broken "submodule add/reconfigure --force" test
+      t7810: use test_expect_code() instead of hand-rolled comparison
+      t9001: fix broken "invoke hook" test
+      t9814: simplify convoluted check that command correctly errors out
+      t0000-t0999: fix broken &&-chains
+      t1000-t1999: fix broken &&-chains
+      t2000-t2999: fix broken &&-chains
+      t3000-t3999: fix broken &&-chains
+      t3030: fix broken &&-chains
+      t4000-t4999: fix broken &&-chains
+      t5000-t5999: fix broken &&-chains
+      t6000-t6999: fix broken &&-chains
+      t7000-t7999: fix broken &&-chains
+      t9000-t9999: fix broken &&-chains
+      t9119: fix broken &&-chains
+      t6046/t9833: fix use of "VAR=VAL cmd" with a shell function
+      t/check-non-portable-shell: stop being so polite
+      t/check-non-portable-shell: make error messages more compact
+      t/check-non-portable-shell: detect "FOO=bar shell_func"
+      t/test-lib: teach --chain-lint to detect broken &&-chains in subshells
+      t/Makefile: add machinery to check correctness of chainlint.sed
+      t/chainlint: add chainlint "basic" test cases
+      t/chainlint: add chainlint "whitespace" test cases
+      t/chainlint: add chainlint "one-liner" test cases
+      t/chainlint: add chainlint "nested subshell" test cases
+      t/chainlint: add chainlint "loop" and "conditional" test cases
+      t/chainlint: add chainlint "cuddled" test cases
+      t/chainlint: add chainlint "complex" test cases
+      t/chainlint: add chainlint "specialized" test cases
+      diff: --color-moved: rename "dimmed_zebra" to "dimmed-zebra"
+      mw-to-git/t9360: fix broken &&-chain
+      t/chainlint.sed: drop extra spaces from regex character class
+      sequencer: fix "rebase -i --root" corrupting author header
+      sequencer: fix "rebase -i --root" corrupting author header timezone
+      sequencer: fix "rebase -i --root" corrupting author header timestamp
+      sequencer: don't die() on bogus user-edited timestamp
+      color: protect against out-of-bounds reads and writes
+      chainlint: match arbitrary here-docs tags rather than hard-coded names
+      chainlint: match 'quoted' here-doc tags
+      chainlint: recognize multi-line $(...) when command cuddled with "$("
+      chainlint: let here-doc and multi-line string commence on same line
+      chainlint: recognize multi-line quoted strings more robustly
+      chainlint: add test of pathological case which triggered false positive
+
+Han-Wen Nienhuys (2):
+      config: document git config getter return value
+      sideband: highlight keywords in remote sideband output
+
+Henning Schild (9):
+      builtin/receive-pack: use check_signature from gpg-interface
+      gpg-interface: make parse_gpg_output static and remove from interface header
+      gpg-interface: add new config to select how to sign a commit
+      t/t7510: check the validation of the new config gpg.format
+      gpg-interface: introduce an abstraction for multiple gpg formats
+      gpg-interface: do not hardcode the key string len anymore
+      gpg-interface: introduce new config to select per gpg format program
+      gpg-interface: introduce new signature format "x509" using gpgsm
+      gpg-interface t: extend the existing GPG tests with GPGSM
+
+Isabella Stephens (2):
+      blame: prevent error if range ends past end of file
+      log: prevent error if line range ends past end of file
+
+Jameson Miller (8):
+      read-cache: teach refresh_cache_entry to take istate
+      read-cache: teach make_cache_entry to take object_id
+      block alloc: add lifecycle APIs for cache_entry structs
+      mem-pool: only search head block for available space
+      mem-pool: add life cycle management functions
+      mem-pool: fill out functionality
+      block alloc: allocate cache entries from mem_pool
+      block alloc: add validations around cache_entry lifecyle
+
+Jeff Hostetler (1):
+      json_writer: new routines to create JSON data
+
+Jeff King (48):
+      make show-index a builtin
+      show-index: update documentation for index v2
+      fetch-pack: don't try to fetch peel values with --all
+      ewah: drop ewah_deserialize function
+      ewah: drop ewah_serialize_native function
+      t3200: unset core.logallrefupdates when testing reflog creation
+      t: switch "branch -l" to "branch --create-reflog"
+      branch: deprecate "-l" option
+      config: turn die_on_error into caller-facing enum
+      config: add CONFIG_ERROR_SILENT handler
+      config: add options parameter to git_config_from_mem
+      fsck: silence stderr when parsing .gitmodules
+      t6300: add a test for --ignore-case
+      ref-filter: avoid backend filtering with --ignore-case
+      t5500: prettify non-commit tag tests
+      sequencer: handle empty-set cases consistently
+      sequencer: don't say BUG on bogus input
+      has_uncommitted_changes(): fall back to empty tree
+      fsck: split ".gitmodules too large" error from parse failure
+      fsck: downgrade gitmodulesParse default to "info"
+      blame: prefer xsnprintf to strcpy for colors
+      check_replace_refs: fix outdated comment
+      check_replace_refs: rename to read_replace_refs
+      add core.usereplacerefs config option
+      reencode_string: use st_add/st_mult helpers
+      reencode_string: use size_t for string lengths
+      strbuf: use size_t for length in intermediate variables
+      strbuf_readlink: use ssize_t
+      pass st.st_size as hint for strbuf_readlink()
+      strbuf_humanise: use unsigned variables
+      automatically ban strcpy()
+      banned.h: mark strcat() as banned
+      banned.h: mark sprintf() as banned
+      banned.h: mark strncpy() as banned
+      score_trees(): fix iteration over trees with missing entries
+      add a script to diff rendered documentation
+      t5552: suppress upload-pack trace output
+      for_each_*_object: store flag definitions in a single location
+      for_each_*_object: take flag arguments as enum
+      for_each_*_object: give more comprehensive docstrings
+      for_each_packed_object: support iterating in pack-order
+      t1006: test cat-file --batch-all-objects with duplicates
+      cat-file: rename batch_{loose,packed}_object callbacks
+      cat-file: support "unordered" output for --batch-all-objects
+      cat-file: use oidset check-and-insert
+      cat-file: split batch "buf" into two variables
+      cat-file: use a single strbuf for all output
+      for_each_*_object: move declarations to object-store.h
+
+Johannes Schindelin (41):
+      Makefile: fix the "built from commit" code
+      merge: allow reading the merge commit message from a file
+      rebase --rebase-merges: add support for octopus merges
+      rebase --rebase-merges: adjust man page for octopus support
+      vcbuild/README: update to accommodate for missing common-cmds.h
+      t7406: avoid failures solely due to timing issues
+      contrib: add a script to initialize VS Code configuration
+      vscode: hard-code a couple defines
+      cache.h: extract enum declaration from inside a struct declaration
+      mingw: define WIN32 explicitly
+      vscode: only overwrite C/C++ settings
+      vscode: wrap commit messages at column 72 by default
+      vscode: use 8-space tabs, no trailing ws, etc for Git's source code
+      vscode: add a dictionary for cSpell
+      vscode: let cSpell work on commit messages, too
+      pull --rebase=<type>: allow single-letter abbreviations for the type
+      t3430: demonstrate what -r, --autosquash & --exec should do
+      git-compat-util.h: fix typo
+      remote-curl: remove spurious period
+      rebase --exec: make it work with --rebase-merges
+      linear-assignment: a function to solve least-cost assignment problems
+      Introduce `range-diff` to compare iterations of a topic branch
+      range-diff: first rudimentary implementation
+      range-diff: improve the order of the shown commits
+      range-diff: also show the diff between patches
+      range-diff: right-trim commit messages
+      range-diff: indent the diffs just like tbdiff
+      range-diff: suppress the diff headers
+      range-diff: adjust the output of the commit pairs
+      range-diff: do not show "function names" in hunk headers
+      range-diff: use color for the commit pairs
+      color: add the meta color GIT_COLOR_REVERSE
+      diff: add an internal option to dual-color diffs of diffs
+      range-diff: offer to dual-color the diffs
+      range-diff --dual-color: skip white-space warnings
+      range-diff: populate the man page
+      completion: support `git range-diff`
+      range-diff: left-pad patch numbers
+      range-diff: make --dual-color the default mode
+      range-diff: use dim/bold cues to improve dual color mode
+      chainlint: fix for core.autocrlf=true
+
+Johannes Sixt (1):
+      mingw: enable atomic O_APPEND
+
+Jonathan Nieder (11):
+      object: add repository argument to grow_object_hash
+      object: move grafts to object parser
+      commit: add repository argument to commit_graft_pos
+      commit: add repository argument to register_commit_graft
+      commit: add repository argument to read_graft_file
+      commit: add repository argument to prepare_commit_graft
+      commit: add repository argument to lookup_commit_graft
+      subtree test: add missing && to &&-chain
+      subtree test: simplify preparation of expected results
+      doc hash-function-transition: pick SHA-256 as NewHash
+      partial-clone: render design doc using asciidoc
+
+Jonathan Tan (28):
+      list-objects: check if filter is NULL before using
+      fetch-pack: split up everything_local()
+      fetch-pack: clear marks before re-marking
+      fetch-pack: directly end negotiation if ACK ready
+      fetch-pack: use ref adv. to prune "have" sent
+      fetch-pack: make negotiation-related vars local
+      fetch-pack: move common check and marking together
+      fetch-pack: introduce negotiator API
+      pack-bitmap: remove bitmap_git global variable
+      pack-bitmap: add free function
+      fetch-pack: write shallow, then check connectivity
+      fetch-pack: support negotiation tip whitelist
+      upload-pack: send refs' objects despite "filter"
+      clone: check connectivity even if clone is partial
+      revision: tolerate promised targets of tags
+      tag: don't warn if target is missing but promised
+      negotiator/skipping: skip commits during fetch
+      commit-graph: refactor preparing commit graph
+      object-store: add missing include
+      commit-graph: add missing forward declaration
+      commit-graph: add free_commit_graph
+      commit-graph: store graph in struct object_store
+      commit-graph: add repo arg to graph readers
+      t5702: test fetch with multiple refspecs at a time
+      fetch: send "refs/tags/" prefix upon CLI refspecs
+      fetch-pack: unify ref in and out param
+      repack: refactor setup of pack-objects cmd
+      repack: repack promisor objects if -a or -A is set
+
+Josh Steadmon (1):
+      protocol-v2 doc: put HTTP headers after request
+
+Jules Maselbas (1):
+      send-email: fix tls AUTH when sending batch
+
+Junio C Hamano (18):
+      tests: clean after SANITY tests
+      ewah: delete unused 'rlwit_discharge_empty()'
+      Prepare to start 2.19 cycle
+      First batch for 2.19 cycle
+      Second batch for 2.19 cycle
+      fixup! connect.h: avoid forward declaration of an enum
+      fixup! refs/refs-internal.h: avoid forward declaration of an enum
+      t3404: fix use of "VAR=VAL cmd" with a shell function
+      Third batch for 2.19 cycle
+      Fourth batch for 2.19 cycle
+      remote: make refspec follow the same disambiguation rule as local refs
+      Fifth batch for 2.19 cycle
+      update-index: there no longer is `apply --index-info`
+      gpg-interface: propagate exit status from gpg back to the callers
+      Sixth batch for 2.19 cycle
+      Seventh batch for 2.19 cycle
+      sideband: do not read beyond the end of input
+      Git 2.19-rc0
+
+Kana Natsuno (2):
+      t4018: add missing test cases for PHP
+      userdiff: support new keywords in PHP hunk header
+
+Kim Gybels (1):
+      gc --auto: release pack files before auto packing
+
+Kirill Smelkov (1):
+      fetch-pack: test explicitly that --all can fetch tag references pointing to non-commits
+
+Luis Marsano (2):
+      git-credential-netrc: use in-tree Git.pm for tests
+      git-credential-netrc: fix exit status when tests fail
+
+Luke Diamand (6):
+      git-p4: python3: replace <> with !=
+      git-p4: python3: replace dict.has_key(k) with "k in dict"
+      git-p4: python3: remove backticks
+      git-p4: python3: basestring workaround
+      git-p4: python3: use print() function
+      git-p4: python3: fix octal constants
+
+Marc Strapetz (1):
+      Documentation: declare "core.ignoreCase" as internal variable
+
+Martin Ågren (1):
+      refspec: initalize `refspec_item` in `valid_fetch_refspec()`
+
+Masaya Suzuki (2):
+      builtin/send-pack: populate the default configs
+      doc: fix want-capability separator
+
+Max Kirillov (4):
+      http-backend: cleanup writing to child process
+      http-backend: respect CONTENT_LENGTH as specified by rfc3875
+      unpack-trees: do not fail reset because of unmerged skipped entry
+      http-backend: respect CONTENT_LENGTH for receive-pack
+
+Michael Barabanov (1):
+      filter-branch: skip commits present on --state-branch
+
+Mike Hommey (1):
+      fast-import: do not call diff_delta() with empty buffer
+
+Nguyễn Thái Ngọc Duy (98):
+      commit-slab.h: code split
+      commit-slab: support shared commit-slab
+      blame: use commit-slab for blame suspects instead of commit->util
+      describe: use commit-slab for commit names instead of commit->util
+      shallow.c: use commit-slab for commit depth instead of commit->util
+      sequencer.c: use commit-slab to mark seen commits
+      sequencer.c: use commit-slab to associate todo items to commits
+      revision.c: use commit-slab for show_source
+      bisect.c: use commit-slab for commit weight instead of commit->util
+      name-rev: use commit-slab for rev-name instead of commit->util
+      show-branch: use commit-slab for commit-name instead of commit->util
+      show-branch: note about its object flags usage
+      log: use commit-slab in prepare_bases() instead of commit->util
+      merge: use commit-slab in merge remote desc instead of commit->util
+      commit.h: delete 'util' field in struct commit
+      diff: ignore --ita-[in]visible-in-index when diffing worktree-to-tree
+      diff: turn --ita-invisible-in-index on by default
+      t2203: add a test about "diff HEAD" case
+      apply: add --intent-to-add
+      parse-options: option to let --git-completion-helper show negative form
+      completion: suppress some -no- options
+      Add and use generic name->id mapping code for color slot parsing
+      grep: keep all colors in an array
+      fsck: factor out msg_id_info[] lazy initialization code
+      help: add --config to list all available config
+      fsck: produce camelCase config key names
+      advice: keep config name in camelCase in advice_config[]
+      am: move advice.amWorkDir parsing back to advice.c
+      completion: drop the hard coded list of config vars
+      completion: keep other config var completion in camelCase
+      completion: support case-insensitive config vars
+      log-tree: allow to customize 'grafted' color
+      completion: complete general config vars in two steps
+      upload-pack: reject shallow requests that would return nothing
+      completion: collapse extra --no-.. options
+      Update messages in preparation for i18n
+      archive-tar.c: mark more strings for translation
+      archive-zip.c: mark more strings for translation
+      builtin/config.c: mark more strings for translation
+      builtin/grep.c: mark strings for translation
+      builtin/pack-objects.c: mark more strings for translation
+      builtin/replace.c: mark more strings for translation
+      commit-graph.c: mark more strings for translation
+      config.c: mark more strings for translation
+      connect.c: mark more strings for translation
+      convert.c: mark more strings for translation
+      dir.c: mark more strings for translation
+      environment.c: mark more strings for translation
+      exec-cmd.c: mark more strings for translation
+      object.c: mark more strings for translation
+      pkt-line.c: mark more strings for translation
+      refs.c: mark more strings for translation
+      refspec.c: mark more strings for translation
+      replace-object.c: mark more strings for translation
+      sequencer.c: mark more strings for translation
+      sha1-file.c: mark more strings for translation
+      transport.c: mark more strings for translation
+      transport-helper.c: mark more strings for translation
+      pack-objects: document about thread synchronization
+      apply.h: drop extern on func declaration
+      attr.h: drop extern from function declaration
+      blame.h: drop extern on func declaration
+      cache-tree.h: drop extern from function declaration
+      convert.h: drop 'extern' from function declaration
+      diffcore.h: drop extern from function declaration
+      diff.h: remove extern from function declaration
+      line-range.h: drop extern from function declaration
+      rerere.h: drop extern from function declaration
+      repository.h: drop extern from function declaration
+      revision.h: drop extern from function declaration
+      submodule.h: drop extern from function declaration
+      config.txt: reorder blame stuff to keep config keys sorted
+      Makefile: add missing dependency for command-list.h
+      diff.c: move read_index() code back to the caller
+      cache-tree: wrap the_index based wrappers with #ifdef
+      attr: remove an implicit dependency on the_index
+      convert.c: remove an implicit dependency on the_index
+      dir.c: remove an implicit dependency on the_index in pathspec code
+      preload-index.c: use the right index instead of the_index
+      ls-files: correct index argument to get_convert_attr_ascii()
+      unpack-trees: remove 'extern' on function declaration
+      unpack-trees: add a note about path invalidation
+      unpack-trees: don't shadow global var the_index
+      unpack-trees: convert clear_ce_flags* to avoid the_index
+      unpack-trees: avoid the_index in verify_absent()
+      pathspec.c: use the right index instead of the_index
+      submodule.c: use the right index instead of the_index
+      entry.c: use the right index instead of the_index
+      attr: remove index from git_attr_set_direction()
+      grep: use the right index instead of the_index
+      archive.c: avoid access to the_index
+      archive-*.c: use the right repository
+      resolve-undo.c: use the right index instead of the_index
+      apply.c: pass struct apply_state to more functions
+      apply.c: make init_apply_state() take a struct repository
+      apply.c: remove implicit dependency on the_index
+      blame.c: remove implicit dependency on the_index
+      cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD
+
+Nicholas Guriev (1):
+      mergetool: don't suggest to continue after last file
+
+Olga Telezhnaya (5):
+      ref-filter: add info_source to valid_atom
+      ref-filter: fill empty fields with empty values
+      ref-filter: initialize eaten variable
+      ref-filter: merge get_obj and get_object
+      ref-filter: use oid_object_info() to get object
+
+Phillip Wood (5):
+      add -p: fix counting empty context lines in edited patches
+      sequencer: do not squash 'reword' commits when we hit conflicts
+      rebase -i: fix numbering in squash message
+      t3430: add conflicting commit
+      rebase -i: fix SIGSEGV when 'merge <branch>' fails
+
+Prathamesh Chavan (4):
+      submodule foreach: correct '$path' in nested submodules from a subdirectory
+      submodule foreach: document '$sm_path' instead of '$path'
+      submodule foreach: document variable '$displaypath'
+      submodule: port submodule subcommand 'foreach' from shell to C
+
+Ramsay Jones (3):
+      fsck: check skiplist for object in fsck_blob()
+      t6036: fix broken && chain in sub-shell
+      t5562: avoid non-portable "export FOO=bar" construct
+
+René Scharfe (7):
+      remote: clear string_list after use in mv()
+      add, update-index: fix --chmod argument help
+      difftool: remove angular brackets from argument help
+      pack-objects: specify --index-version argument help explicitly
+      send-pack: specify --force-with-lease argument help explicitly
+      shortlog: correct option help for -w
+      parse-options: automatically infer PARSE_OPT_LITERAL_ARGHELP
+
+SZEDER Gábor (19):
+      update-ref --stdin: use skip_prefix()
+      t7510-signed-commit: use 'test_must_fail'
+      tests: make forging GPG signed commits and tags more robust
+      t5541: clean up truncating access log
+      t/lib-httpd: add the strip_access_log() helper function
+      t/lib-httpd: avoid occasional failures when checking access.log
+      t5608: fix broken &&-chain
+      t9300: wait for background fast-import process to die after killing it
+      travis-ci: run Coccinelle static analysis with two parallel jobs
+      travis-ci: fail if Coccinelle static analysis found something to transform
+      coccinelle: mark the 'coccicheck' make target as .PHONY
+      coccinelle: use $(addsuffix) in 'coccicheck' make target
+      coccinelle: exclude sha1dc source files from static analysis
+      coccinelle: put sane filenames into output patches
+      coccinelle: extract dedicated make target to clean Coccinelle's results
+      travis-ci: include the trash directories of failed tests in the trace log
+      t5318: use 'test_cmp_bin' to compare commit-graph files
+      t5318: avoid unnecessary command substitutions
+      t5310-pack-bitmaps: fix bogus 'pack-objects to file can use bitmap' test
+
+Sebastian Kisela (2):
+      git-instaweb: support Fedora/Red Hat apache module path
+      git-instaweb: fix apache2 config with apache >= 2.4
+
+Stefan Beller (87):
+      repository: introduce parsed objects field
+      object: add repository argument to create_object
+      alloc: add repository argument to alloc_blob_node
+      alloc: add repository argument to alloc_tree_node
+      alloc: add repository argument to alloc_commit_node
+      alloc: add repository argument to alloc_tag_node
+      alloc: add repository argument to alloc_object_node
+      alloc: add repository argument to alloc_report
+      alloc: add repository argument to alloc_commit_index
+      object: allow grow_object_hash to handle arbitrary repositories
+      object: allow create_object to handle arbitrary repositories
+      alloc: allow arbitrary repositories for alloc functions
+      object-store: move object access functions to object-store.h
+      shallow: add repository argument to set_alternate_shallow_file
+      shallow: add repository argument to register_shallow
+      shallow: add repository argument to check_shallow_file_for_update
+      shallow: add repository argument to is_repository_shallow
+      cache: convert get_graft_file to handle arbitrary repositories
+      path.c: migrate global git_path_* to take a repository argument
+      shallow: migrate shallow information into the object parser
+      commit: allow prepare_commit_graft to handle arbitrary repositories
+      commit: allow lookup_commit_graft to handle arbitrary repositories
+      refs/packed-backend.c: close fd of empty file
+      submodule--helper: plug mem leak in print_default_remote
+      sequencer.c: plug leaks in do_pick_commit
+      submodule: fix NULL correctness in renamed broken submodules
+      t5526: test recursive submodules when fetching moved submodules
+      submodule: unset core.worktree if no working tree is present
+      submodule: ensure core.worktree is set after update
+      submodule deinit: unset core.worktree
+      submodule.c: report the submodule that an error occurs in
+      sequencer.c: plug mem leak in git_sequencer_config
+      .mailmap: merge different spellings of names
+      object: add repository argument to parse_object
+      object: add repository argument to lookup_object
+      object: add repository argument to parse_object_buffer
+      object: add repository argument to object_as_type
+      blob: add repository argument to lookup_blob
+      tree: add repository argument to lookup_tree
+      commit: add repository argument to lookup_commit_reference_gently
+      commit: add repository argument to lookup_commit_reference
+      commit: add repository argument to lookup_commit
+      commit: add repository argument to parse_commit_buffer
+      commit: add repository argument to set_commit_buffer
+      commit: add repository argument to get_cached_commit_buffer
+      tag: add repository argument to lookup_tag
+      tag: add repository argument to parse_tag_buffer
+      tag: add repository argument to deref_tag
+      object: allow object_as_type to handle arbitrary repositories
+      object: allow lookup_object to handle arbitrary repositories
+      blob: allow lookup_blob to handle arbitrary repositories
+      tree: allow lookup_tree to handle arbitrary repositories
+      commit: allow lookup_commit to handle arbitrary repositories
+      tag: allow lookup_tag to handle arbitrary repositories
+      tag: allow parse_tag_buffer to handle arbitrary repositories
+      commit.c: allow parse_commit_buffer to handle arbitrary repositories
+      commit-slabs: remove realloc counter outside of slab struct
+      commit.c: migrate the commit buffer to the parsed object store
+      commit.c: allow set_commit_buffer to handle arbitrary repositories
+      commit.c: allow get_cached_commit_buffer to handle arbitrary repositories
+      object.c: allow parse_object_buffer to handle arbitrary repositories
+      object.c: allow parse_object to handle arbitrary repositories
+      tag.c: allow deref_tag to handle arbitrary repositories
+      commit.c: allow lookup_commit_reference_gently to handle arbitrary repositories
+      commit.c: allow lookup_commit_reference to handle arbitrary repositories
+      xdiff/xdiff.h: remove unused flags
+      xdiff/xdiffi.c: remove unneeded function declarations
+      t4015: avoid git as a pipe input
+      diff.c: do not pass diff options as keydata to hashmap
+      diff.c: adjust hash function signature to match hashmap expectation
+      diff.c: add a blocks mode for moved code detection
+      diff.c: decouple white space treatment from move detection algorithm
+      diff.c: factor advance_or_nullify out of mark_color_as_moved
+      diff.c: add white space mode to move detection that allows indent changes
+      diff.c: offer config option to control ws handling in move detection
+      xdiff/xhistogram: pass arguments directly to fall_back_to_classic_diff
+      xdiff/xhistogram: factor out memory cleanup into free_index()
+      xdiff/xhistogram: move index allocation into find_lcs
+      Documentation/git-interpret-trailers: explain possible values
+      xdiff/histogram: remove tail recursion
+      t1300: document current behavior of setting options
+      xdiff: reduce indent heuristic overhead
+      config: fix case sensitive subsection names on writing
+      git-config: document accidental multi-line setting in deprecated syntax
+      git-submodule.sh: accept verbose flag in cmd_update to be non-quiet
+      t7410: update to new style
+      builtin/submodule--helper: remove stray new line
+
+Taylor Blau (9):
+      Documentation/config.txt: camel-case lineNumber for consistency
+      grep.c: expose {,inverted} match column in match_line()
+      grep.[ch]: extend grep_opt to allow showing matched column
+      grep.c: display column number of first match
+      builtin/grep.c: add '--column' option to 'git-grep(1)'
+      grep.c: add configuration variables to show matched option
+      contrib/git-jump/git-jump: jump to exact location
+      grep.c: extract show_line_header()
+      grep.c: teach 'git grep --only-matching'
+
+Thomas Rast (1):
+      range-diff: add tests
+
+Tobias Klauser (1):
+      git-rebase--preserve-merges: fix formatting of todo help message
+
+Todd Zullinger (4):
+      git-credential-netrc: minor whitespace cleanup in test script
+      git-credential-netrc: make "all" default target of Makefile
+      gitignore.txt: clarify default core.excludesfile path
+      dir.c: fix typos in core.excludesfile comment
+
+Ville Skyttä (1):
+      Documentation: spelling and grammar fixes
+
+Vladimir Parfinenko (1):
+      rebase: fix documentation formatting
+
+William Chargin (2):
+      sha1-name.c: for ":/", find detached HEAD commits
+      t: factor out FUNNYNAMES as shared lazy prereq
+
+Xiaolong Ye (1):
+      format-patch: clear UNINTERESTING flag before prepare_bases
+
+brian m. carlson (21):
+      send-email: add an auto option for transfer encoding
+      send-email: accept long lines with suitable transfer encoding
+      send-email: automatically determine transfer-encoding
+      docs: correct RFC specifying email line length
+      sequencer: pass absolute GIT_WORK_TREE to exec commands
+      cache: update object ID functions for the_hash_algo
+      tree-walk: replace hard-coded constants with the_hash_algo
+      hex: switch to using the_hash_algo
+      commit: express tree entry constants in terms of the_hash_algo
+      strbuf: allocate space with GIT_MAX_HEXSZ
+      sha1-name: use the_hash_algo when parsing object names
+      refs/files-backend: use the_hash_algo for writing refs
+      builtin/update-index: convert to using the_hash_algo
+      builtin/update-index: simplify parsing of cacheinfo
+      builtin/fmt-merge-msg: make hash independent
+      builtin/merge: switch to use the_hash_algo
+      builtin/merge-recursive: make hash independent
+      diff: switch GIT_SHA1_HEXSZ to use the_hash_algo
+      log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexsz
+      sha1-file: convert constants to uses of the_hash_algo
+      pretty: switch hard-coded constants to the_hash_algo
+
+Ævar Arnfjörð Bjarmason (36):
+      checkout tests: index should be clean after dwim checkout
+      checkout.h: wrap the arguments to unique_tracking_name()
+      checkout.c: introduce an *_INIT macro
+      checkout.c: change "unique" member to "num_matches"
+      checkout: pass the "num_matches" up to callers
+      builtin/checkout.c: use "ret" variable for return
+      checkout: add advice for ambiguous "checkout <branch>"
+      checkout & worktree: introduce checkout.defaultRemote
+      refspec: s/refspec_item_init/&_or_die/g
+      refspec: add back a refspec_item_init() function
+      doc hash-function-transition: note the lack of a changelog
+      receive.fsck.<msg-id> tests: remove dead code
+      config doc: don't describe *.fetchObjects twice
+      config doc: unify the description of fsck.* and receive.fsck.*
+      config doc: elaborate on what transfer.fsckObjects does
+      config doc: elaborate on fetch.fsckObjects security
+      transfer.fsckObjects tests: untangle confusing setup
+      fetch: implement fetch.fsck.*
+      fsck: test & document {fetch,receive}.fsck.* config fallback
+      fsck: add stress tests for fsck.skipList
+      fsck: test and document unknown fsck.<msg-id> values
+      tests: make use of the test_must_be_empty function
+      tests: make use of the test_must_be_empty function
+      fetch tests: change "Tag" test tag to "testTag"
+      push tests: remove redundant 'git push' invocation
+      push tests: fix logic error in "push" test assertion
+      push tests: add more testing for forced tag pushing
+      push tests: assert re-pushing annotated tags
+      negotiator: unknown fetch.negotiationAlgorithm should error out
+      fetch doc: cross-link two new negotiation options
+      sha1dc: update from upstream
+      push: use PARSE_OPT_LITERAL_ARGHELP instead of unbalanced brackets
+      fetch tests: correct a comment "remove it" -> "remove them"
+      pull doc: fix a long-standing grammar error
+      submodule: add more exhaustive up-path testing
+      t2024: mark test using "checkout -p" with PERL prerequisite
+
+Łukasz Stelmach (1):
+      completion: complete remote names too
+
+
+Version v2.18.5; changes since v2.18.4:
+---------------------------------------
+
+Johannes Schindelin (3):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+      Git 2.18.5
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.18.4; changes since v2.18.3:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.18.3; changes since v2.18.2:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.18.2; changes since v2.18.1:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (24):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+      Git 2.18.2
+
+Jonathan Nieder (2):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+
+
+Version v2.18.1; changes since v2.18.0:
+---------------------------------------
+
+Jeff King (5):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+      fsck: detect submodule urls starting with dash
+      fsck: detect submodule paths starting with dash
+
+Junio C Hamano (5):
+      Git 2.14.5
+      Git 2.15.3
+      Git 2.16.5
+      Git 2.17.2
+      Git 2.18.1
+
+
+Version v2.18.0; changes since v2.18.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (3608t)
+      l10n: bg.po: Updated Bulgarian translation (3608t)
+
+Andre Hinrichs (1):
+      l10n: de.po: fix typos
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Christopher Díaz Riveros (3):
+      l10n: es.po: Spanish update for v2.18.0 round 1
+      l10n: es.po: Spanish update for v2.18.0 round 2
+      l10n: es.po: Spanish update for v2.18.0 round 3
+
+Eric Sunshine (1):
+      Makefile: make NO_ICONV really mean "no iconv"
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.18 round 1
+      l10n: fr.po v2.18.0 round 3
+
+Jeff King (2):
+      ewah_read_mmap: bounds-check mmap reads
+      ewah: adjust callers of ewah_read_mmap()
+
+Jeremy Linton (1):
+      packfile: correct zlib buffer handling
+
+Jiang Xin (4):
+      l10n: git.pot: v2.18.0 round 1 (108 new, 14 removed)
+      l10n: git.pot: v2.18.0 round 2 (144 new, 6 removed)
+      l10n: git.pot: v2.18.0 round 3 (1 new, 1 removed)
+      l10n: zh_CN: for git v2.18.0 l10n round 1 to 3
+
+Johannes Schindelin (1):
+      rebase --root: fix amending root commit messages
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (3):
+      A bunch of micro-fixes before going 2.18 final
+      Almost 2.18 final
+      Git 2.18
+
+Kaartic Sivaraam (1):
+      t3200: clarify description of --set-upstream test
+
+Karthikeyan Singaravelan (1):
+      doc: fix typos in documentation and release notes
+
+Kyle Meyer (1):
+      gitworkflows: fix grammar in 'Merge upwards' rule
+
+Luke Diamand (6):
+      git-p4: disable-rebase: allow setting this via configuration
+      git-p4: add option to disable syncing of p4/master with p4
+      git-p4: better error reporting when p4 fails
+      git-p4: raise exceptions from p4CmdList based on error from p4 server
+      git-p4: narrow the scope of exceptions caught when parsing an int
+      git-p4: auto-size the block
+
+Meng-Sung Wu (1):
+      doc: update the order of the syntax `git merge --continue`
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (3470t0f0u)
+      l10n: sv.po: Update Swedish translation (3608t0f0u)
+
+Ralf Thielow (1):
+      l10n: TEAMS: remove inactive de team members
+
+René Scharfe (3):
+      merge-recursive: use xstrdup() instead of fixed buffer
+      blame: release string_list after use in parse_color_fields()
+      merge-recursive: use xstrdup() instead of fixed buffer
+
+Robert P. J. Day (3):
+      sha1-file.c: correct $GITDIR to $GIT_DIR in a comment
+      diff-options.txt: fix minor typos, font inconsistencies, in docs
+      Use hyphenated "remote-tracking branch" (docs and comments)
+
+Romain Merland (1):
+      git-p4: add options --commit and --disable-rebase
+
+SZEDER Gábor (2):
+      t7406-submodule-update: fix broken &&-chains
+      RelNotes 2.18: minor fix to entry about dynamically loading completions
+
+Stefan Beller (1):
+      t7400: encapsulate setup code in test_expect_success
+
+Todd Zullinger (2):
+      rebase --root: demonstrate a bug while amending root commit messages
+      t3404: check root commit in 'rebase -i --root reword root commit'
+
+Trần Ngọc Quân (3):
+      l10n: vi(3470t): Updated Vietnamese translation for v2.18.0
+      l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round2
+      l10n: vi.po(3608t): Update Vietnamese translation for v2.18.0 round 3
+
+Ævar Arnfjörð Bjarmason (1):
+      git-credential-netrc: remove use of "autodie"
+
+
+Version v2.18.0-rc2; changes since v2.18.0-rc1:
+-----------------------------------------------
+
+Elijah Newren (1):
+      RelNotes 2.18: clarify where directory rename detection applies
+
+Jeff King (4):
+      prepare_commit_graft: treat non-repository as a noop
+      index-pack: handle --strict checks of non-repo packs
+      t7415: don't bother creating commit for symlink test
+      fsck: avoid looking at NULL blob->object
+
+Junio C Hamano (3):
+      RelNotes 2.18: typofixes
+      index-pack: correct install_packed_git() args
+      Git 2.18-rc2
+
+Leif Middelschulte (1):
+      merge-submodule: reduce output verbosity
+
+SZEDER Gábor (1):
+      completion: correct zsh detection when run from git-completion.zsh
+
+
+Version v2.18.0-rc1; changes since v2.18.0-rc0:
+-----------------------------------------------
+
+Christian Couder (1):
+      t990X: use '.git/objects' as 'deep inside .git' path
+
+David Turner (1):
+      t: make many tests depend less on the refs being files
+
+Elijah Newren (2):
+      rev-parse: check lookup'ed commit references for NULL
+      RelNotes: remove duplicate release note
+
+Jonathan Nieder (1):
+      fetch: do not pass ref-prefixes for fetch by exact SHA1
+
+Jonathan Tan (1):
+      submodule: do not pass null OID to setup_revisions
+
+Junio C Hamano (3):
+      refspec-api: avoid uninitialized field in refspec item
+      A bit more topics before -rc1
+      Git 2.18-rc1
+
+Luke Diamand (1):
+      git-p4: add unshelve command
+
+Nguyễn Thái Ngọc Duy (20):
+      generate-cmds.sh: factor out synopsis extract code
+      generate-cmds.sh: export all commands to command-list.h
+      help: use command-list.h for common command list
+      Remove common-cmds.h
+      git.c: convert --list-* to --list-cmds=*
+      git --list-cmds: collect command list in a string_list
+      completion: implement and use --list-cmds=main,others
+      git: support --list-cmds=list-<category>
+      help: add "-a --verbose" to list all commands with synopsis
+      help: use command-list.txt for the source of guides
+      command-list.txt: documentation and guide line
+      completion: let git provide the completable command list
+      completion: reduce completable command list
+      Move declaration for alias.c to alias.h
+      completion: add and use --list-cmds=nohelpers
+      completion: add and use --list-cmds=alias
+      completion: allow to customize the completable command list
+      Use OPT_SET_INT_F() for cmdline option specification
+      remote.txt: update documentation for 'update' command
+      remote: doc typofix
+
+Orgad Shaneh (1):
+      git-rebase--interactive: fix copy-paste mistake
+
+Pedro Alvarez Piedehierro (1):
+      import-tars: read overlong names from pax extended header
+
+Robert P. J. Day (4):
+      Use proper syntax for replaceables in command docs
+      tag: clarify in the doc that a tag can refer to a non-commit object
+      init: fix grammar in "templates not found" msg
+      p4.txt: Use backquotes for variable names
+
+Thomas Gummerer (2):
+      SubmittingPatches: replace numbered attributes with names
+      note git-security@googlegroups.com in more places
+
+brian m. carlson (2):
+      sequencer: ensure labels that are object IDs are rewritten
+      t3430: test clean-up
+
+
+Version v2.18.0-rc0; changes since v2.17.6:
+-------------------------------------------
+
+Anders Kaseorg (1):
+      Documentation/git-bisect.txt: git bisect term → git bisect terms
+
+Andreas Heiduk (9):
+      git-svn: search --authors-prog in PATH too
+      git-svn: allow empty email-address using authors-prog and authors-file
+      doc: improve formatting in githooks.txt
+      doc: align 'diff --no-index' in text and synopsis
+      doc: clarify ignore rules for git ls-files
+      doc: add '-d' and '-o' for 'git push'
+      git-svn: remove ''--add-author-from' for 'commit-diff'
+      doc: add note about shell quoting to revision.txt
+      doc: normalize [--options] to [options] in git-diff
+
+Antonio Ospite (1):
+      doc: fix config API documentation about config_with_options
+
+Beat Bolli (1):
+      git-gui: search for all current SSH key types
+
+Ben Peart (7):
+      fsmonitor: fix incorrect buffer size when printing version number
+      fsmonitor: force index write after full scan
+      test-drop-caches: simplify delay loading of NtSetSystemInformation
+      merge: update documentation for {merge,diff}.renameLimit
+      merge: add merge.renames config setting
+      merge: pass aggressive when rename detection is turned off
+      add status config and command line options for rename detection
+
+Bill Ritcher (1):
+      mergetools: add support for guiffy
+
+Birger Skogeng Pedersen (1):
+      git-gui: bind CTRL/CMD+numpad ENTER to do_commit
+
+Brandon Williams (79):
+      pkt-line: introduce packet_read_with_status
+      pkt-line: allow peeking a packet line without consuming it
+      pkt-line: add delim packet support
+      upload-pack: convert to a builtin
+      upload-pack: factor out processing lines
+      transport: use get_refs_via_connect to get refs
+      connect: convert get_remote_heads to use struct packet_reader
+      connect: discover protocol version outside of get_remote_heads
+      transport: store protocol version
+      protocol: introduce enum protocol_version value protocol_v2
+      test-pkt-line: introduce a packet-line test helper
+      serve: introduce git-serve
+      ls-refs: introduce ls-refs server command
+      connect: request remote refs using v2
+      transport: convert get_refs_list to take a list of ref prefixes
+      transport: convert transport_get_remote_refs to take a list of ref prefixes
+      ls-remote: pass ref prefixes when requesting a remote's refs
+      fetch: pass ref prefixes when fetching
+      push: pass ref prefixes when pushing
+      upload-pack: introduce fetch server command
+      fetch-pack: perform a fetch using v2
+      fetch-pack: support shallow requests
+      connect: refactor git_connect to only get the protocol version once
+      connect: don't request v2 when pushing
+      transport-helper: remove name parameter
+      transport-helper: refactor process_connect_service
+      transport-helper: introduce stateless-connect
+      pkt-line: add packet_buf_write_len function
+      remote-curl: create copy of the service name
+      remote-curl: store the protocol version the server responded with
+      http: allow providing extra headers for http requests
+      http: don't always add Git-Protocol header
+      http: eliminate "# service" line when using protocol v2
+      remote-curl: implement stateless-connect command
+      remote-curl: don't request v2 when pushing
+      commit: allow partial commits with relative paths
+      serve: introduce the server-option capability
+      ls-remote: send server options when using protocol v2
+      fetch: send server options when using protocol v2
+      refspec: move refspec parsing logic into its own file
+      refspec: rename struct refspec to struct refspec_item
+      refspec: factor out parsing a single refspec
+      refspec: introduce struct refspec
+      refspec: convert valid_fetch_refspec to use parse_refspec
+      submodule--helper: convert push_check to use struct refspec
+      pull: convert get_tracking_branch to use refspec_item_init
+      transport: convert transport_push to use struct refspec
+      remote: convert check_push_refs to use struct refspec
+      remote: convert match_push_refs to use struct refspec
+      clone: convert cmd_clone to use refspec_item_init
+      fast-export: convert to use struct refspec
+      remote: convert push refspecs to struct refspec
+      remote: convert fetch refspecs to struct refspec
+      remote: remove add_prune_tags_to_fetch_refspec
+      transport-helper: convert to use struct refspec
+      fetch: convert fetch_one to use struct refspec
+      fetch: convert refmap to use struct refspec
+      refspec: remove the deprecated functions
+      fetch: convert do_fetch to take a struct refspec
+      fetch: convert get_ref_map to take a struct refspec
+      fetch: convert prune_refs to take a struct refspec
+      remote: convert get_stale_heads to take a struct refspec
+      remote: convert apply_refspecs to take a struct refspec
+      remote: convert query_refspecs to take a struct refspec
+      remote: convert get_ref_match to take a struct refspec
+      remote: convert match_explicit_refs to take a struct refspec
+      push: check for errors earlier
+      push: convert to use struct refspec
+      transport: convert transport_push to take a struct refspec
+      send-pack: store refspecs in a struct refspec
+      transport: remove transport_verify_remote_names
+      http-push: store refspecs in a struct refspec
+      remote: convert match_push_refs to take a struct refspec
+      remote: convert check_push_refs to take a struct refspec
+      submodule: convert push_unpushed_submodules to take a struct refspec
+      refspec: consolidate ref-prefix generation logic
+      fetch: generate ref-prefixes when using a configured refspec
+      remote-curl: accept all encodings supported by curl
+      remote-curl: accept compressed responses with protocol v2
+
+Casey Fitzpatrick (3):
+      submodule: clean up substitutions in script
+      submodule: add --progress option to add command
+      submodule: add --dissociate option to add/update commands
+
+Christian Couder (6):
+      perf/aggregate: add display_dir()
+      perf/aggregate: add --sort-by=regression option
+      perf/run: add --subsection option
+      t/perf: add scripts to bisect performance regressions
+      perf/aggregate: use Getopt::Long for option parsing
+      perf/bisect_run_script: disable codespeed
+
+Christian Hesse (2):
+      perl: fix installing modules from contrib
+      Makefile: mark perllibdir as a .PHONY target
+
+Clemens Buchacher (2):
+      git-gui: workaround ttk:style theme use
+      completion: improve ls-files filter performance
+
+Dan Jacques (3):
+      Makefile: generate Perl header from template file
+      Makefile: add Perl runtime prefix support
+      exec_cmd: RUNTIME_PREFIX on some POSIX systems
+
+Derrick Stolee (20):
+      packfile: define and use bsearch_pack()
+      sha1_name: use bsearch_pack() for abbreviations
+      csum-file: rename hashclose() to finalize_hashfile()
+      csum-file: refactor finalize_hashfile() method
+      commit-graph: add format document
+      graph: add commit graph design document
+      commit-graph: create git-commit-graph builtin
+      commit-graph: implement write_commit_graph()
+      commit-graph: implement git-commit-graph write
+      commit-graph: implement git commit-graph read
+      commit-graph: add core.commitGraph setting
+      commit-graph: close under reachability
+      commit: integrate commit graph with commit parsing
+      commit-graph: read only from specific pack-indexes
+      commit-graph: build graph from starting commits
+      commit-graph: implement "--append" option
+      treewide: rename tree to maybe_tree
+      commit: create get_commit_tree() method
+      treewide: replace maybe_tree with accessor methods
+      commit-graph: lazy-load trees for commits
+
+Drew DeVault (1):
+      git-send-email: allow re-editing of message
+
+Eckhard S. Maaß (1):
+      wt-status: use settings from git_diff_ui_config
+
+Elijah Newren (70):
+      directory rename detection: basic testcases
+      directory rename detection: directory splitting testcases
+      directory rename detection: testcases to avoid taking detection too far
+      directory rename detection: partially renamed directory testcase/discussion
+      directory rename detection: files/directories in the way of some renames
+      directory rename detection: testcases checking which side did the rename
+      directory rename detection: more involved edge/corner testcases
+      directory rename detection: testcases exploring possibly suboptimal merges
+      directory rename detection: miscellaneous testcases to complete coverage
+      directory rename detection: tests for handling overwriting untracked files
+      directory rename detection: tests for handling overwriting dirty files
+      merge-recursive: move the get_renames() function
+      merge-recursive: introduce new functions to handle rename logic
+      merge-recursive: fix leaks of allocated renames and diff_filepairs
+      merge-recursive: make !o->detect_rename codepath more obvious
+      merge-recursive: split out code for determining diff_filepairs
+      merge-recursive: make a helper function for cleanup for handle_renames
+      merge-recursive: add get_directory_renames()
+      merge-recursive: check for directory level conflicts
+      merge-recursive: add computation of collisions due to dir rename & merging
+      merge-recursive: check for file level conflicts then get new name
+      merge-recursive: when comparing files, don't include trees
+      merge-recursive: apply necessary modifications for directory renames
+      merge-recursive: avoid clobbering untracked files with directory renames
+      merge-recursive: fix overwriting dirty files involved in renames
+      merge-recursive: fix remaining directory rename + dirty overwrite cases
+      directory rename detection: new testcases showcasing a pair of bugs
+      merge-recursive: avoid spurious rename/rename conflict from dir renames
+      merge-recursive: ensure we write updates for directory-renamed file
+      Documentation: fix several one-character-off spelling errors
+      Documentation: normalize spelling of 'normalised'
+      directory rename detection: basic testcases
+      directory rename detection: directory splitting testcases
+      directory rename detection: testcases to avoid taking detection too far
+      directory rename detection: partially renamed directory testcase/discussion
+      directory rename detection: files/directories in the way of some renames
+      directory rename detection: testcases checking which side did the rename
+      directory rename detection: more involved edge/corner testcases
+      directory rename detection: testcases exploring possibly suboptimal merges
+      directory rename detection: miscellaneous testcases to complete coverage
+      directory rename detection: tests for handling overwriting untracked files
+      directory rename detection: tests for handling overwriting dirty files
+      merge-recursive: move the get_renames() function
+      merge-recursive: introduce new functions to handle rename logic
+      merge-recursive: fix leaks of allocated renames and diff_filepairs
+      merge-recursive: make !o->detect_rename codepath more obvious
+      merge-recursive: split out code for determining diff_filepairs
+      merge-recursive: make a helper function for cleanup for handle_renames
+      Make running git under other debugger-like programs easy
+      unpack_trees: fix breakage when o->src_index != o->dst_index
+      merge-recursive: add get_directory_renames()
+      merge-recursive: check for directory level conflicts
+      merge-recursive: add computation of collisions due to dir rename & merging
+      merge-recursive: check for file level conflicts then get new name
+      merge-recursive: when comparing files, don't include trees
+      merge-recursive: apply necessary modifications for directory renames
+      merge-recursive: avoid clobbering untracked files with directory renames
+      merge-recursive: fix overwriting dirty files involved in renames
+      merge-recursive: fix remaining directory rename + dirty overwrite cases
+      directory rename detection: new testcases showcasing a pair of bugs
+      merge-recursive: avoid spurious rename/rename conflict from dir renames
+      merge-recursive: improve add_cacheinfo error handling
+      merge-recursive: move more is_dirty handling to merge_content
+      merge-recursive: avoid triggering add_cacheinfo error with dirty mod
+      t6046: testcases checking whether updates can be skipped in a merge
+      merge-recursive: fix was_tracked() to quit lying with some renamed paths
+      merge-recursive: fix remainder of was_dirty() to use original index
+      merge-recursive: make "Auto-merging" comment show for other merges
+      merge-recursive: fix check for skipability of working tree updates
+      merge-recursive: provide pair of `unpack_trees_{start,finish}()`
+
+Eric Sunshine (5):
+      t3200: verify "branch --list" sanity when rebasing from detached HEAD
+      t2028: tighten grep expression to make "move worktree" test more robust
+      git-worktree.txt: recommend 'git worktree remove' over manual deletion
+      git-worktree.txt: unify command-line prompt in example blocks
+      configure.ac: fix botched FREAD_READS_DIRECTORIES check
+
+Erik E Brady (1):
+      credential: ignore SIGPIPE when writing to credential helpers
+
+Florian Gamböck (1):
+      completion: load completion file for external subcommand
+
+Harald Nordgren (1):
+      ls-remote: create '--sort' option
+
+Jameson Miller (3):
+      fast-import: rename mem_pool type to mp_block
+      fast-import: introduce mem_pool type
+      mem-pool: move reusable parts of memory pool into its own file
+
+Jeff King (36):
+      diff-highlight: correct test graph diagram
+      diff-highlight: use test_tick in graph test
+      diff-highlight: prefer "echo" to "cat" in tests
+      diff-highlight: test interleaved parallel lines of history
+      diff-highlight: test graphs with --color
+      diff-highlight: use flush() helper consistently
+      diff-highlight: detect --graph by indent
+      set_git_dir: die when setenv() fails
+      add chdir-notify API
+      set_work_tree: use chdir_notify
+      refs: use chdir_notify to update cached relative paths
+      config: move flockfile() closer to unlocked functions
+      t5561: drop curl stderr redirects
+      t5561: skip tests if curl is not available
+      ref-filter: use "struct object_id" consistently
+      ref-filter: make ref_array_item allocation more consistent
+      ref-filter: factor ref_array pushing into its own function
+      t7004: fix mistaken tag name
+      gpg-interface: handle bool user.signingkey
+      gpg-interface: modernize function declarations
+      gpg-interface: use size_t for signature buffer size
+      gpg-interface: fix const-correctness of "eol" pointer
+      gpg-interface: extract gpg line matching helper
+      gpg-interface: find the last gpg signature line
+      apply: clarify "-p" documentation
+      pager: set COLUMNS to term_columns()
+      mark_tree_contents_uninteresting(): drop missing object check
+      mark_parents_uninteresting(): drop missing object check
+      mark_parents_uninteresting(): replace list with stack
+      mark_parents_uninteresting(): avoid most allocation
+      get_main_ref_store: BUG() when outside a repository
+      config: die when --blob is used outside a repository
+      http: use strbufs instead of fixed buffers
+      log_write_email_headers: use strbufs
+      shorten_unambiguous_ref: use xsnprintf
+      fmt_with_err: add a comment that truncation is OK
+
+Johannes Schindelin (66):
+      git_config_set: fix off-by-two
+      t1300: rename it to reflect that `repo-config` was deprecated
+      t1300: demonstrate that --replace-all can "invent" newlines
+      config --replace-all: avoid extra line breaks
+      t1300: avoid relying on a bug
+      t1300: remove unreasonable expectation from TODO
+      t5404: relax overzealous test
+      t1300: add a few more hairy examples of sections becoming empty
+      t1300: `--unset-all` can leave an empty section behind (bug)
+      config: introduce an optional event stream while parsing
+      config: avoid using the global variable `store`
+      config_set_store: rename some fields for consistency
+      git_config_set: do not use a state machine
+      git_config_set: make use of the config parser's event stream
+      git config --unset: remove empty sections (in the common case)
+      git_config_set: reuse empty sections
+      exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
+      mingw/msvc: use the new-style RUNTIME_PREFIX helper
+      color: introduce support for colorizing stderr
+      push: test to verify that push errors are colored
+      config: document the settings to colorize push errors/hints
+      gettext: avoid initialization if the locale dir is not present
+      git_setup_gettext: plug memory leak
+      sequencer: avoid using errno clobbered by rollback_lock_file()
+      sequencer: make rearrange_squash() a bit more obvious
+      sequencer: refactor how original todo list lines are accessed
+      sequencer: offer helpful advice when a command was rescheduled
+      sequencer: introduce new commands to reset the revision
+      sequencer: introduce the `merge` command
+      sequencer: fast-forward `merge` commands, if possible
+      rebase-helper --make-script: introduce a flag to rebase merges
+      rebase: introduce the --rebase-merges option
+      sequencer: make refs generated by the `label` command worktree-local
+      sequencer: handle post-rewrite for merge commands
+      rebase --rebase-merges: avoid "empty merges"
+      pull: accept --rebase=merges to recreate the branch topology
+      rebase -i: introduce --rebase-merges=[no-]rebase-cousins
+      rebase -i --rebase-merges: add a section to the man page
+      argv_array: offer to split a string by whitespace
+      commit: Let the callback of for_each_mergetag return on error
+      replace: avoid using die() to indicate a bug
+      tests: introduce test_unset_prereq, for debugging
+      replace: "libify" create_graft() and callees
+      replace: prepare create_graft() for converting graft files wholesale
+      replace: introduce --convert-graft-file
+      Add a test for `git replace --convert-graft-file`
+      Deprecate support for .git/info/grafts
+      filter-branch: stop suggesting to use grafts
+      technical/shallow: stop referring to grafts
+      technical/shallow: describe why shallow cannot use replace refs
+      Remove obsolete script to convert grafts to replace refs
+      rebase -i: demonstrate bugs with fixup!/squash! commit messages
+      rebase -i: Handle "combination of <n> commits" with GETTEXT_POISON
+      sequencer: always commit without editing when asked for
+      rebase --skip: clean up commit message after a failed fixup/squash
+      sequencer: extract helper to update active_cache_tree
+      sequencer: learn about the special "fake root commit" handling
+      rebase -i --root: let the sequencer handle even the initial part
+      sequencer: allow introducing new root commits
+      rebase --rebase-merges: a "merge" into a new root is a fast-forward
+      rebase --rebase-merges: root commits can be cousins, too
+      test-tool: help verifying BUG() code paths
+      run-command: use BUG() to report bugs, not die()
+      Replace all die("BUG: ...") calls by BUG() ones
+      Convert remaining die*(BUG) messages
+      config: a user-provided invalid section is not a BUG
+
+Johannes Sixt (2):
+      sequencer: reset the committer date before commits
+      git: add -P as a short option for --no-pager
+
+Jonathan Nieder (5):
+      sha1_file: allow map_sha1_file_1 to handle arbitrary repositories
+      sha1_file: allow sha1_loose_object_info to handle arbitrary repositories
+      Makefile: remove unused @@PERLLIBDIR@@ substitution variable
+      Makefile: quote $INSTLIBDIR when passing it to sed
+      packfile: add repository argument to packed_object_info
+
+Jonathan Tan (4):
+      grep: remove "repo" arg from non-supporting funcs
+      upload-pack: fix error message typo
+      upload-pack: read config when serving protocol v2
+      {fetch,upload}-pack: support filter in protocol v2
+
+Junio C Hamano (13):
+      stash: fix nonsense pipeline
+      The first batch for 2.18 cycle
+      The second batch for 2.18
+      The third batch for 2.18
+      Revert "Merge branch 'en/rename-directory-detection'"
+      gc: do not upcase error message shown with die()
+      parseopt: handle malformed --expire arguments more nicely
+      The fourth batch for 2.18
+      The fifth batch for 2.18
+      argv-array: return the pushed string from argv_push*()
+      The sixth batch for 2.18
+      The seventh batch for 2.18
+      Git 2.18-rc0
+
+Kaartic Sivaraam (1):
+      branch --list: print useful info whilst interactive rebasing a detached HEAD
+
+Lars Schneider (10):
+      strbuf: remove unnecessary NUL assignment in xstrdup_tolower()
+      strbuf: add xstrdup_toupper()
+      strbuf: add a case insensitive starts_with()
+      utf8: teach same_encoding() alternative UTF encoding names
+      utf8: add function to detect prohibited UTF-16/32 BOM
+      utf8: add function to detect a missing UTF-16/32 BOM
+      convert: add 'working-tree-encoding' attribute
+      convert: check for detectable errors in UTF encodings
+      convert: add tracing for 'working-tree-encoding' attribute
+      convert: add round trip check based on 'core.checkRoundtripEncoding'
+
+Leif Middelschulte (1):
+      merge-recursive: give notice when submodule commit gets fast-forwarded
+
+Loganaden Velvindron (1):
+      http: allow use of TLS 1.3
+
+Lucas Werkmeister (1):
+      daemon.c: fix condition for redirecting stderr
+
+Luis Marsano (2):
+      git-credential-netrc: adapt to test framework for git
+      git-credential-netrc: accept gpg option
+
+Martin Ågren (24):
+      git-shortlog.txt: reorder usages
+      shortlog: add usage-string for stdin-reading
+      shortlog: disallow left-over arguments outside repo
+      doc: convert \--option to --option
+      doc: convert [\--] to [--]
+      git-[short]log.txt: unify quoted standalone --
+      git-submodule.txt: quote usage in monospace, drop backslash
+      fast-export: fix regression skipping some merge-commits
+      http-fetch: make `-a` standard behaviour
+      walker: drop fields of `struct walker` which are always 1
+      t/helper/test-write-cache: clean up lock-handling
+      refs.c: do not die if locking fails in `write_pseudoref()`
+      refs.c: do not die if locking fails in `delete_pseudoref()`
+      lock_file: make function-local locks non-static
+      lock_file: move static locks into functions
+      refs.c: refer to "object ID", not "sha1", in error messages
+      t1400: add tests around adding/deleting pseudorefs
+      refs: handle zero oid for pseudorefs
+      merge: setup `opts` later in `checkout_fast_forward()`
+      config: free resources of `struct config_store_data`
+      config: let `config_store_data_clear()` handle `value_regex`
+      config: let `config_store_data_clear()` handle `key`
+      regex: do not call `regfree()` if compilation fails
+      unpack_trees_options: free messages when done
+
+Michal Nazarewicz (1):
+      send-email: simplify Gmail example in the documentation
+
+Michele Locati (1):
+      filter-branch: return 2 when nothing to rewrite
+
+Nguyễn Thái Ngọc Duy (88):
+      repository: initialize the_repository in main()
+      repository.c: move env-related setup code back to environment.c
+      repository.c: delete dead functions
+      sha1_file.c: move delayed getenv(altdb) back to setup_git_env()
+      repository: delete ignore_env member
+      gc.txt: more details about what gc does
+      worktree: delete dead code
+      worktree prune: improve prune logic when worktree is moved
+      repository.h: add comment and clarify repo_set_gitdir
+      git.c: move cmd_struct declaration up
+      git.c: add hidden option --list-parseopt-builtins
+      completion: mention the oldest version we need to support
+      completion: factor out _git_xxx calling code
+      completion: add --option completion for most builtin commands
+      completion: delete option-only completion commands
+      completion: use __gitcomp_builtin in _git_ls_tree
+      completion: use __gitcomp_builtin in _git_cherry
+      packfile: keep prepare_packed_git() private
+      t/helper: add an empty test-tool program
+      t/helper: merge test-chmtime into test-tool
+      t/helper: merge test-sha1 into test-tool
+      t/helper: merge test-lazy-init-name-hash into test-tool
+      t/helper: merge test-config into test-tool
+      t/helper: merge test-ctype into test-tool
+      t/helper: merge test-date into test-tool
+      t/helper: merge (unused) test-delta into test-tool
+      t/helper: merge test-drop-caches into test-tool
+      t/helper: merge test-dump-cache-tree into test-tool
+      t/helper: merge test-dump-split-index into test-tool
+      t/helper: merge test-example-decorate into test-tool
+      t/helper: merge test-genrandom into test-tool
+      t/helper: merge test-hashmap into test-tool
+      t/helper: merge test-index-version into test-tool
+      t/helper: merge (unused) test-match-trees into test-tool
+      t/helper: merge (unused) test-mergesort into test-tool
+      t/helper: merge test-mktemp into test-tool
+      t/helper: merge test-online-cpus into test-tool
+      t/helper: merge test-path-utils into test-tool
+      t/helper: merge test-prio-queue into test-tool
+      t/helper: merge test-read-cache into test-tool
+      t/helper: merge test-ref-store into test-tool
+      t/helper: merge test-regex into test-tool
+      t/helper: merge test-revision-walking into test-tool
+      t/helper: merge test-run-command into test-tool
+      t/helper: merge test-scrap-cache-tree into test-tool
+      t/helper: merge test-sha1-array into test-tool
+      t/helper: merge test-sigchain into test-tool
+      t/helper: merge test-strcmp-offset into test-tool
+      t/helper: merge test-string-list into test-tool
+      t/helper: merge test-submodule-config into test-tool
+      t/helper: merge test-subprocess into test-tool
+      t/helper: merge test-urlmatch-normalization into test-tool
+      t/helper: merge test-wildmatch into test-tool
+      t/helper: merge test-write-cache into test-tool
+      trace.c: export trace_setup_key
+      read-cache.c: make $GIT_TEST_SPLIT_INDEX boolean
+      pack-objects: a bit of document about struct object_entry
+      pack-objects: turn type and in_pack_type to bitfields
+      pack-objects: use bitfield for object_entry::dfs_state
+      pack-objects: use bitfield for object_entry::depth
+      pack-objects: move in_pack_pos out of struct object_entry
+      pack-objects: move in_pack out of struct object_entry
+      pack-objects: refer to delta objects by index instead of pointer
+      pack-objects: shrink z_delta_size field in struct object_entry
+      pack-objects: don't check size when the object is bad
+      pack-objects: clarify the use of object_entry::size
+      pack-objects: shrink size field in struct object_entry
+      pack-objects: shrink delta_size field in struct object_entry
+      pack-objects: reorder members to shrink struct object_entry
+      ci: exercise the whole test suite with uncommon code in pack-objects
+      t7700: have closing quote of a test at the beginning of line
+      repack: add --keep-pack option
+      gc: add --keep-largest-pack option
+      gc: add gc.bigPackThreshold config
+      gc: handle a corner case in gc.bigPackThreshold
+      gc --auto: exclude base pack if not enough mem to "repack -ad"
+      pack-objects: show some progress when counting kept objects
+      connect.c: mark die_initial_contact() NORETURN
+      Makefile: detect compiler and enable more warnings in DEVELOPER=1
+      submodule--helper: don't print null in 'submodule status'
+      doc: keep first level section header in upper case
+      pack-objects: validation and documentation about unreachable options
+      completion: fix misspelled config key aliasesfiletype
+      repository: fix free problem with repo_clear(the_repository)
+      pack-format.txt: more details on pack file format
+      column: fix off-by-one default width
+      commit.h: rearrange 'index' to shrink struct commit
+      travis-ci: run gcc-8 on linux-gcc jobs
+
+Olga Telezhnaya (6):
+      ref-filter: add shortcut to work with strbufs
+      ref-filter: start adding strbufs with errors
+      ref-filter: add return value && strbuf to handlers
+      ref-filter: change parsing function error handling
+      ref-filter: add return value to parsers
+      ref-filter: libify get_ref_atom_value()
+
+Paul-Sebastian Ungureanu (2):
+      parse-options: do not show usage upon invalid option value
+      t/helper: 'test-chmtime (--get|-g)' to print only the mtime
+
+Philip Oakley (1):
+      Avoid multiple PREFIX definitions
+
+Phillip Wood (7):
+      rebase --root: stop assuming squash_onto is unset
+      rebase -i --keep-empty: don't prune empty commits
+      rebase: respect --no-keep-empty
+      rebase: extend --signoff support
+      rebase -p: error out if --signoff is given
+      rebase --keep-empty: always use interactive rebase
+      rebase --rebase-merges: add test for --keep-empty
+
+Pratik Karki (1):
+      test: avoid pipes in git related commands for test
+
+Ramsay Jones (1):
+      BUG_exit_code: fix sparse "symbol not declared" warning
+
+René Scharfe (8):
+      sha1_name: use bsearch_pack() in unique_in_pack()
+      bisect: use oid_to_hex() for converting object_id hashes to hex strings
+      run-command: use strbuf_addstr() for adding a string to a strbuf
+      submodule: check for NULL return of get_submodule_ref_store()
+      replace_object: use oidmap
+      fast-export: avoid NULL pointer arithmetic
+      t5512: run git fetch inside test
+      fsmonitor: use internal argv_array of struct child_process
+
+Ryan Dammrose (1):
+      push: colorize errors
+
+SZEDER Gábor (22):
+      test_must_be_empty: simplify file existence check
+      t9902-completion: add tests demonstrating issues with quoted pathnames
+      completion: move __git_complete_index_file() next to its helpers
+      completion: simplify prefix path component handling during path completion
+      completion: support completing non-ASCII pathnames
+      completion: improve handling quoted paths on the command line
+      completion: let 'ls-files' and 'diff-index' filter matching paths
+      completion: use 'awk' to strip trailing path components
+      t9902-completion: ignore COMPREPLY element order in some tests
+      completion: remove repeated dirnames with 'awk' during path completion
+      completion: improve handling quoted paths in 'git ls-files's output
+      completion: fill COMPREPLY directly when completing paths
+      completion: reduce overhead of clearing cached --options
+      docs/git-gc: fix minor rendering issue
+      coccinelle: avoid wrong transformation suggestions from commit.cocci
+      t6050-replace: don't disable stdin for the whole test script
+      t5310-pack-bitmaps: make JGit tests work with GIT_TEST_SPLIT_INDEX
+      t5516-fetch-push: fix 'push with dry-run' test
+      t5516-fetch-push: fix broken &&-chain
+      t7005-editor: get rid of the SPACES_IN_FILENAMES prereq
+      completion: don't return with error from __gitcomp_file_direct()
+      t9902-completion: exercise __git_complete_index_file() directly
+
+Sergey Organov (1):
+      glossary: substitute "ancestor" for "direct ancestor" in 'push' description.
+
+Stefan Agner (1):
+      send-email: avoid duplicate In-Reply-To/References
+
+Stefan Beller (81):
+      repository: introduce raw object store field
+      object-store: migrate alternates struct and functions from cache.h
+      object-store: move alt_odb_list and alt_odb_tail to object store
+      object-store: free alt_odb_list
+      object-store: move packed_git and packed_git_mru to object store
+      object-store: close all packs upon clearing the object store
+      pack: move prepare_packed_git_run_once to object store
+      pack: move approximate object count to object store
+      sha1_file: add raw_object_store argument to alt_odb_usable
+      sha1_file: add repository argument to link_alt_odb_entry
+      sha1_file: add repository argument to read_info_alternates
+      sha1_file: add repository argument to link_alt_odb_entries
+      sha1_file: add repository argument to prepare_alt_odb
+      sha1_file: allow link_alt_odb_entries to handle arbitrary repositories
+      sha1_file: allow prepare_alt_odb to handle arbitrary repositories
+      sha1_file: add repository argument to sha1_file_name
+      sha1_file: add repository argument to stat_sha1_file
+      sha1_file: add repository argument to open_sha1_file
+      sha1_file: add repository argument to map_sha1_file_1
+      sha1_file: add repository argument to map_sha1_file
+      sha1_file: add repository argument to sha1_loose_object_info
+      sha1_file: allow sha1_file_name to handle arbitrary repositories
+      sha1_file: allow stat_sha1_file to handle arbitrary repositories
+      sha1_file: allow open_sha1_file to handle arbitrary repositories
+      sha1_file: allow map_sha1_file to handle arbitrary repositories
+      packfile: allow prepare_packed_git_mru to handle arbitrary repositories
+      packfile: allow rearrange_packed_git to handle arbitrary repositories
+      packfile: allow install_packed_git to handle arbitrary repositories
+      packfile: add repository argument to prepare_packed_git_one
+      packfile: add repository argument to prepare_packed_git
+      packfile: add repository argument to reprepare_packed_git
+      packfile: allow prepare_packed_git_one to handle arbitrary repositories
+      packfile: allow prepare_packed_git to handle arbitrary repositories
+      packfile: allow reprepare_packed_git to handle arbitrary repositories
+      packfile: add repository argument to find_pack_entry
+      packfile: allow find_pack_entry to handle arbitrary repositories
+      submodule.h: drop declaration of connect_work_tree_and_git_dir
+      submodule-config: allow submodule_free to handle arbitrary repositories
+      submodule-config: add repository argument to submodule_from_{name, path}
+      submodule-config: remove submodule_from_cache
+      submodule: fixup nested submodules after moving the submodule
+      write_or_die.c: rename to use dashes in file name
+      unicode_width.h: rename to use dash in file name
+      exec_cmd: rename to use dash in file name
+      sha1_name.c: rename to use dash in file name
+      sha1_file.c: rename to use dash in file name
+      replace_object.c: rename to use dash in file name
+      replace-object: move replace_map to object store
+      object-store: move lookup_replace_object to replace-object.h
+      replace-object: eliminate replace objects prepared flag
+      replace-object: check_replace_refs is safe in multi repo environment
+      refs: add repository argument to get_main_ref_store
+      refs: add repository argument to for_each_replace_ref
+      replace-object: add repository argument to prepare_replace_object
+      replace-object: add repository argument to do_lookup_replace_object
+      replace-object: add repository argument to lookup_replace_object
+      refs: store the main ref store inside the repository struct
+      refs: allow for_each_replace_ref to handle arbitrary repositories
+      replace-object: allow prepare_replace_object to handle arbitrary repositories
+      replace-object: allow do_lookup_replace_object to handle arbitrary repositories
+      replace-object: allow lookup_replace_object to handle arbitrary repositories
+      worktree: accept -f as short for --force for removal
+      builtin/blame: dim uninteresting metadata lines
+      builtin/blame: highlight recently changed lines
+      builtin/blame: add new coloring scheme config
+      cache.h: add repository argument to oid_object_info_extended
+      cache.h: add repository argument to oid_object_info
+      packfile: add repository argument to retry_bad_packed_offset
+      packfile: add repository argument to packed_to_object_type
+      packfile: add repository argument to read_object
+      packfile: add repository argument to unpack_entry
+      packfile: add repository argument to cache_or_unpack_entry
+      cache.h: allow oid_object_info to handle arbitrary repositories
+      git-rebase--interactive: clarify arguments
+      object.c: free replace map in raw_object_store_clear
+      replace-object.c: remove the_repository from prepare_replace_object
+      grep: handle corrupt index files early
+      git-submodule.sh: try harder to fetch a submodule
+      submodule.c: move submodule merging to merge-recursive.c
+      merge-recursive: i18n submodule merge output and respect verbosity
+      object.c: clear replace map before freeing it
+
+Takuto Ikuta (1):
+      fetch-pack.c: use oidset to check existence of loose object
+
+Tao Qingyun (1):
+      t1510-repo-setup.sh: remove useless mkdir
+
+Taylor Blau (5):
+      builtin/config.c: treat type specifiers singularly
+      builtin/config.c: support `--type=<type>` as preferred alias for `--<type>`
+      builtin/config: introduce `--default`
+      config.c: introduce 'git_config_color' to parse ANSI colors
+      builtin/config: introduce `color` type specifier
+
+Thomas Gummerer (10):
+      stash push: avoid printing errors
+      stash push -u: don't create empty stash
+      stash: drop superfluos pathspec parameter
+      SubmittingPatches: mention the git contacts command
+      completion: stop showing 'save' for stash by default
+      completion: make stash -p and alias for stash push -p
+      worktree: remove extra members from struct add_opts
+      worktree: improve message when creating a new worktree
+      worktree: factor out dwim_branch function
+      worktree: teach "add" to check out existing branches
+
+Todd Zullinger (1):
+      doc/clone: update caption for GIT URLS cross-reference
+
+Torsten Bögershausen (1):
+      test: correct detection of UTF8_NFD_TO_NFC for APFS
+
+Wink Saville (8):
+      rebase-interactive: simplify pick_on_preserving_merges
+      rebase: update invocation of rebase dot-sourced scripts
+      rebase: reindent function git_rebase__interactive
+      rebase: extract functions out of git_rebase__interactive
+      rebase: add and use git_rebase__interactive__preserve_merges
+      rebase: remove unused code paths from git_rebase__interactive
+      rebase: remove unused code paths from git_rebase__interactive__preserve_merges
+      rebase: remove merges_option and a blank line
+
+Yuki Kokubun (1):
+      filter-branch: fix errors caused by refs that point at non-committish
+
+brian m. carlson (121):
+      bulk-checkin: convert index_bulk_checkin to struct object_id
+      builtin/write-tree: convert to struct object_id
+      cache-tree: convert write_*_as_tree to object_id
+      cache-tree: convert remnants to struct object_id
+      resolve-undo: convert struct resolve_undo_info to object_id
+      tree: convert read_tree_recursive to struct object_id
+      ref-filter: convert grab_objectname to struct object_id
+      strbuf: convert strbuf_add_unique_abbrev to use struct object_id
+      wt-status: convert struct wt_status_state to object_id
+      Convert find_unique_abbrev* to struct object_id
+      http-walker: convert struct object_request to use struct object_id
+      send-pack: convert remaining functions to struct object_id
+      replace_object: convert struct replace_object to object_id
+      builtin/mktag: convert to struct object_id
+      archive: convert write_archive_entry_fn_t to object_id
+      archive: convert sha1_file_to_archive to struct object_id
+      builtin/index-pack: convert struct ref_delta_entry to object_id
+      sha1_file: convert read_loose_object to use struct object_id
+      sha1_file: convert check_sha1_signature to struct object_id
+      streaming: convert open_istream to use struct object_id
+      builtin/mktree: convert to struct object_id
+      sha1_file: convert assert_sha1_type to object_id
+      sha1_file: convert retry_bad_packed_offset to struct object_id
+      packfile: convert unpack_entry to struct object_id
+      Convert remaining callers of sha1_object_info_extended to object_id
+      sha1_file: convert sha1_object_info* to object_id
+      builtin/fmt-merge-msg: convert remaining code to object_id
+      builtin/notes: convert static functions to object_id
+      tree-walk: convert get_tree_entry_follow_symlinks internals to object_id
+      streaming: convert istream internals to struct object_id
+      tree-walk: convert tree entry functions to object_id
+      sha1_file: convert read_object_with_reference to object_id
+      sha1_file: convert read_sha1_file to struct object_id
+      Convert lookup_replace_object to struct object_id
+      sha1_file: introduce a constant for max header length
+      convert: convert to struct object_id
+      sha1_name: convert struct min_abbrev_data to object_id
+      t1011: abstract away SHA-1-specific constants
+      t1304: abstract away SHA-1-specific constants
+      t1300: abstract away SHA-1-specific constants
+      t1405: sort reflog entries in a hash-independent way
+      t1411: abstract away SHA-1-specific constants
+      t1507: abstract away SHA-1-specific constants
+      t2020: abstract away SHA-1 specific constants
+      t2101: modernize test style
+      t2101: abstract away SHA-1-specific constants
+      t2107: abstract away SHA-1-specific constants
+      format-patch: make cover letters always text/plain
+      cache: add a function to read an object ID from a buffer
+      server-info: remove unused members from struct pack_info
+      Remove unused member in struct object_context
+      packfile: remove unused member from struct pack_entry
+      packfile: convert has_sha1_pack to object_id
+      sha1-file: convert freshen functions to object_id
+      packfile: convert find_pack_entry to object_id
+      packfile: abstract away hash constant values
+      pack-objects: abstract away hash algorithm
+      pack-redundant: abstract away hash algorithm
+      tree-walk: avoid hard-coded 20 constant
+      tree-walk: convert get_tree_entry_follow_symlinks to object_id
+      fsck: convert static functions to struct object_id
+      submodule-config: convert structures to object_id
+      split-index: convert struct split_index to object_id
+      Update struct index_state to use struct object_id
+      pack-redundant: convert linked lists to use struct object_id
+      index-pack: abstract away hash function constant
+      commit: convert uses of get_sha1_hex to get_oid_hex
+      dir: convert struct untracked_cache_dir to object_id
+      http: eliminate hard-coded constants
+      revision: replace use of hard-coded constants
+      upload-pack: replace use of several hard-coded constants
+      diff: specify abbreviation size in terms of the_hash_algo
+      builtin/receive-pack: avoid hard-coded constants for push certs
+      sha1-file: add functions for hex empty tree and blob OIDs
+      builtin/am: convert uses of EMPTY_TREE_SHA1_BIN to the_hash_algo
+      builtin/merge: switch tree functions to use object_id
+      merge: convert empty tree constant to the_hash_algo
+      sequencer: convert one use of EMPTY_TREE_SHA1_HEX
+      submodule: convert several uses of EMPTY_TREE_SHA1_HEX
+      wt-status: convert two uses of EMPTY_TREE_SHA1_HEX
+      builtin/receive-pack: convert one use of EMPTY_TREE_SHA1_HEX
+      builtin/reset: convert use of EMPTY_TREE_SHA1_BIN
+      sha1_file: convert cached object code to struct object_id
+      cache-tree: use is_empty_tree_oid
+      sequencer: use the_hash_algo for empty tree object ID
+      dir: use the_hash_algo for empty blob object ID
+      sha1_file: only expose empty object constants through git_hash_algo
+      Update shell scripts to compute empty tree object ID
+      add--interactive: compute the empty tree value
+      merge-one-file: compute empty blob object ID
+      Documentation: use 8-space tabs with Asciidoctor
+      Documentation: render revisions correctly under Asciidoctor
+      mailmap: update brian m. carlson's email address
+      t/test-lib: add an SHA1 prerequisite
+      t/test-lib: introduce ZERO_OID
+      t: switch $_z40 to $ZERO_OID
+      t/test-lib: introduce OID_REGEX
+      t: switch $_x40 to $OID_REGEX
+      t0000: annotate with SHA1 prerequisite
+      t1007: annotate with SHA1 prerequisite
+      t1512: skip test if not using SHA-1
+      t4044: skip test if not using SHA-1
+      t: skip pack tests if not using SHA-1
+      t2203: abstract away SHA-1-specific constants
+      t3103: abstract away SHA-1-specific constants
+      t3702: abstract away SHA-1-specific constants
+      t3905: abstract away SHA-1-specific constants
+      t4007: abstract away SHA-1-specific constants
+      t4008: abstract away SHA-1-specific constants
+      t4014: abstract away SHA-1-specific constants
+      t4020: abstract away SHA-1-specific constants
+      t4022: abstract away SHA-1-specific constants
+      t4029: fix test indentation
+      t4029: abstract away SHA-1-specific constants
+      t4030: abstract away SHA-1-specific constants
+      t/lib-diff-alternative: abstract away SHA-1-specific constants
+      t4205: sort log output in a hash-independent way
+      t4042: abstract away SHA-1-specific constants
+      t4045: abstract away SHA-1-specific constants
+      t4208: abstract away SHA-1-specific constants
+      t5300: abstract away SHA-1-specific constants
+
+Ævar Arnfjörð Bjarmason (21):
+      configure: fix a regression in PCRE v1 detection
+      configure: detect redundant --with-libpcre & --with-libpcre1
+      Makefile: make USE_LIBPCRE=YesPlease mean v2, not v1
+      Makefile: fix broken bindir_relative variable
+      Makefile: add a gitexecdir_relative variable
+      Makefile: optionally symlink libexec/git-core binaries to bin/git
+      Remove contrib/examples/*
+      doc hash-function-transition: clarify how older gits die on NewHash
+      doc hash-function-transition: clarify what SHAttered means
+      git-svn: avoid warning on undef readline()
+      Makefile: add a DEVOPTS to suppress -Werror under DEVELOPER
+      Makefile: add a DEVOPTS to get all of -Wextra
+      git{,-blame}.el: remove old bitrotting Emacs code
+      .gitattributes: add *.pl extension for Perl
+      .gitattributes: use the "perl" differ for Perl
+      .gitattributes: add a diff driver for Python
+      sha1-name.c: remove stray newline
+      sha1-array.h: align function arguments
+      git-p4: change "commitish" typo to "committish"
+      sha1-name.c: move around the collect_ambiguous() function
+      get_short_oid: sort ambiguous objects by type, then SHA-1
+
+
+Version v2.17.6; changes since v2.17.5:
+---------------------------------------
+
+Johannes Schindelin (2):
+      run-command: invalidate lstat cache after a command finished
+      Git 2.17.6
+
+Matheus Tavares (2):
+      checkout: fix bug that makes checkout follow symlinks in leading path
+      unpack_trees(): start with a fresh lstat cache
+
+
+Version v2.17.5; changes since v2.17.4:
+---------------------------------------
+
+Jeff King (6):
+      t0300: make "quit" helper more realistic
+      t0300: use more realistic inputs
+      credential: parse URL without host as empty host, not unset
+      credential: refuse to operate when missing host or protocol
+      credential: die() when parsing invalid urls
+      Git 2.17.5
+
+Jonathan Nieder (4):
+      fsck: convert gitmodules url to URL passed to curl
+      credential: treat URL without scheme as invalid
+      credential: treat URL with empty scheme as invalid
+      fsck: reject URL with empty host in .gitmodules
+
+
+Version v2.17.4; changes since v2.17.3:
+---------------------------------------
+
+Jeff King (4):
+      credential: avoid writing values with newlines
+      t/lib-credential: use test_i18ncmp to check stderr
+      credential: detect unrepresentable values when parsing urls
+      fsck: detect gitmodules URLs with embedded newlines
+
+Junio C Hamano (1):
+      Git 2.17.4
+
+
+Version v2.17.3; changes since v2.17.2:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (23):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+      Git 2.17.3
+
+Jonathan Nieder (2):
+      submodule: reject submodule.update = !command in .gitmodules
+      fsck: reject submodule.update = !command in .gitmodules
+
+
+Version v2.17.2; changes since v2.17.1:
+---------------------------------------
+
+Jeff King (5):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+      fsck: detect submodule urls starting with dash
+      fsck: detect submodule paths starting with dash
+
+Junio C Hamano (4):
+      Git 2.14.5
+      Git 2.15.3
+      Git 2.16.5
+      Git 2.17.2
+
+
+Version v2.17.1; changes since v2.17.0:
+---------------------------------------
+
+Jeff King (18):
+      submodule-config: verify submodule names as paths
+      is_ntfs_dotgit: use a size_t for traversing string
+      is_hfs_dotgit: match other .git files
+      skip_prefix: add case-insensitive variant
+      verify_path: drop clever fallthrough
+      verify_dotfile: mention case-insensitivity in comment
+      update-index: stat updated files earlier
+      verify_path: disallow symlinks in .gitmodules
+      index-pack: make fsck error message more specific
+      fsck: simplify ".git" check
+      fsck: actually fsck blob data
+      fsck: detect gitmodules files
+      fsck: handle promisor objects in .gitmodules check
+      fsck: check .gitmodules content
+      fsck: call fsck_finish() after fscking objects
+      unpack-objects: call fsck_finish() after fscking objects
+      index-pack: check .gitmodules files with --strict
+      fsck: complain when .gitmodules is a symlink
+
+Johannes Schindelin (2):
+      is_ntfs_dotgit: match other .git files
+      is_{hfs,ntfs}_dotgitmodules: add tests
+
+Junio C Hamano (5):
+      Git 2.13.7
+      Git 2.14.4
+      Git 2.15.2
+      Git 2.16.4
+      Git 2.17.1
+
+
+Version v2.17.0; changes since v2.17.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (3376t)
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Christopher Díaz Riveros (2):
+      l10n: es.po: fixes to Spanish translation
+      l10n: es.po: Update Spanish translation 2.17.0
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.17.0 round 1
+      l10n: fr.po: v2.17.0 no fuzzy
+
+Jiang Xin (2):
+      l10n: git.pot: v2.17.0 round 1 (132 new, 44 removed)
+      l10n: zh_CN: for git v2.17.0 l10n round 1
+
+Jonathan Nieder (1):
+      upload-pack: disable object filtering when disabled by config
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.17
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (3376t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 132 new messages
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.17.0 l10n round 1
+
+René Scharfe (1):
+      unpack-trees: release oid_array after use in check_updates()
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(3376t): Updated Vietnamese translation for v2.17
+
+Ævar Arnfjörð Bjarmason (1):
+      add -p: fix 2.17.0-rc* regression due to moved code
+
+
+Version v2.17.0-rc2; changes since v2.17.0-rc1:
+-----------------------------------------------
+
+Junio C Hamano (3):
+      Git 2.16.3
+      t9902: disable test on the list of merge-strategies under GETTEXT_POISON
+      Git 2.17-rc2
+
+SZEDER Gábor (1):
+      completion: clear cached --options when sourcing the completion script
+
+Stefan Beller (1):
+      submodule deinit: handle non existing pathspecs gracefully
+
+Thomas Gummerer (1):
+      git-stash.txt: remove extra square bracket
+
+
+Version v2.17.0-rc1; changes since v2.17.0-rc0:
+-----------------------------------------------
+
+Ben Peart (1):
+      Fix bugs preventing adding updated cache entries to the name hash
+
+David Pursehouse (1):
+      Documentation/merge-strategies: typofix
+
+Jeff King (1):
+      doc/gitattributes: mention non-recursive behavior
+
+Johannes Schindelin (1):
+      mingw: abort on invalid strftime formats
+
+Jonathan Tan (3):
+      sha1_file: restore OBJECT_INFO_QUICK functionality
+      index-pack: support checking objects but not links
+      fetch-pack: do not check links for partial fetch
+
+Junio C Hamano (1):
+      Git 2.17-rc1
+
+Kaartic Sivaraam (1):
+      t/t3200: fix a typo in a test description
+
+Martin Ågren (4):
+      t7006: add tests for how git config paginates
+      config: respect `pager.config` in list/get-mode only
+      config: change default of `pager.config` to "on"
+      write_locked_index(): add flag to avoid writing unchanged index
+
+Michele Locati (1):
+      filter-branch: use printf instead of echo -e
+
+Ramsay Jones (3):
+      http: fix an unused variable warning for 'curl_no_proxy'
+      -Wuninitialized: remove some 'init-self' workarounds
+      read-cache: fix an -Wmaybe-uninitialized warning
+
+Todd Zullinger (2):
+      RelNotes: add details on Perl module changes
+      completion: complete tags with git tag --delete/--verify
+
+
+Version v2.17.0-rc0; changes since v2.16.6:
+-------------------------------------------
+
+Adam Borowski (1):
+      hooks/pre-auto-gc-battery: allow gc to run on non-laptops
+
+Alban Gruin (1):
+      userdiff: add built-in pattern for golang
+
+Alex Bennée (1):
+      send-email: add test for Linux's get_maintainer.pl
+
+Alexander Shopov (1):
+      Mark messages for translations
+
+Ben Peart (2):
+      dir.c: don't flag the index as dirty for changes to the untracked cache
+      name-hash: properly fold directory names in adjust_dirname_case()
+
+Bernhard M. Wiedemann (1):
+      perl: call timegm and timelocal with 4-digit year
+
+Brandon Williams (38):
+      object_info: change member name from 'typename' to 'type_name'
+      object: rename function 'typename' to 'type_name'
+      blame: rename 'this' variables
+      pack-objects: rename 'this' variables
+      rev-parse: rename 'this' variable
+      submodule: indicate that 'submodule.recurse' doesn't apply to clone
+      diff: rename 'this' variables
+      apply: rename 'try' variables
+      apply: rename 'new' variables
+      checkout: rename 'new' variables
+      help: rename 'new' variables
+      pack-redundant: rename 'new' variables
+      reflog: rename 'new' variables
+      remote: rename 'new' variables
+      combine-diff: rename 'new' variables
+      commit: rename 'new' variables
+      diff-lib: rename 'new' variable
+      diff: rename 'new' variables
+      diffcore-delta: rename 'new' variables
+      entry: rename 'new' variables
+      http: rename 'new' variables
+      imap-send: rename 'new' variables
+      line-log: rename 'new' variables
+      read-cache: rename 'new' variables
+      ref-filter: rename 'new' variables
+      remote: rename 'new' variables
+      split-index: rename 'new' variables
+      submodule: rename 'new' variables
+      trailer: rename 'new' variables
+      unpack-trees: rename 'new' variables
+      init-db: rename 'template' variables
+      environment: rename 'template' variables
+      diff: rename 'template' variables
+      environment: rename 'namespace' variables
+      wrapper: rename 'template' variables
+      tempfile: rename 'template' variables
+      trailer: rename 'template' variables
+      replace: rename 'new' variables
+
+Christian Couder (12):
+      perf/aggregate: fix checking ENV{GIT_PERF_SUBSECTION}
+      perf/aggregate: refactor printing results
+      perf/aggregate: implement codespeed JSON output
+      perf/run: add conf_opts argument to get_var_from_env_or_config()
+      perf/run: learn about perf.codespeedOutput
+      perf/run: learn to send output to codespeed server
+      perf/run: read GIT_PERF_REPO_NAME from perf.repoName
+      sha1_file: remove static strbuf from sha1_file_name()
+      sha1_file: improve sha1_file_name() perfs
+      perf/aggregate: add --subsection option
+      perf/aggregate: add --reponame option
+      perf/aggregate: sort JSON fields in output
+
+Christian Ludwig (2):
+      send-email: rename variable for clarity
+      send-email: support separate Reply-To address
+
+Derrick Stolee (3):
+      packfile: use get_be64() for large offsets
+      sha1_name: fix uninitialized memory errors
+      revision.c: reduce object database queries
+
+Elijah Newren (3):
+      Tighten and correct a few testcases for merging and cherry-picking
+      merge-recursive: fix logic ordering issue
+      merge-recursive: add explanation for src_entry and dst_entry
+
+Eric Sunshine (2):
+      worktree: add: fix 'post-checkout' not knowing new worktree location
+      t2028: fix minor error and issues in newly-added "worktree move" tests
+
+Gargi Sharma (1):
+      mru: Replace mru.[ch] with list.h implementation
+
+Genki Sky (1):
+      rebase: add --allow-empty-message option
+
+Gregory Herrero (1):
+      rebase -p: fix incorrect commit message when calling `git merge`.
+
+Jeff Hostetler (12):
+      upload-pack: add object filtering for partial clone
+      fetch-pack, index-pack, transport: partial clone
+      fetch-pack: add --no-filter
+      fetch: support filters
+      partial-clone: define partial clone settings in config
+      t5616: end-to-end tests for partial clone
+      fetch: inherit filter-spec from partial clone
+      t5616: test bulk prefetch after partial fetch
+      stat_tracking_info: return +1 when branches not equal
+      status: add --[no-]ahead-behind to status and commit for V2 format.
+      status: update short status to respect --no-ahead-behind
+      status: support --no-ahead-behind in long format
+
+Jeff King (20):
+      sq_quote_argv: drop maxlen parameter
+      trace: avoid unnecessary quoting
+      correct error messages for NULL packet_read_line()
+      CodingGuidelines: mention "static" and "extern"
+      t0002: simplify error checking
+      describe: confirm that blobs actually exist
+      test-hashmap: use ALLOC_ARRAY rather than bare malloc
+      test-hashmap: check allocation computation for overflow
+      test-hashmap: use xsnprintf rather than snprintf
+      test-hashmap: use strbuf_getline rather than fgets
+      test-hashmap: simplify alloc_test_entry
+      test-hashmap: use "unsigned int" for hash storage
+      sq_dequote: fix extra consumption of source string
+      t5545: factor out http repository setup
+      remote-curl: unquote incoming push-options
+      t: send verbose test-helper output to fd 4
+      strbuf_read_file(): preserve errno across close() call
+      smart-http: document flush after "# service" line
+      t3701: add a test for interactive.diffFilter
+      add--interactive: detect bogus diffFilter output
+
+Johannes Schindelin (2):
+      sequencer: assign only free()able strings to gpg_sign
+      apply: demonstrate a problem applying svn diffs
+
+Jon Simons (1):
+      always check for NULL return from packet_read_line()
+
+Jonathan Nieder (1):
+      perl: treat PERLLIB_EXTRA as an extra path again
+
+Jonathan Tan (18):
+      extension.partialclone: introduce partial clone extension
+      fsck: introduce partialclone extension
+      fsck: support refs pointing to promisor objects
+      fsck: support referenced promisor objects
+      fsck: support promisor objects as CLI argument
+      index-pack: refactor writing of .keep files
+      introduce fetch-object: fetch one promisor object
+      sha1_file: support lazily fetching missing objects
+      rev-list: support termination at promisor objects
+      gc: do not repack promisor packfiles
+      fetch-pack: test support excluding large blobs
+      fetch: refactor calculation of remote list
+      clone: partial clone
+      unpack-trees: batch fetching of missing blobs
+      fetch-pack: restore save_commit_buffer after use
+      Docs: split out long-running subprocess handshake
+      packfile: remove GIT_DEBUG_LOOKUP log statements
+      packfile: refactor hash search with fanout table
+
+Junio C Hamano (14):
+      Start 2.17 cycle
+      First batch after 2.16
+      blame: tighten command line parser
+      Second batch for 2.17
+      Third batch for 2.17
+      merge: allow fast-forward when merging a tracked tag
+      Fourth batch for 2.17
+      Fifth batch for 2.17
+      test_must_be_empty: make sure the file exists, not just empty
+      untracked cache: use git_env_bool() not getenv() for customization
+      Sixth batch for 2.17
+      Seventh batch for 2.17
+      Eighth batch for 2.17
+      Git 2.17-rc0
+
+Kim Gybels (1):
+      packed_ref_cache: don't use mmap() for small files
+
+Lucas Werkmeister (1):
+      daemon: add --log-destination=(stderr|syslog|none)
+
+Martin Ågren (5):
+      sequencer: make lockfiles non-static
+      sequencer: always roll back lock in `do_recursive_merge()`
+      merge-recursive: always roll back lock in `merge_recursive_generic()`
+      merge: always roll back lock in `checkout_fast_forward()`
+      sequencer: do not roll back lockfile unnecessarily
+
+Matthieu Moy (2):
+      send-email: add and use a local copy of Mail::Address
+      perl/Git: remove now useless email-address parsing code
+
+Michael Haggerty (5):
+      struct snapshot: store `start` rather than `header_len`
+      create_snapshot(): use `xmemdupz()` rather than a strbuf
+      find_reference_location(): make function safe for empty snapshots
+      packed_ref_iterator_begin(): make optimization more general
+      load_contents(): don't try to mmap an empty file
+
+Mårten Kongstad (1):
+      docs/pretty-formats: fix typo '% <(<N>)' -> '%<|(<N>)'
+
+Nathan Payre (1):
+      send-email: extract email-parsing code into a subroutine
+
+Nguyễn Thái Ngọc Duy (72):
+      trace.c: move strbuf_release() out of print_trace_line()
+      run-command.c: introduce trace_run_command()
+      run-command.c: print program 'git' when tracing git_cmd mode
+      run-command.c: print env vars in trace_run_command()
+      run-command.c: print new cwd in trace_run_command()
+      worktree.c: add validate_worktree()
+      dir.c: avoid stat() in valid_cached_dir()
+      dir.c: fix missing dir invalidation in untracked code
+      format-patch: keep cover-letter diffstat wrapped in 72 columns
+      dir.c: stop ignoring opendir() error in open_cached_dir()
+      format-patch: reduce patch diffstat width to 72
+      trace: measure where the time is spent in the index-heavy operations
+      diff.c: refactor pprint_rename() to use strbuf
+      dir.c: ignore paths containing .git when invalidating untracked cache
+      parse-options: support --git-completion-helper
+      parse-options: add OPT_xxx_F() variants
+      parse-options: let OPT__FORCE take optional flags argument
+      git-completion.bash: introduce __gitcomp_builtin
+      completion: use __gitcomp_builtin in _git_add
+      completion: use __gitcomp_builtin in _git_am
+      completion: use __gitcomp_builtin in _git_apply
+      completion: use __gitcomp_builtin in _git_branch
+      completion: use __gitcomp_builtin in _git_checkout
+      completion: use __gitcomp_builtin in _git_cherry_pick
+      completion: use __gitcomp_builtin in _git_clean
+      completion: use __gitcomp_builtin in _git_clone
+      completion: use __gitcomp_builtin in _git_commit
+      completion: use __gitcomp_builtin in _git_config
+      completion: use __gitcomp_builtin in _git_describe
+      completion: use __gitcomp_builtin in _git_difftool
+      completion: use __gitcomp_builtin in _git_fetch
+      completion: use __gitcomp_builtin in _git_fsck
+      completion: use __gitcomp_builtin in _git_gc
+      completion: use __gitcomp_builtin in _git_grep
+      completion: use __gitcomp_builtin in _git_help
+      completion: use __gitcomp_builtin in _git_init
+      completion: use __gitcomp_builtin in _git_ls_files
+      completion: use __gitcomp_builtin in _git_ls_remote
+      completion: use __gitcomp_builtin in _git_merge
+      completion: use __gitcomp_builtin in _git_merge_base
+      completion: use __gitcomp_builtin in _git_mv
+      completion: use __gitcomp_builtin in _git_name_rev
+      completion: use __gitcomp_builtin in _git_notes
+      completion: use __gitcomp_builtin in _git_pull
+      completion: use __gitcomp_builtin in _git_push
+      completion: use __gitcomp_builtin in _git_remote
+      remote: force completing --mirror= instead of --mirror
+      completion: use __gitcomp_builtin in _git_replace
+      completion: use __gitcomp_builtin in _git_reset
+      completion: use __gitcomp_builtin in _git_revert
+      completion: use __gitcomp_builtin in _git_rm
+      completion: use __gitcomp_builtin in _git_show_branch
+      completion: use __gitcomp_builtin in _git_status
+      completion: use __gitcomp_builtin in _git_tag
+      completion: use __gitcomp_builtin in _git_worktree
+      worktree.c: add update_worktree_location()
+      worktree move: new command
+      worktree move: accept destination as directory
+      worktree move: refuse to move worktrees with submodules
+      worktree remove: new command
+      worktree remove: allow it when $GIT_WORK_TREE is already gone
+      am: add --show-current-patch
+      rebase: add --show-current-patch
+      rebase: introduce and use pseudo-ref REBASE_HEAD
+      am: support --quit
+      diff: add --compact-summary
+      object.h: update flag allocation comment
+      object.h: realign object flag allocation comment
+      completion: don't set PARSE_OPT_NOCOMPLETE on --rerere-autoupdate
+      completion: simplify _git_notes
+      completion: complete --{reuse,reedit}-message= for all notes subcmds
+      completion: more subcommands in _git_notes()
+
+Nicolas Morey-Chaisemartin (1):
+      tag: add --edit option
+
+Olga Telezhnaya (3):
+      mru: use double-linked list from list.h
+      ref-filter: get rid of duplicate code
+      ref-filter: get rid of goto
+
+Patryk Obara (14):
+      clang-format: adjust penalty for return type line break
+      http-push: improve error log
+      sha1_file: convert pretend_sha1_file to object_id
+      dir: convert struct sha1_stat to use object_id
+      sha1_file: convert hash_sha1_file to object_id
+      cache: clear whole hash buffer with oidclr
+      match-trees: convert splice_tree to object_id
+      commit: convert commit_tree* to object_id
+      notes: convert combine_notes_* to object_id
+      notes: convert write_notes_tree to object_id
+      sha1_file: convert write_sha1_file to object_id
+      sha1_file: convert force_object_loose to object_id
+      sha1_file: convert write_loose_object to object_id
+      sha1_file: rename hash_sha1_file_literally
+
+Phillip Wood (25):
+      t3404: check intermediate squash messages
+      commit: move empty message checks to libgit
+      Add a function to update HEAD after creating a commit
+      commit: move post-rewrite code to libgit
+      commit: move print_commit_summary() to libgit
+      sequencer: simplify adding Signed-off-by: trailer
+      sequencer: load commit related config
+      sequencer: try to commit without forking 'git commit'
+      t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
+      sequencer: improve config handling
+      t7505: style fixes
+      t7505: add tests for cherry-pick and rebase -i/-p
+      sequencer: run 'prepare-commit-msg' hook
+      add -p: only display help for active keys
+      add -p: only bind search key if there's more than one hunk
+      add -p: improve error messages
+      add -i: add function to format hunk header
+      t3701: indent here documents
+      t3701: use test_write_lines and write_script
+      t3701: don't hard code sha1 hash values
+      t3701: add failing test for pathological context lines
+      add -p: adjust offsets of subsequent hunks when one is skipped
+      add -p: calculate offset delta for edited patches
+      add -p: fix counting when splitting and coalescing
+      add -p: don't rely on apply's '--recount' option
+
+Prathamesh Chavan (2):
+      submodule: port submodule subcommand 'sync' from shell to C
+      submodule: port submodule subcommand 'deinit' from shell to C
+
+Ramsay Jones (1):
+      t4151: consolidate multiple calls to test_i18ngrep
+
+Rasmus Villemoes (2):
+      grep: move grep_source_init outside critical section
+      grep: simplify grep_oid and grep_file
+
+René Scharfe (4):
+      cocci: use format keyword instead of a literal string
+      check-ignore: fix mix of directories and other file types
+      sequencer: factor out strbuf_read_file_or_whine()
+      perf: use GIT_PERF_REPEAT_COUNT=3 by default even without config file
+
+SZEDER Gábor (22):
+      Use MOVE_ARRAY
+      travis-ci: use 'set -x' for the commands under 'su' in the 32 bit Linux build
+      travis-ci: use 'set -e' in the 32 bit Linux build job
+      travis-ci: don't repeat the path of the cache directory
+      travis-ci: don't run the test suite as root in the 32 bit Linux build
+      travis-ci: don't fail if user already exists on 32 bit Linux build job
+      t6300-for-each-ref: fix "more than one quoting style" tests
+      Makefile: generate Git(3pm) as dependency of the 'doc' and 'man' targets
+      t: prevent '-x' tracing from interfering with test helpers' stderr
+      t: add means to disable '-x' tracing for individual test scripts
+      t1507-rev-parse-upstream: don't check the stderr of a shell function
+      t5536: simplify checking of messages output to stderr
+      t3030-merge-recursive: don't check the stderr of a subshell
+      t5500-fetch-pack: don't check the stderr of a subshell
+      t5526: use $TRASH_DIRECTORY to specify the path of GIT_TRACE log file
+      t5570-git-daemon: don't check the stderr of a subshell
+      t9903-bash-prompt: don't check the stderr of __git_ps1()
+      t1510-repo-setup: mark as untraceable with '-x'
+      t/README: add a note about don't saving stderr of compound commands
+      travis-ci: run tests with '-x' tracing
+      t9400-git-cvsserver-server: don't rely on the output of 'test_cmp'
+      t9402-git-cvsserver-refs: don't check the stderr of a subshell
+
+Stefan Beller (9):
+      diff.h: make pickaxe_opts an unsigned bit field
+      diff: migrate diff_flags.pickaxe_ignore_case to a pickaxe_opts bit
+      diff: introduce DIFF_PICKAXE_KINDS_MASK
+      diffcore: add a pickaxe option to find a specific blob
+      diff: properly error out when combining multiple pickaxe options
+      diff: use HAS_MULTI_BITS instead of counting bits manually
+      builtin/pull: respect verbosity settings in submodules
+      send-email: error out when relogin delay is missing
+      color.h: document and modernize header
+
+Stephen R Guglielmo (1):
+      subtree: fix add and pull for GPG-signed commits
+
+Tatyana Krasnukha (1):
+      apply: handle Subversion diffs with /dev/null gracefully
+
+Thomas Gummerer (1):
+      reset --hard: make use of the pretty machinery
+
+Thomas Levesque (1):
+      userdiff.c: add C# async keyword in diff pattern
+
+Todd Zullinger (2):
+      Makefile: remove *.spec from clean target
+      Makefile: add NO_PERL_CPAN_FALLBACKS knob
+
+Torsten Bögershausen (1):
+      convert_to_git(): safe_crlf/checksafe becomes int conv_flags
+
+brian m. carlson (13):
+      hash: move SHA-1 macros to hash.h
+      hash: create union for hash context allocation
+      builtin/index-pack: improve hash function abstraction
+      builtin/unpack-objects: switch uses of SHA-1 to the_hash_algo
+      sha1_file: switch uses of SHA-1 to the_hash_algo
+      fast-import: switch various uses of SHA-1 to the_hash_algo
+      pack-check: convert various uses of SHA-1 to abstract forms
+      pack-write: switch various SHA-1 values to abstract forms
+      read-cache: abstract away uses of SHA-1
+      csum-file: rename sha1file to hashfile
+      csum-file: abstract uses of SHA-1
+      bulk-checkin: abstract SHA-1 usage
+      hash: update obsolete reference to SHA1_HEADER
+
+Ævar Arnfjörð Bjarmason (49):
+      Makefile: don't error out under DC_SHA1_EXTERNAL if DC_SHA1_SUBMODULE=auto
+      Makefile: under "make dist", include the sha1collisiondetection submodule
+      sha1dc_git.h: re-arrange an ifdef chain for a subsequent change
+      Makefile: replace perl/Makefile.PL with simple make rules
+      perl: avoid *.pmc and fix Error.pm further
+      status: add a failing test showing a core.untrackedCache bug
+      wildmatch test: indent with tabs, not spaces
+      wildmatch test: use more standard shell style
+      wildmatch test: don't try to vertically align our output
+      wildmatch test: use a paranoia pattern from nul_match()
+      wildmatch test: remove dead fnmatch() test code
+      wildmatch test: use test_must_fail, not ! for test-wildmatch
+      wildmatch test: perform all tests under all wildmatch() modes
+      wildmatch test: create & test files on disk in addition to in-memory
+      test-lib: add an EXPENSIVE_ON_WINDOWS prerequisite
+      wildmatch test: mark test as EXPENSIVE_ON_WINDOWS
+      fetch: don't redundantly NULL something calloc() gave us
+      fetch: trivially refactor assignment to ref_nr
+      fetch: stop accessing "remote" variable indirectly
+      remote: add a macro for "refs/tags/*:refs/tags/*"
+      fetch tests: refactor in preparation for testing tag pruning
+      fetch tests: re-arrange arguments for future readability
+      fetch tests: add a tag to be deleted to the pruning tests
+      fetch tests: test --prune and refspec interaction
+      fetch tests: double quote a variable for interpolation
+      fetch tests: expand case/esac for later change
+      fetch tests: fetch <url> <spec> as well as fetch [<remote>]
+      git fetch doc: add a new section to explain the ins & outs of pruning
+      git remote doc: correct dangerous lies about what prune does
+      git-fetch & config doc: link to the new PRUNING section
+      fetch tests: add scaffolding for the new fetch.pruneTags
+      fetch: add a --prune-tags option and fetch.pruneTags config
+      fetch: make the --prune-tags work with <url>
+      update-index doc: note a fixed bug in the untracked cache
+      update-index doc: note the caveat with "could not open..."
+      perl: *.pm files should not have the executable bit
+      Git.pm: remove redundant "use strict" from sub-package
+      Git.pm: add the "use warnings" pragma
+      commit: run git gc --auto just before the post-commit hook
+      gitweb: hard-depend on the Digest::MD5 5.8 module
+      Git.pm: hard-depend on the File::{Temp,Spec} modules
+      git-send-email: unconditionally use Net::{SMTP,Domain}
+      perl: update our ancient copy of Error.pm
+      perl: update our copy of Mail::Address
+      perl: move CPAN loader wrappers to another namespace
+      perl: generalize the Git::LoadCPAN facility
+      perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
+      perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
+      git manpage: note git-security@googlegroups.com
+
+
+Version v2.16.6; changes since v2.16.5:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (22):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+      test-drop-caches: use `has_dos_drive_prefix()`
+      Git 2.16.6
+
+Jonathan Nieder (1):
+      submodule: reject submodule.update = !command in .gitmodules
+
+
+Version v2.16.5; changes since v2.16.4:
+---------------------------------------
+
+Jeff King (3):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+
+Junio C Hamano (3):
+      Git 2.14.5
+      Git 2.15.3
+      Git 2.16.5
+
+
+Version v2.16.4; changes since v2.16.3:
+---------------------------------------
+
+Jeff King (8):
+      submodule-config: verify submodule names as paths
+      is_ntfs_dotgit: use a size_t for traversing string
+      is_hfs_dotgit: match other .git files
+      skip_prefix: add case-insensitive variant
+      verify_path: drop clever fallthrough
+      verify_dotfile: mention case-insensitivity in comment
+      update-index: stat updated files earlier
+      verify_path: disallow symlinks in .gitmodules
+
+Johannes Schindelin (2):
+      is_ntfs_dotgit: match other .git files
+      is_{hfs,ntfs}_dotgitmodules: add tests
+
+Junio C Hamano (4):
+      Git 2.13.7
+      Git 2.14.4
+      Git 2.15.2
+      Git 2.16.4
+
+
+Version v2.16.3; changes since v2.16.2:
+---------------------------------------
+
+Ben Peart (1):
+      fsmonitor: update documentation to remove reference to invalid config settings
+
+Brandon Williams (1):
+      oidmap: ensure map is initialized
+
+Christian Ludwig (1):
+      t9001: use existing helper in send-email test
+
+Eric Sunshine (2):
+      git-worktree.txt: fix missing ")" typo
+      git-worktree.txt: fix indentation of example and text of 'add' command
+
+Eric Wong (2):
+      fsck: fix leak when traversing trees
+      git-svn: control destruction order to avoid segfault
+
+Genki Sky (1):
+      test-lib.sh: unset XDG_CACHE_HOME
+
+Jeff King (10):
+      t5570: use ls-remote instead of clone for interp tests
+      t/lib-git-daemon: record daemon log
+      daemon: fix off-by-one in logging extended attributes
+      daemon: handle NULs in extended attribute string
+      t/lib-git-daemon: add network-protocol helpers
+      daemon: fix length computation in newline stripping
+      t0205: drop redundant test
+      git-sh-i18n: check GETTEXT_POISON before USE_GETTEXT_SCHEME
+      commit: drop uses of get_cached_commit_buffer()
+      revision: drop --show-all option
+
+Jonathan Tan (2):
+      http: support cookie redaction when tracing
+      http: support omitting data from traces
+
+Juan F. Codagnone (1):
+      mailinfo: avoid segfault when can't open files
+
+Junio C Hamano (2):
+      worktree: say that "add" takes an arbitrary commit in short-help
+      Git 2.16.3
+
+Kaartic Sivaraam (2):
+      Doc/gitsubmodules: make some changes to improve readability and syntax
+      Doc/git-submodule: improve readability and grammar of a sentence
+
+Mathias Rav (1):
+      files_initial_transaction_commit(): only unlock if locked
+
+Motoki Seki (1):
+      Documentation/gitsubmodules.txt: avoid non-ASCII apostrophes
+
+Nguyễn Thái Ngọc Duy (12):
+      t2203: test status output with porcelain v2 format
+      Use DIFF_DETECT_RENAME for detect_rename assignments
+      wt-status.c: coding style fix
+      wt-status.c: catch unhandled diff status codes
+      wt-status.c: rename rename-related fields in wt_status_change_data
+      wt-status.c: handle worktree renames
+      read-cache.c: change type of "temp" in write_shared_index()
+      read-cache.c: move tempfile creation/cleanup out of write_shared_index
+      diff.c: flush stdout before printing rename warnings
+      read-cache: don't write index twice if we can't write shared index
+      completion: fix completing merge strategies on non-C locales
+      gitignore.txt: elaborate shell glob syntax
+
+Ramsay Jones (2):
+      config.mak.uname: remove SPARSE_FLAGS setting for cygwin
+      Makefile: suppress a sparse warning for pack-revindex.c
+
+Randall S. Becker (1):
+      hashmap.h: remove unused variable
+
+René Scharfe (2):
+      describe: use strbuf_add_unique_abbrev() for adding short hashes
+      cocci: simplify check for trivial format strings
+
+Robert P. J. Day (2):
+      t/: correct obvious typo "detahced"
+      Correct mispellings of ".gitmodule" to ".gitmodules"
+
+SZEDER Gábor (11):
+      travis-ci: build Git during the 'script' phase
+      t5541: add 'test_i18ngrep's missing filename parameter
+      t5812: add 'test_i18ngrep's missing filename parameter
+      t6022: don't run 'git merge' upstream of a pipe
+      t4001: don't run 'git status' upstream of a pipe
+      t5510: consolidate 'grep' and 'test_i18ngrep' patterns
+      t5536: let 'test_i18ngrep' read the file without redirection
+      t: move 'test_i18ncmp' and 'test_i18ngrep' to 'test-lib-functions.sh'
+      t: validate 'test_i18ngrep's parameters
+      t: make 'test_i18ngrep' more informative on failure
+      t: document 'test_must_fail ok=<signal-name>'
+
+Stefan Beller (5):
+      t/lib-submodule-update.sh: clarify test
+      t/lib-submodule-update.sh: fix test ignoring ignored files in submodules
+      unpack-trees: oneway_merge to update submodules
+      submodule: submodule_move_head omits old argument in forced case
+      Documentation/git-status: clarify status table for porcelain mode
+
+Stefan Moch (2):
+      t7001: add test case for --dry-run
+      mv: remove unneeded 'if (!show_only)'
+
+Thomas Gummerer (3):
+      read-cache: fix reading the shared index for other repos
+      split-index: don't write cache tree with null oid entries
+      travis: run tests with GIT_TEST_SPLIT_INDEX
+
+Todd Zullinger (1):
+      doc: mention 'git show' defaults to HEAD
+
+Yasushi SHOJI (1):
+      bisect: debug: convert struct object to object_id
+
+brian m. carlson (1):
+      docs/interpret-trailers: fix agreement error
+
+Ævar Arnfjörð Bjarmason (2):
+      commit doc: document that -c, -C, -F and --fixup with -m error
+      commit: add support for --fixup <commit> -m"<extra message>"
+
+
+Version v2.16.2; changes since v2.16.1:
+---------------------------------------
+
+Andreas G. Schacker (1):
+      doc/read-tree: remove obsolete remark
+
+Daniel Knittl-Frank (1):
+      describe: prepend "tags/" when describing tags with embedded name
+
+Jason Merrill (1):
+      git-svn: fix svn.pushmergeinfo handling of svn+ssh usernames.
+
+Jeff King (4):
+      t5600: fix outdated comment about unborn HEAD
+      t5600: modernize style
+      clone: factor out dir_exists() helper
+      clone: do not clean up directories we didn't create
+
+Junio C Hamano (2):
+      merge: teach -Xours/-Xtheirs to symbolic link merge
+      Git 2.16.2
+
+Nguyễn Thái Ngọc Duy (1):
+      add--interactive: ignore submodule changes except HEAD
+
+René Scharfe (9):
+      commit: avoid allocation in clear_commit_marks_many()
+      commit: use clear_commit_marks_many() in remove_redundant()
+      ref-filter: use clear_commit_marks_many() in do_merge_filter()
+      object: add clear_commit_marks_all()
+      bisect: avoid using the rev_info flag leak_pending
+      bundle: avoid using the rev_info flag leak_pending
+      checkout: avoid using the rev_info flag leak_pending
+      revision: remove the unused flag leak_pending
+      commit: remove unused function clear_commit_marks_for_object_array()
+
+Thomas Gummerer (1):
+      stash: don't delete untracked files that match pathspec
+
+Ævar Arnfjörð Bjarmason (2):
+      perf: amend the grep tests to test grep.threads
+      cat-file doc: document that -e will return some output
+
+
+Version v2.16.1; changes since v2.16.0:
+---------------------------------------
+
+Eric Sunshine (1):
+      t5601-clone: test case-conflicting files on case-insensitive filesystem
+
+Junio C Hamano (1):
+      Git 2.16.1
+
+brian m. carlson (1):
+      repository: pre-initialize hash algo pointer
+
+
+Version v2.16.0; changes since v2.16.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (3284t)
+      l10n: bg.po: Updated Bulgarian translation (3288t)
+
+Changwoo Ryu (2):
+      l10n: ko.po: Update Korean translation
+      l10n: TEAMS: Add ko team members
+
+Christopher Díaz Riveros (3):
+      l10n: Update Spanish translation
+      l10n: es.po: Update Spanish Translation v2.16.0
+      l10n: es.po: Spanish translation 2.16.0 round 2
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Fangyi Zhou (2):
+      l10n: zh_CN Fix typo
+      l10n: zh_CN translate parameter name
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.16.0 round 1
+      l10n: fr.po 2.16 round 2
+
+Jiang Xin (4):
+      l10n: git.pot: v2.16.0 round 1 (64 new, 25 removed)
+      l10n: git.pot: v2.16.0 round 2 (8 new, 4 removed)
+      l10n: zh_CN: for git v2.16.0 l10n round 2
+      l10n: TEAMS: add zh_CN team members
+
+Jordi Mas (1):
+      l10n: Fixes to Catalan translation
+
+Junio C Hamano (1):
+      Git 2.16
+
+Louis Bettens (1):
+      l10n: fr.po: "worktree list" mistranslated as prune
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (3284t0f0u)
+      l10n: sv.po: Update Swedish translation (3288t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: improve messages when a branch starts to track another ref
+      l10n: de.po: translate 72 new messages
+
+Robert Abel (1):
+      l10n: fixes to German translation
+
+SZEDER Gábor (1):
+      RelNotes: minor typofix
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(3288t): Updated Vietnamese translation for v2.16.0 round 2
+
+
+Version v2.16.0-rc2; changes since v2.16.0-rc1:
+-----------------------------------------------
+
+Beat Bolli (1):
+      t3900: add some more quotes
+
+Jeff King (1):
+      docs/diff-options: clarify scope of diff-filter types
+
+Johannes Schindelin (8):
+      Allow the test suite to pass in a directory whose name contains spaces
+      t0302 & t3900: add forgotten quotes
+      rebase -p: fix quoting when calling `git merge`
+      git gui: fix staging a second line to a 1-line file
+      git-gui: avoid exception upon Ctrl+T in an empty list
+      git-gui: fix exception when trying to stage with empty file list
+      git-gui: allow Ctrl+T to toggle multiple paths
+      mingw: handle GITPERLLIB in t0021 in a Windows-compatible way
+
+Junio C Hamano (3):
+      merge-recursive: do not look at the index during recursive merge
+      RelNotes update before -rc2
+      Git 2.16-rc2
+
+Ralf Thielow (1):
+      Documentation/git-worktree.txt: add missing `
+
+SZEDER Gábor (9):
+      travis-ci: fine tune the use of 'set -x' in 'ci/*' scripts
+      travis-ci: don't install default addon packages for the 32 bit Linux build
+      travis-ci: save prove state for the 32 bit Linux build
+      travis-ci: only print test failures if there are test results available
+      travis-ci: print the "tip of branch is exactly at tag" message in color
+      travis-ci: create the cache directory early in the build process
+      travis-ci: record and skip successfully built trees
+      travis-ci: don't store P4 and Git LFS in the working tree
+      travis-ci: check that all build artifacts are .gitignore-d
+
+Thomas Gummerer (1):
+      oidset: don't return value from oidset_init
+
+Todd Zullinger (2):
+      doc/SubmittingPatches: improve text formatting
+      http: fix v1 protocol tests with apache httpd < 2.4
+
+Ævar Arnfjörð Bjarmason (2):
+      Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1
+      bisect: fix a regression causing a segfault
+
+
+Version v2.16.0-rc1; changes since v2.16.0-rc0:
+-----------------------------------------------
+
+Dave Borowitz (1):
+      config.txt: document behavior of backslashes in subsections
+
+Elijah Newren (3):
+      t6044: recursive can silently incorporate dirty changes in a merge
+      move index_has_changes() from builtin/am.c to merge.c for reuse
+      merge-recursive: avoid incorporating uncommitted changes in a merge
+
+Jeff King (4):
+      test-lib: silence "-x" cleanup under bash
+      t5615: avoid re-using descriptor 4
+      test-lib: make "-x" work with "--verbose-log"
+      t/Makefile: introduce TEST_SHELL_PATH
+
+Johannes Schindelin (5):
+      rebase: do not continue when the todo list generation failed
+      sequencer: strip bogus LF at end of error messages
+      sequencer: remove superfluous conditional
+      sequencer: report when noop has an argument
+      sequencer: do not invent whitespace when transforming OIDs
+
+Julien Dusser (1):
+      strbuf: fix urlencode format string on signed char
+
+Junio C Hamano (1):
+      Git 2.16-rc1
+
+Luke Diamand (1):
+      git-p4: update multiple shelved change lists
+
+René Scharfe (2):
+      http: use internal argv_array of struct child_process
+      send-pack: use internal argv_array of struct child_process
+
+Stefan Beller (1):
+      t/helper/test-lazy-name-hash: fix compilation
+
+Torsten Bögershausen (1):
+      check-non-portable-shell.pl: `wc -l` may have leading WS
+
+
+Version v2.16.0-rc0; changes since v2.15.4:
+-------------------------------------------
+
+Albert Astals Cid (1):
+      completion: add --autostash and --no-autostash to pull
+
+Alex Vandiver (7):
+      fsmonitor: read entirety of watchman output
+      fsmonitor: set the PWD to the top of the working tree
+      fsmonitor: don't bother pretty-printing JSON from watchman
+      fsmonitor: document GIT_TRACE_FSMONITOR
+      fsmonitor: delay updating state until after split index is merged
+      fsmonitor: read from getcwd(), not the PWD environment variable
+      fsmonitor: store fsmonitor bitmap before splitting index
+
+Anders Kaseorg (1):
+      git-gui: sort entries in optimized tclIndex
+
+Andrey Okoshkin (1):
+      merge-recursive: check GIT_MERGE_VERBOSITY only once
+
+Ann T Ropea (7):
+      Documentation: revisions: fix typo: "three dot" ---> "three-dot" (in line with "two-dot").
+      Documentation: user-manual: limit usage of ellipsis
+      print_sha1_ellipsis: introduce helper
+      checkout: describe_detached_head: remove ellipsis after committish
+      t4013: prepare for upcoming "diff --raw --abbrev" output format change
+      diff: diff_aligned_abbrev: remove ellipsis after abbreviated SHA-1 value
+      t4013: test new output from diff --abbrev --raw
+
+Antoine Beaupré (6):
+      remote-mediawiki: limit filenames to legal
+      remote-mediawiki: show known namespace choices on failure
+      remote-mediawiki: skip virtual namespaces
+      remote-mediawiki: support fetching from (Main) namespace
+      remote-mediawiki: process namespaces in order
+      remote-mediawiki: show progress while fetching namespaces
+
+Beat Bolli (1):
+      contrib/git-jump: allow to configure the grep command
+
+Ben Peart (16):
+      bswap: add 64 bit endianness helper get_be64
+      preload-index: add override to enable testing preload-index
+      update-index: add a new --force-write-index option
+      fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
+      fsmonitor: add documentation for the fsmonitor extension.
+      ls-files: Add support in ls-files to display the fsmonitor valid bit
+      update-index: add fsmonitor support to update-index
+      fsmonitor: add a test tool to dump the index extension
+      split-index: disable the fsmonitor extension when running the split index test
+      fsmonitor: add test cases for fsmonitor extension
+      fsmonitor: add a sample integration script for Watchman
+      fsmonitor: add a performance test
+      fsmonitor: MINGW support for watchman integration
+      fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
+      read_index_from(): speed index loading by skipping verification of the entry order
+      fsmonitor: simplify determining the git worktree under Windows
+
+Brandon Williams (23):
+      pkt-line: add packet_write function
+      protocol: introduce protocol extension mechanisms
+      daemon: recognize hidden request arguments
+      upload-pack, receive-pack: introduce protocol version 1
+      connect: teach client to recognize v1 server response
+      connect: tell server that the client understands v1
+      http: tell server that the client understands v1
+      i5700: add interop test for protocol transition
+      ssh: introduce a 'simple' ssh variant
+      add, reset: use DIFF_OPT_SET macro to set a diff flag
+      diff: convert flags to be stored in bitfields
+      diff: add flag to indicate textconv was set via cmdline
+      diff: remove touched flags
+      diff: remove DIFF_OPT_TST macro
+      diff: remove DIFF_OPT_SET macro
+      diff: remove DIFF_OPT_CLR macro
+      diff: make struct diff_flags members lowercase
+      pathspec: only match across submodule boundaries when requested
+      diff-tree: read the index so attribute checks work in bare repositories
+      submodule: convert stage_updated_gitmodules to take a struct index_state
+      submodule: used correct index in is_staging_gitmodules_ok
+      submodule: convert get_next_submodule to not rely on the_index
+      path: document path functions
+
+Christian Couder (24):
+      perf/run: add '--config' option to the 'run' script
+      perf/run: add get_var_from_env_or_config()
+      perf/run: add GIT_PERF_DIRS_OR_REVS
+      perf/run: add calls to get_var_from_env_or_config()
+      perf/run: add get_subsections()
+      perf/run: update get_var_from_env_or_config() for subsections
+      perf/run: add run_subsection()
+      perf/run: show name of rev being built
+      perf: store subsection results in "test-results/$GIT_PERF_SUBSECTION/"
+      t0021/rot13-filter: fix list comparison
+      t0021/rot13-filter: refactor packet reading functions
+      t0021/rot13-filter: improve 'if .. elsif .. else' style
+      t0021/rot13-filter: improve error message
+      t0021/rot13-filter: add packet_initialize()
+      t0021/rot13-filter: refactor checking final lf
+      t0021/rot13-filter: add capability functions
+      Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
+      Git/Packet: clarify that packet_required_key_val_read allows EOF
+      Git/Packet.pm: use 'if' instead of 'unless'
+      list-objects-filter-options: fix 'keword' typo in comment
+      git-compat-util: introduce skip_to_optional_arg()
+      index-pack: use skip_to_optional_arg()
+      diff: use skip_to_optional_arg()
+      diff: use skip_to_optional_arg_default()
+
+Damien Marié (1):
+      run-command: add hint when a hook is ignored
+
+Daniel Bensoussan (1):
+      doc: reword gitworkflows.txt for neutrality
+
+Derrick Stolee (5):
+      p4211-line-log.sh: add log --online --raw --parents perf test
+      sha1_name: unroll len loop in find_unique_abbrev_r()
+      sha1_name: parse less while finding common prefix
+      sha1_name: minimize OID comparisons during disambiguation
+      sha1_file: use strbuf_add() instead of strbuf_addf()
+
+Elijah Newren (6):
+      sequencer: warn when internal merge may be suboptimal due to renameLimit
+      progress: fix progress meters when dealing with lots of work
+      diff: remove silent clamp of renameLimit
+      sequencer: show rename progress during cherry picks
+      merge-recursive: ignore_case shouldn't reject intentional removals
+      strbuf: remove unused stripspace function alias
+
+Emily Xie (1):
+      pathspec: die on empty strings as pathspec
+
+Eric Sunshine (3):
+      worktree: invoke post-checkout hook (unless --no-checkout)
+      clone: support 'clone --shared' from a worktree
+      version --build-options: also report host CPU
+
+Eric Wong (1):
+      git-svn: convert CRLF to LF in commit message to SVN
+
+Florian Klink (1):
+      git-send-email: honor $PATH for sendmail binary
+
+Gennady Kupava (2):
+      trace: remove trace key normalization
+      trace: improve performance while category is disabled
+
+Guillaume Castagnino (1):
+      gitweb: use filetest to allow ACLs
+
+Haaris Mehmood (1):
+      config: add --expiry-date
+
+Hans Jerry Illikainen (2):
+      merge: add config option for verifySignatures
+      t: add tests for pull --verify-signatures
+
+Heiko Voigt (3):
+      fetch: add test to make sure we stay backwards compatible
+      implement fetching of moved submodules
+      submodule: simplify decision tree whether to or not to fetch
+
+Ingo Ruhnke (1):
+      remote-mediawiki: allow fetching namespaces with spaces
+
+J Wyman (1):
+      for-each-ref: let upstream/push report the remote ref name
+
+Jacob Keller (1):
+      diff: add tests for --relative without optional prefix value
+
+Jameson Miller (4):
+      status: add option to show ignored files differently
+      status: report matching ignored and normal untracked
+      status: document options to show matching ignored files
+      status: test ignored modes
+
+Jean-Noël Avila (1):
+      submodule--helper.c: i18n: add a missing space in message
+
+Jeff Hostetler (9):
+      dir: allow exclusions from blob in addition to file
+      oidmap: add oidmap iterator methods
+      oidset: add iterator methods to oidset
+      list-objects: filter objects in traverse_commit_list
+      rev-list: add list-objects filtering support
+      pack-objects: add list-objects filtering
+      list-objects-filter-options: support --no-filter
+      rev-list: support --no-filter argument
+      partial-clone: design doc
+
+Jeff King (11):
+      revision: quit pruning diff more quickly when possible
+      git-jump: give contact instructions in the README
+      p5550: factor out nonsense-pack creation
+      t/perf/lib-pack: use fast-import checkpoint to create packs
+      p5551: add a script to test fetch pack-dir rescans
+      everything_local: use "quick" object existence check
+      sha1_file: fast-path null sha1 as a missing object
+      git-status.txt: mention --no-optional-locks
+      progress: set default delay threshold to 100%, not 0%
+      docs/pretty-formats: mention commas in %(trailers) syntax
+      cvsimport: apply shell-quoting regex globally
+
+Johannes Schindelin (4):
+      for-each-ref: let upstream/push optionally report the remote name
+      for-each-ref: test :remotename and :remoteref
+      hashmap: adjust documentation to reflect reality
+      version --build-options: report commit, too, if possible
+
+Jonathan Nieder (10):
+      ssh test: make copy_ssh_wrapper_as clean up after itself
+      connect: move no_fork fallback to git_tcp_connect
+      connect: split git:// setup into a separate function
+      connect: split ssh command line options into separate function
+      connect: split ssh option computation to its own function
+      ssh: 'auto' variant to select between 'ssh' and 'simple'
+      ssh: 'simple' variant does not support -4/-6
+      ssh: 'simple' variant does not support --port
+      connect: correct style of C-style comment
+      generate-cmdlist: avoid non-deterministic output
+
+Jonathan Tan (10):
+      connect: in ref advertisement, shallows are last
+      Documentation: document Extra Parameters
+      Tests: clean up and document submodule helpers
+      Tests: clean up submodule recursive helpers
+      diff: support anchoring line(s)
+      diffcore-rename: make diff-tree -l0 mean -l<large>
+      decorate: clean up and document API
+      transport: remove unused "push" in vtable
+      clone, fetch: remove redundant transport check
+      transport: make transport vtable more private
+
+Junio C Hamano (26):
+      t0027: do not use an empty string as a pathspec element
+      describe: do not use cmd_*() as a subroutine
+      merge-ours: do not use cmd_*() as a subroutine
+      branch: streamline "attr_only" handling in validate_new_branchname()
+      branch: split validate_new_branchname() into two
+      xdiff: reassign xpparm_t.flags bits
+      The first batch for 2.16
+      RelNotes: the second batch post 2.15 comes
+      diff: --ignore-cr-at-eol
+      RelNotes: the third batch for 2.16
+      branch: correctly reject refs/heads/{-dash,HEAD}
+      RelNotes: the fourth batch for 2.16
+      RelNotes: the fifth batch for 2.16
+      hooks doc: clarify when receive-pack invokes its hooks
+      RelNotes: the sixth batch for 2.16
+      RelNotes: the seventh batch
+      t2020: test variations that matter
+      RelNotes: the eighth batch
+      diff: use skip_to_optional_arg_default() in parsing --relative
+      t4045: reindent to make helpers readable
+      RelNotes: the ninth batch
+      RelNotes: the tenth batch
+      t5573, t7612: clean up after unexpected success of 'pull' and 'merge'
+      sequencer.c: drop 'const' from function return type
+      RelNotes: the eleventh batch
+      Git 2.16-rc0
+
+Kaartic Sivaraam (11):
+      builtin/branch: remove redundant check for HEAD
+      git-rebase: clean up dashed-usages in messages
+      Doc/checkout: checking out using @{-N} can lead to detached state
+      branch: improve documentation and naming of create_branch() parameters
+      branch: group related arguments of create_branch()
+      branch: update warning message shown when copying a misnamed branch
+      builtin/branch: strip refs/heads/ using skip_prefix
+      Doc/check-ref-format: clarify information about @{-N} syntax
+      rebase: consistently use branch_name variable
+      rebase: distinguish user input by quoting it
+      rebase: rebasing can also be done when HEAD is detached
+
+Kevin (1):
+      remote-mediawiki: add namespace support
+
+Lars Schneider (3):
+      refactor "dumb" terminal determination
+      progress: drop delay-threshold code
+      launch_editor(): indicate that Git waits for user input
+
+Liam Beguin (9):
+      Documentation: move rebase.* configs to new file
+      Documentation: use preferred name for the 'todo list' script
+      rebase -i: set commit to null in exec commands
+      rebase -i: refactor transform_todo_ids
+      rebase -i: replace reference to sha1 with oid
+      rebase -i: update functions to use a flags parameter
+      rebase -i -x: add exec commands via the rebase--helper
+      rebase -i: learn to abbreviate command names
+      t3404: add test case for abbreviated commands
+
+Marius Paliga (1):
+      builtin/push.c: add push.pushOption config
+
+Martin Ågren (15):
+      sha1_file: do not leak `lock_file`
+      treewide: prefer lockfiles on the stack
+      lockfile: fix documentation on `close_lock_file_gently()`
+      tempfile: fix documentation on `delete_tempfile()`
+      checkout-index: simplify locking logic
+      cache-tree: simplify locking logic
+      apply: move lockfile into `apply_state`
+      apply: remove `newfd` from `struct apply_state`
+      cache.h: document `write_locked_index()`
+      read-cache: drop explicit `CLOSE_LOCK`-flag
+      read-cache: leave lock in right state in `write_locked_index()`
+      read_cache: roll back lock in `update_index_if_able()`
+      t7006: add tests for how git branch paginates
+      branch: respect `pager.branch` in list-mode only
+      branch: change default of `pager.branch` to "on"
+
+Michael Haggerty (10):
+      t0000: check whether the shell supports the "local" keyword
+      files_transaction_prepare(): don't leak flags to packed transaction
+      prune_ref(): call `ref_transaction_add_update()` directly
+      ref_transaction_update(): die on disallowed flags
+      ref_transaction_add_update(): remove a check
+      refs: tidy up and adjust visibility of the `ref_update` flags
+      refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
+      refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
+      write_packed_entry(): take `object_id` arguments
+      refs: update some more docs to use "oid" rather than "sha1"
+
+Nicolas Morey-Chaisemartin (1):
+      imap-send: URI encode server folder
+
+Olga Telezhnaya (2):
+      format: create pretty.h file
+      format: create docs for pretty.h
+
+Phil Hord (2):
+      doc: prefer 'stash push' over 'stash save'
+      stash: learn to parse -m/--message like commit does
+
+Pranit Bauva (6):
+      bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
+      bisect--helper: rewrite `check_term_format` shell function in C
+      bisect--helper: `write_terms` shell function in C
+      bisect--helper: `bisect_clean_state` shell function in C
+      t6030: explicitly test for bisection cleanup
+      bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
+
+Prathamesh Chavan (3):
+      submodule--helper: introduce get_submodule_displaypath()
+      submodule--helper: introduce for_each_listed_submodule()
+      submodule: port submodule subcommand 'status' from shell to C
+
+Rafael Ascensão (1):
+      log: add option to choose which refs to decorate
+
+Ramsay Jones (1):
+      repository: fix a sparse 'using integer as NULL pointer' warning
+
+Randall S. Becker (1):
+      install-doc-quick: allow specifying what ref to install
+
+Rasmus Villemoes (2):
+      Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)"
+      completion: add git config sendemail.tocmd
+
+René Scharfe (14):
+      notes: move hex_to_bytes() to hex.c and export it
+      http-push: use hex_to_bytes()
+      sha1_file: use hex_to_bytes()
+      t4051: add test for comments preceding function lines
+      xdiff: factor out is_func_rec()
+      xdiff: show non-empty lines before functions with -W
+      t7810: improve check of -W with user-defined function lines
+      grep: update boundary variable for pre-context
+      grep: show non-empty lines before functions with -W
+      am: release strbuf after use in split_mail_mbox()
+      fmt-merge-msg: avoid leaking strbuf in shortlog()
+      strbuf: release memory on read error in strbuf_read_once()
+      transport-helper: plug strbuf and string_list leaks
+      p7519: improve check for prerequisite WATCHMAN
+
+Robert Abel (2):
+      git-prompt: make __git_eread intended use explicit
+      git-prompt: fix reading files with windows line endings
+
+Robert P. J. Day (4):
+      bisect: mention "view" as an alternative to "visualize"
+      doc: add missing "-n" (dry-run) option to reflog man page
+      prune: add "--progress" to man page and usage msg
+      notes: correct 'git notes prune' options to '[-n] [-v]'
+
+SZEDER Gábor (5):
+      setup.c: fix comment about order of .git directory discovery
+      travis-ci: introduce a $jobname variable for 'ci/*' scripts
+      travis-ci: move setting environment variables to 'ci/lib-travisci.sh'
+      travis-ci: set GIT_TEST_HTTPD in 'ci/lib-travisci.sh'
+      travis-ci: use 'set -x' in 'ci/*' scripts for extra tracing output
+
+Simon Ruderich (1):
+      config: document default value of http.sslVerify
+
+Stefan Beller (11):
+      recursive submodules: detach HEAD from new state
+      Documentation/checkout: clarify submodule HEADs to be detached
+      t6120: fix typo in test name
+      list-objects.c: factor out traverse_trees_and_blobs
+      revision.h: introduce blob/tree walking in order of the commits
+      builtin/describe.c: rename `oid` to avoid variable shadowing
+      builtin/describe.c: print debug statements earlier
+      builtin/describe.c: factor out describe_commit
+      Documentation/git-clone: improve description for submodule recursing
+      t/helper: ignore everything but sources
+      builtin/describe.c: describe a blob
+
+Steffen Prohaska (1):
+      doc: Mention info/attributes in gitrepository-layout
+
+Stephan Beyer (1):
+      bisect run: die if no command is given
+
+Thomas Gummerer (11):
+      stash: replace "git stash save" with "git stash push" in the documentation
+      stash: mark "git stash save" deprecated in the man page
+      stash: remove now superfluos help for "stash push"
+      checkout: factor out functions to new lib file
+      worktree: add can be created from any commit-ish
+      worktree: add --[no-]track option to the add subcommand
+      worktree: make add <path> <branch> dwim
+      t/README: remove mention of adding copyright notices
+      t/README: document test_cmp_rev
+      worktree: add --guess-remote flag to add subcommand
+      add worktree.guessRemote config option
+
+Todd Zullinger (4):
+      branch doc: remove --set-upstream from synopsis
+      t/lib-git-svn: cleanup inconsistent tab/space usage
+      t/lib-git-svn.sh: improve svnserve tests with parallel make test
+      RelNotes: minor typo fixes in 2.16.0 draft
+
+Torsten Bögershausen (3):
+      add: introduce "--renormalize"
+      convert: tighten the safe autocrlf handling
+      t0027: Adapt the new MIX tests to Windows
+
+W. Trevor King (1):
+      pull: pass --signoff/--no-signoff to "git merge"
+
+Wei Shuyu (1):
+      http: support CURLPROXY_HTTPS
+
+brian m. carlson (29):
+      walker: convert to struct object_id
+      refs/files-backend: convert struct ref_to_prune to object_id
+      refs: convert delete_ref and refs_delete_ref to struct object_id
+      refs: convert update_ref and refs_update_ref to use struct object_id
+      refs: prevent accidental NULL dereference in write_pseudoref
+      refs: update ref transactions to use struct object_id
+      Convert check_connected to use struct object_id
+      refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
+      refs: convert read_ref and read_ref_full to object_id
+      refs: convert dwim_ref and expand_ref to struct object_id
+      builtin/reflog: convert remaining unsigned char uses to object_id
+      refs: convert dwim_log to struct object_id
+      pack-bitmap: convert traverse_bitmap_commit_list to object_id
+      builtin/pack-objects: convert to struct object_id
+      refs: convert peel_ref to struct object_id
+      refs: convert read_ref_at to struct object_id
+      refs: convert reflog_expire parameter to struct object_id
+      sha1_file: convert index_path and index_fd to struct object_id
+      Convert remaining callers of resolve_gitlink_ref to object_id
+      refs: convert resolve_gitlink_ref to struct object_id
+      worktree: convert struct worktree to object_id
+      refs: convert resolve_ref_unsafe to struct object_id
+      refs: convert peel_object to struct object_id
+      refs: convert read_raw_ref backends to struct object_id
+      refs/files-backend: convert static functions to object_id
+      setup: expose enumerated repo info
+      Add structure representing hash algorithm
+      Integrate hash algorithm support with repo setup
+      Switch empty tree and blob lookups to use hash abstraction
+
+Ævar Arnfjörð Bjarmason (2):
+      test-lib: add LIBPCRE1 & LIBPCRE2 prerequisites
+      grep: fix segfault under -P + PCRE2 <=10.30 + (*NO_JIT)
+
+Łukasz Stelmach (1):
+      git-gui: prevent double UTF-8 conversion
+
+
+Version v2.15.4; changes since v2.15.3:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (20):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+      Git 2.15.4
+
+Jonathan Nieder (1):
+      submodule: reject submodule.update = !command in .gitmodules
+
+
+Version v2.15.3; changes since v2.15.2:
+---------------------------------------
+
+Jeff King (3):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+
+Junio C Hamano (2):
+      Git 2.14.5
+      Git 2.15.3
+
+
+Version v2.15.2; changes since v2.15.1:
+---------------------------------------
+
+Elijah Newren (1):
+      merge-recursive: handle addition of submodule on our side of history
+
+Eric Wong (1):
+      rebase: use mboxrd format to avoid split errors
+
+Jeff King (8):
+      submodule-config: verify submodule names as paths
+      is_ntfs_dotgit: use a size_t for traversing string
+      is_hfs_dotgit: match other .git files
+      skip_prefix: add case-insensitive variant
+      verify_path: drop clever fallthrough
+      verify_dotfile: mention case-insensitivity in comment
+      update-index: stat updated files earlier
+      verify_path: disallow symlinks in .gitmodules
+
+Johannes Schindelin (2):
+      is_ntfs_dotgit: match other .git files
+      is_{hfs,ntfs}_dotgitmodules: add tests
+
+Junio C Hamano (5):
+      merge-base --fork-point doc: clarify the example and failure modes
+      Prepare for 2.15.2
+      Git 2.13.7
+      Git 2.14.4
+      Git 2.15.2
+
+Michael Haggerty (2):
+      t1409: check that `packed-refs` is not rewritten unnecessarily
+      files-backend: don't rewrite the `packed-refs` file unnecessarily
+
+Phillip Wood (2):
+      config: avoid "write_in_full(fd, buf, len) != len" pattern
+      sequencer: reschedule pick if index can't be locked
+
+René Scharfe (1):
+      apply: update line lengths for --inaccurate-eof
+
+Stefan Beller (1):
+      t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure
+
+Todd Zullinger (4):
+      t/lib-gpg: fix gpgconf stderr redirect to /dev/null
+      rebase: fix stderr redirect in apply_autostash()
+      notes: send "Automatic notes merge failed" messages to stderr
+      completion: add '--copy' option to 'git branch'
+
+Wei Shuyu (1):
+      pull: pass -4/-6 option to 'git fetch'
+
+brian m. carlson (2):
+      Documentation: enable compat-mode for Asciidoctor
+      Documentation: convert SubmittingPatches to AsciiDoc
+
+
+Version v2.15.1; changes since v2.15.0:
+---------------------------------------
+
+Adam Dinwoodie (3):
+      t5580: add Cygwin support
+      rebase -i: fix comment typo
+      doc/SubmittingPatches: correct subject guidance
+
+Andrey Okoshkin (2):
+      commit: check result of resolve_ref_unsafe
+      diff: fix lstat() error handling in diff_populate_filespec()
+
+Brandon Williams (1):
+      wt-status: actually ignore submodules when requested
+
+Carlos Martín Nieto (1):
+      diff: --indent-heuristic is no longer experimental
+
+Charles Bailey (2):
+      t4201: make use of abbreviation in the test more robust
+      grep: fix NO_LIBPCRE1_JIT to fully disable JIT
+
+Dennis Kaarsemaker (1):
+      credential-libsecret: unlock locked secrets
+
+Jacob Keller (1):
+      sequencer: pass absolute GIT_DIR to exec commands
+
+Jakub Bereżański (2):
+      t0302: check helper can handle empty credentials
+      wincred: handle empty username/password correctly
+
+Jean Carlo Machado (1):
+      fix typos in 2.15.0 release notes
+
+Jeff King (11):
+      t4015: refactor --color-moved whitespace test
+      t4015: check "negative" case for "-w --color-moved"
+      t4015: test the output of "diff --color-moved -b"
+      diff: fix whitespace-skipping with --color-moved
+      diff: handle NULs in get_string_hash()
+      test-ref-store: avoid passing NULL to printf
+      remote: handle broken symrefs
+      log: handle broken HEAD in decoration check
+      worktree: handle broken symrefs in find_shared_symref()
+      setup: avoid double slashes when looking for HEAD
+      link_alt_odb_entries: make empty input a noop
+
+Johannes Schindelin (5):
+      status: do not get confused by submodules in excluded directories
+      mingw: include the full version information in the resources
+      mingw: add experimental feature to redirect standard handles
+      mingw: optionally redirect stderr/stdout via the same handle
+      mingw: document the standard handle redirection
+
+Junio C Hamano (9):
+      t5601: rm the target file of cp that could still be executing
+      check-ref-format --branch: do not expand @{...} outside repository
+      check-ref-format --branch: strip refs/heads/ using skip_prefix
+      check-ref-format doc: --branch validates and expands <branch>
+      column: do not include pager.c
+      Start preparation for 2.15.1
+      Almost ready for 2.15.1
+      A bit more fixes for 2.15.1
+      Git 2.15.1
+
+Kaartic Sivaraam (1):
+      mailmap: use Kaartic Sivaraam's new address
+
+Kevin Daudt (1):
+      column: show auto columns when pager is active
+
+Martin Ågren (7):
+      grep: take the read-lock when adding a submodule
+      bisect: change calling-convention of `find_bisection()`
+      bisect: fix memory leak in `find_bisection()`
+      bisect: fix off-by-one error in `best_bisection_sorted()`
+      bisect: fix memory leak when returning best element
+      builtin/merge-base: free commit lists
+      reduce_heads: fix memory leaks
+
+René Scharfe (6):
+      sequencer: factor out rewrite_file()
+      sequencer: use O_TRUNC to truncate files
+      imap-send: handle NULL return of next_arg()
+      imap-send: handle missing response codes gracefully
+      apply: avoid out-of-bounds access in fuzzy_matchlines()
+      config: flip return value of write_section()
+
+SZEDER Gábor (2):
+      travis-ci: fix running P4 and Git LFS tests in Linux build jobs
+      travis-ci: don't build Git for the static analysis job
+
+Simon Ruderich (2):
+      sequencer.c: check return value of close() in rewrite_file()
+      wrapper.c: consistently quote filenames in error messages
+
+Stefan Beller (3):
+      xdiff-interface: export comparing and hashing strings
+      diff.c: get rid of duplicate implementation
+      config: document blame configuration
+
+Thomas Braun (1):
+      completion: add remaining flags to checkout
+
+Todd Zullinger (3):
+      Replace Free Software Foundation address in license notices
+      Replace Free Software Foundation address in license notices
+      RelNotes: minor typo fixes in 2.15.1 draft
+
+
+Version v2.15.0; changes since v2.15.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (3245t)
+
+Andre Hinrichs (1):
+      l10n: de.po: fix typos
+
+Andrey Okoshkin (1):
+      path.c: use xmalloc() in add_to_trie()
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Christopher Díaz (3):
+      l10n: es.po: initial Spanish version git 2.14.0
+      l10n: es.po: spanish added to TEAMS
+      l10n: es.po: Update translation v2.15.0 round 1
+
+Christopher Díaz Riveros (1):
+      l10n: es.po: v2.15.0 round 2
+
+Dimitriy Ryazantcev (2):
+      l10n: ru.po: update Russian translation
+      l10n: ru.po: update Russian translation
+
+Jean-Noel Avila (1):
+      l10n: fr.po fix some mistakes
+
+Jean-Noël Avila (1):
+      l10n: fr.po: v2.15.0 round 2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.15.0 round 1 (68 new, 36 removed)
+      l10n: git.pot: v2.15.0 round 2 (2 new, 2 removed)
+      l10n: zh_CN: for git v2.15.0 l10n round 2
+
+Jordi Mas (2):
+      l10n: Update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (3):
+      Git 2.14.3
+      Hopefully final batch before 2.15
+      Git 2.15
+
+Michael Haggerty (2):
+      t1404: add a bunch of tests of D/F conflicts
+      files_transaction_prepare(): fix handling of ref lock failure
+
+Nathan Payre (1):
+      config doc: clarify "git config --path" example
+
+Nicolas Cornu (1):
+      l10n: fr.po change translation of "First, rewinding"
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (3245t0f0u)
+      l10n: sv.po: Update Swedish translation (3245t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 70 new messages
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.15.0 l10n round 2
+
+SZEDER Gábor (1):
+      rev-list-options.txt: use correct directional reference
+
+Sebastian Schuberth (1):
+      docs: fix formatting of rev-parse's --show-superproject-working-tree
+
+Trần Ngọc Quân (2):
+      l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0
+      l10n: vi.po(3245t): Updated Vietnamese translation for v2.15.0 round 2
+
+
+Version v2.15.0-rc2; changes since v2.15.0-rc1:
+-----------------------------------------------
+
+David Glasser (1):
+      doc: list filter-branch subdirectory-filter first
+
+Jeff King (5):
+      diff: fix infinite loop with --color-moved --ignore-space-change
+      Revert "color: make "always" the same as "auto" in config"
+      Revert "t6006: drop "always" color config tests"
+      Revert "color: check color.ui in git_default_config()"
+      tag: respect color.ui config
+
+Junio C Hamano (7):
+      checkout doc: clarify command line args for "checkout paths" mode
+      Crawling towards -rc2
+      fetch doc: src side of refspec could be full SHA-1
+      Preparing for rc2 continues
+      branch doc: sprinkle a few commas for readability
+      Prepare for 2.14.3
+      Git 2.15-rc2
+
+Ralf Thielow (2):
+      sequencer.c: fix and unify error messages in rearrange_squash()
+      sequencer.c: unify an error message
+
+W. Trevor King (1):
+      Documentation/merge-options.txt: describe -S/--gpg-sign for 'pull'
+
+
+Version v2.15.0-rc1; changes since v2.15.0-rc0:
+-----------------------------------------------
+
+Derrick Stolee (1):
+      cleanup: fix possible overflow errors in binary search
+
+Jean-Noël Avila (1):
+      i18n: add a missing space in message
+
+Jeff King (19):
+      test-terminal: set TERM=vt100
+      t4015: prefer --color to -c color.diff=always
+      t3701: use test-terminal to collect color output
+      t7508: use test_terminal for color output
+      t7502: use diff.noprefix for --verbose test
+      t6006: drop "always" color config tests
+      t3203: drop "always" color test
+      t3205: use --color instead of color.branch=always
+      provide --color option for all ref-filter users
+      color: make "always" the same as "auto" in config
+      t4015: use --color with --color-moved
+      t7301: use test_terminal to check color
+      path.c: fix uninitialized memory access
+      sha1_loose_object_info: handle errors from unpack_sha1_rest
+      t3308: create a real ref directory/file conflict
+      refs_resolve_ref_unsafe: handle d/f conflicts for writes
+      write_entry: fix leak when retrying delayed filter
+      write_entry: avoid reading blobs in CE_RETRY case
+      write_entry: untangle symlink and regular-file cases
+
+Johannes Sixt (1):
+      sub-process: use child_process.args instead of child_process.argv
+
+Jonathan Nieder (2):
+      technical doc: add a design doc for hash function transition
+      strbuf doc: reuse after strbuf_release is fine
+
+Jonathan Tan (1):
+      oidmap: map with OID as key
+
+Junio C Hamano (2):
+      Prepare for -rc1
+      Git 2.15-rc1
+
+Kaartic Sivaraam (2):
+      branch: change the error messages to be more meaningful
+      setup: update error message to be more meaningful
+
+Lars Schneider (2):
+      entry.c: update cache entry only for existing files
+      entry.c: check if file exists after checkout
+
+Martin Ågren (1):
+      builtin/: add UNLEAKs
+
+Randall S. Becker (1):
+      poll.c: always set revents, even if to zero
+
+René Scharfe (3):
+      test-stringlist: avoid buffer underrun when sorting nothing
+      fsck: handle NULL return of lookup_blob() and lookup_tree()
+      .mailmap: normalize name for René Scharfe
+
+Stefan Beller (2):
+      branch: reset instead of release a strbuf
+      tests: fix diff order arguments in test_cmp
+
+Taylor Blau (8):
+      pretty.c: delimit "%(trailers)" arguments with ","
+      t4205: unfold across multiple lines
+      doc: 'trailers' is the preferred way to format trailers
+      doc: use "`<literal>`"-style quoting for literal strings
+      t6300: refactor %(trailers) tests
+      ref-filter.c: use trailer_opts to format trailers
+      ref-filter.c: parse trailers arguments with %(contents) atom
+      ref-filter.c: pass empty-string as NULL to atom parsers
+
+Thomas Braun (1):
+      completion: add --broken and --dirty to describe
+
+Thomas Gummerer (1):
+      http-push: fix construction of hex value from path
+
+Todd Zullinger (1):
+      api-argv-array.txt: remove broken link to string-list API
+
+
+Version v2.15.0-rc0; changes since v2.14.6:
+-------------------------------------------
+
+Brandon Casey (7):
+      t1502: demonstrate rev-parse --parseopt option mis-parsing
+      rev-parse parseopt: do not search help text for flag chars
+      rev-parse parseopt: interpret any whitespace as start of help text
+      git-rebase: don't ignore unexpected command line arguments
+      t0040,t1502: Demonstrate parse_options bugs
+      parse-options: write blank line to correct output stream
+      parse-options: only insert newline in help text if needed
+
+Brandon Williams (27):
+      repo_read_index: don't discard the index
+      repository: have the_repository use the_index
+      cache.h: add GITMODULES_FILE macro
+      config: add config_from_gitmodules
+      submodule: remove submodule.fetchjobs from submodule-config parsing
+      submodule: remove fetch.recursesubmodules from submodule-config parsing
+      submodule: check for unstaged .gitmodules outside of config parsing
+      submodule: check for unmerged .gitmodules outside of config parsing
+      submodule: merge repo_read_gitmodules and gitmodules_config
+      grep: recurse in-process using 'struct repository'
+      t7411: check configuration parsing errors
+      submodule: don't use submodule_from_name
+      add, reset: ensure submodules can be added or reset
+      submodule--helper: don't overlay config in remote_submodule_branch
+      submodule--helper: don't overlay config in update-clone
+      fetch: don't overlay config with submodule-config
+      submodule: don't rely on overlayed config when setting diffopts
+      unpack-trees: don't respect submodule.update
+      submodule: remove submodule_config callback routine
+      diff: stop allowing diff to have submodules configured in .git/config
+      submodule-config: remove support for overlaying repository config
+      submodule-config: move submodule-config functions to submodule-config.c
+      submodule-config: lazy-load a repository's .gitmodules file
+      unpack-trees: improve loading of .gitmodules
+      submodule: remove gitmodules_config
+      clang-format: outline the git project's coding style
+      Makefile: add style build rule
+
+Eric Blake (1):
+      git-contacts: also recognise "Reported-by:"
+
+Han-Wen Nienhuys (4):
+      submodule.c: describe submodule_to_gitdir() in a new comment
+      real_path: clarify return value ownership
+      read_gitfile_gently: clarify return value ownership.
+      string-list.h: move documentation from Documentation/api/ into header
+
+Heiko Voigt (1):
+      add test for bug in git-mv for recursive submodules
+
+Ian Campbell (4):
+      filter-branch: reset $GIT_* before cleaning up
+      filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*
+      filter-branch: stash away ref map in a branch
+      filter-branch: use hash-object instead of mktag
+
+Jameson Miller (1):
+      Improve performance of git status --ignored
+
+Jeff Hostetler (1):
+      hashmap: add API to disable item counting when threaded
+
+Jeff King (53):
+      strbuf: use designated initializers in STRBUF_INIT
+      trailer: put process_trailers() options into a struct
+      interpret-trailers: add an option to show only the trailers
+      interpret-trailers: add an option to show only existing trailers
+      interpret-trailers: add an option to unfold values
+      interpret-trailers: add --parse convenience option
+      pretty: move trailer formatting to trailer.c
+      t4205: refactor %(trailers) tests
+      pretty: support normalization options for %(trailers)
+      write_index_as_tree: cleanup tempfile on error
+      setup_temporary_shallow: avoid using inactive tempfile
+      setup_temporary_shallow: move tempfile struct into function
+      verify_signed_buffer: prefer close_tempfile() to close()
+      always check return value of close_tempfile
+      tempfile: do not delete tempfile on failed close
+      lockfile: do not rollback lock on failed close
+      tempfile: prefer is_tempfile_active to bare access
+      tempfile: handle NULL tempfile pointers gracefully
+      tempfile: replace die("BUG") with BUG()
+      tempfile: factor out activation
+      tempfile: factor out deactivation
+      tempfile: robustify cleanup handler
+      tempfile: release deactivated strbufs instead of resetting
+      tempfile: use list.h for linked list
+      tempfile: remove deactivated list entries
+      tempfile: auto-allocate tempfiles on heap
+      lockfile: update lifetime requirements in documentation
+      ref_lock: stop leaking lock_files
+      stop leaking lock structs in some simple cases
+      test-lib: --valgrind should not override --verbose-log
+      test-lib: set LSAN_OPTIONS to abort by default
+      add: free leaked pathspec after add_files_to_cache()
+      update-index: fix cache entry leak in add_one_file()
+      config: plug user_config leak
+      reset: make tree counting less confusing
+      reset: free allocated tree buffers
+      repository: free fields before overwriting them
+      set_git_dir: handle feeding gitdir to itself
+      add UNLEAK annotation for reducing leak false positives
+      shortlog: skip format/parse roundtrip for internal traversal
+      prefix_ref_iterator: break when we leave the prefix
+      revision: replace "struct cmdline_pathspec" with argv_array
+      test-line-buffer: simplify command parsing
+      curl_trace(): eliminate switch fallthrough
+      consistently use "fallthrough" comments in switches
+      files-backend: prefer "0" for write_in_full() error check
+      notes-merge: drop dead zero-write code
+      prefer "!=" when checking read_in_full() result
+      avoid looking at errno for short read_in_full() returns
+      distinguish error versus short read from read_in_full()
+      worktree: use xsize_t to access file size
+      worktree: check the result of read_in_full()
+      git: add --no-optional-locks option
+
+Job Snijders (1):
+      gitweb: add 'raw' blob_plain link in history overview
+
+Joel Teichroeb (3):
+      stash: add a test for stash create with no files
+      stash: add a test for when apply fails during stash branch
+      stash: add a test for stashing in a detached state
+
+Johannes Schindelin (12):
+      t3415: verify that an empty instructionFormat is handled as before
+      rebase -i: generate the script via rebase--helper
+      rebase -i: remove useless indentation
+      rebase -i: do not invent onelines when expanding/collapsing SHA-1s
+      rebase -i: also expand/collapse the SHA-1s via the rebase--helper
+      t3404: relax rebase.missingCommitsCheck tests
+      rebase -i: check for missing commits in the rebase--helper
+      rebase -i: skip unnecessary picks using the rebase--helper
+      t3415: test fixup with wrapped oneline
+      rebase -i: rearrange fixup/squash lines using the rebase--helper
+      Win32: simplify loading of DLL functions
+      clang-format: adjust line break penalties
+
+Jonathan Nieder (2):
+      pack: make packed_git_mru global a value instead of a pointer
+      pathspec doc: parse_pathspec does not maintain references to args
+
+Jonathan Tan (31):
+      sha1_file: set whence in storage-specific info fn
+      sha1_file: remove read_packed_sha1()
+      diff: avoid redundantly clearing a flag
+      diff: respect MIN_BLOCK_LENGTH for last block
+      diff: define block by number of alphanumeric chars
+      pack: move pack name-related functions
+      pack: move static state variables
+      pack: move pack_report()
+      pack: move open_pack_index(), parse_pack_index()
+      pack: move release_pack_memory()
+      pack: move pack-closing functions
+      pack: move use_pack()
+      pack: move unuse_pack()
+      pack: move add_packed_git()
+      pack: move install_packed_git()
+      pack: move {,re}prepare_packed_git and approximate_object_count
+      pack: move unpack_object_header_buffer()
+      pack: move get_size_from_delta()
+      pack: move unpack_object_header()
+      pack: move clear_delta_base_cache(), packed_object_info(), unpack_entry()
+      pack: move nth_packed_object_{sha1,oid}
+      pack: move check_pack_index_ptr(), nth_packed_object_offset()
+      pack: move find_pack_entry_one(), is_pack_valid()
+      pack: move find_sha1_pack()
+      pack: move find_pack_entry() and make it global
+      pack: move has_sha1_pack()
+      pack: move has_pack_index()
+      pack: move for_each_packed_object()
+      Remove inadvertently added outgoing/packfile.h
+      Add t/helper/test-write-cache to .gitignore
+      git-compat-util: make UNLEAK less error-prone
+
+Junio C Hamano (25):
+      t1408: add a test of stale packed refs covered by loose refs
+      clean.c: use designated initializer
+      Start post 2.14 cycle
+      The first batch of topics after the 2.14 cycle
+      diff: retire sane_truncate_fn
+      progress: simplify "delayed" progress API
+      The second batch post 2.14
+      t4200: give us a clean slate after "rerere gc" tests
+      t4200: make "rerere gc" test more robust
+      t4200: gather "rerere gc" together
+      t4200: parameterize "rerere gc" custom expiry test
+      rerere: represent time duration in timestamp_t internally
+      rerere: allow approxidate in gc.rerereResolved/gc.rerereUnresolved
+      The third batch post 2.14
+      The fourth batch post 2.14
+      The fifth batch post 2.14
+      The sixth batch post 2.14
+      The seventh batch post 2.14
+      The eighth batch for 2.15
+      branch: fix "copy" to never touch HEAD
+      The ninth batch for 2.15
+      The tenth batch for 2.15
+      The eleventh batch for 2.15
+      The twelfth batch for 2.15
+      Git 2.15-rc0
+
+Kaartic Sivaraam (10):
+      hook: cleanup script
+      hook: name the positional variables
+      hook: add sign-off using "interpret-trailers"
+      hook: add a simple first example
+      hook: use correct logical variable
+      t3200: cleanup cruft of a test
+      builtin/branch: stop supporting the "--set-upstream" option
+      branch: quote branch/ref names to improve readability
+      help: change a message to be more precise
+      commit-template: change a message to be more intuitive
+
+Kevin Willford (9):
+      format-patch: have progress option while generating patches
+      rebase: turn on progress option by default for format-patch
+      commit: skip discarding the index if there is no pre-commit hook
+      perf: add test for writing the index
+      read-cache: fix memory leak in do_write_index
+      read-cache: avoid allocating every ondisk entry when writing
+      merge-recursive: fix memory leak
+      merge-recursive: remove return value from get_files_dirs
+      merge-recursive: change current file dir string_lists to hashmap
+
+Lars Schneider (1):
+      convert: display progress for filtered objects that have been delayed
+
+Martin Koegler (2):
+      diff-delta: fix encoding size that would not fit in "unsigned int"
+      diff-delta: do not allow delta offset truncation
+
+Martin Ågren (20):
+      Doc/git-{push,send-pack}: correct --sign= to --signed=
+      t5334: document that git push --signed=1 does not work
+      config: introduce git_parse_maybe_bool_text
+      config: make git_{config,parse}_maybe_bool equivalent
+      treewide: deprecate git_config_maybe_bool, use git_parse_maybe_bool
+      parse_decoration_style: drop unused argument `var`
+      doc/interpret-trailers: fix "the this" typo
+      Documentation/user-manual: update outdated example output
+      treewide: correct several "up-to-date" to "up to date"
+      config: remove git_config_maybe_bool
+      refs/files-backend: add longer-scoped copy of string to list
+      refs/files-backend: fix memory leak in lock_ref_for_update
+      refs/files-backend: correct return value in lock_ref_for_update
+      refs/files-backend: add `refname`, not "HEAD", to list
+      builtin/commit: fix memory leak in `prepare_index()`
+      commit: fix memory leak in `reduce_heads()`
+      leak_pending: use `object_array_clear()`, not `free()`
+      object_array: use `object_array_clear()`, not `free()`
+      object_array: add and use `object_array_pop()`
+      pack-bitmap[-write]: use `object_array_clear()`, don't leak
+
+Max Kirillov (1):
+      describe: teach --match to handle branches and remotes
+
+Michael Haggerty (76):
+      add_packed_ref(): teach function to overwrite existing refs
+      packed_ref_store: new struct
+      packed_ref_store: move `packed_refs_path` here
+      packed_ref_store: move `packed_refs_lock` member here
+      clear_packed_ref_cache(): take a `packed_ref_store *` parameter
+      validate_packed_ref_cache(): take a `packed_ref_store *` parameter
+      get_packed_ref_cache(): take a `packed_ref_store *` parameter
+      get_packed_refs(): take a `packed_ref_store *` parameter
+      add_packed_ref(): take a `packed_ref_store *` parameter
+      lock_packed_refs(): take a `packed_ref_store *` parameter
+      commit_packed_refs(): take a `packed_ref_store *` parameter
+      rollback_packed_refs(): take a `packed_ref_store *` parameter
+      get_packed_ref(): take a `packed_ref_store *` parameter
+      repack_without_refs(): take a `packed_ref_store *` parameter
+      packed_peel_ref(): new function, extracted from `files_peel_ref()`
+      packed_ref_store: support iteration
+      packed_read_raw_ref(): new function, replacing `resolve_packed_ref()`
+      packed-backend: new module for handling packed references
+      packed_ref_store: make class into a subclass of `ref_store`
+      commit_packed_refs(): report errors rather than dying
+      commit_packed_refs(): use a staging file separate from the lockfile
+      packed_refs_lock(): function renamed from lock_packed_refs()
+      packed_refs_lock(): report errors via a `struct strbuf *err`
+      packed_refs_unlock(), packed_refs_is_locked(): new functions
+      clear_packed_ref_cache(): don't protest if the lock is held
+      commit_packed_refs(): remove call to `packed_refs_unlock()`
+      repack_without_refs(): don't lock or unlock the packed refs
+      t3210: add some tests of bogus packed-refs file contents
+      read_packed_refs(): die if `packed-refs` contains bogus data
+      packed_ref_store: handle a packed-refs file that is a symlink
+      files-backend: cheapen refname_available check when locking refs
+      refs: retry acquiring reference locks for 100ms
+      notes: make GET_NIBBLE macro more robust
+      load_subtree(): remove unnecessary conditional
+      load_subtree(): reduce the scope of some local variables
+      load_subtree(): fix incorrect comment
+      load_subtree(): separate logic for internal vs. terminal entries
+      load_subtree(): check earlier whether an internal node is a tree entry
+      load_subtree(): only consider blobs to be potential notes
+      get_oid_hex_segment(): return 0 on success
+      load_subtree(): combine some common code
+      get_oid_hex_segment(): don't pad the rest of `oid`
+      hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`
+      load_subtree(): declare some variables to be `size_t`
+      load_subtree(): check that `prefix_len` is in the expected range
+      packed-backend: don't adjust the reference count on lock/unlock
+      struct ref_transaction: add a place for backends to store data
+      packed_ref_store: implement reference transactions
+      packed_delete_refs(): implement method
+      files_pack_refs(): use a reference transaction to write packed refs
+      prune_refs(): also free the linked list
+      files_initial_transaction_commit(): use a transaction for packed refs
+      t1404: demonstrate two problems with reference transactions
+      files_ref_store: use a transaction to update packed refs
+      packed-backend: rip out some now-unused code
+      files_transaction_finish(): delete reflogs before references
+      ref_iterator: keep track of whether the iterator output is ordered
+      packed_ref_cache: add a backlink to the associated `packed_ref_store`
+      die_unterminated_line(), die_invalid_line(): new functions
+      read_packed_refs(): use mmap to read the `packed-refs` file
+      read_packed_refs(): only check for a header at the top of the file
+      read_packed_refs(): make parsing of the header line more robust
+      read_packed_refs(): read references with minimal copying
+      packed_ref_cache: remember the file-wide peeling state
+      mmapped_ref_iterator: add iterator over a packed-refs file
+      mmapped_ref_iterator_advance(): no peeled value for broken refs
+      packed-backend.c: reorder some definitions
+      packed_ref_cache: keep the `packed-refs` file mmapped if possible
+      read_packed_refs(): ensure that references are ordered when read
+      packed_ref_iterator_begin(): iterate using `mmapped_ref_iterator`
+      packed_read_raw_ref(): read the reference from the mmapped buffer
+      ref_store: implement `refs_peel_ref()` generically
+      packed_ref_store: get rid of the `ref_cache` entirely
+      ref_cache: remove support for storing peeled values
+      mmapped_ref_iterator: inline into `packed_ref_iterator`
+      packed-backend.c: rename a bunch of things and update comments
+
+Michael J Gruber (4):
+      t7004: move limited stack prereq to test-lib
+      t6120: test name-rev --all and --stdin
+      t6120: clean up state after breaking repo
+      t6120: test describe and name-rev with deep repos
+
+Nguyễn Thái Ngọc Duy (16):
+      revision.h: new flag in struct rev_info wrt. worktree-related refs
+      refs.c: use is_dir_sep() in resolve_gitlink_ref()
+      revision.c: refactor add_index_objects_to_pending()
+      revision.c: --indexed-objects add objects from all worktrees
+      refs.c: refactor get_submodule_ref_store(), share common free block
+      refs: move submodule slash stripping code to get_submodule_ref_store
+      refs: add refs_head_ref()
+      revision.c: use refs_for_each*() instead of for_each_*_submodule()
+      refs.c: move for_each_remote_ref_submodule() to submodule.c
+      refs: remove dead for_each_*_submodule()
+      revision.c: --all adds HEAD from all worktrees
+      files-backend: make reflog iterator go through per-worktree reflog
+      revision.c: --reflog add HEAD reflog from all worktrees
+      rev-list: expose and document --single-worktree
+      refs.c: remove fallback-to-main-store code get_submodule_ref_store()
+      refs.c: reindent get_submodule_ref_store()
+
+Nicolas Morey-Chaisemartin (7):
+      stash: clean untracked files before reset
+      pull: fix cli and config option parsing order
+      pull: honor submodule.recurse config option
+      imap-send: return with error if curl failed
+      imap-send: add wrapper to get server credentials if needed
+      imap_send: setup_curl: retreive credentials if not set in config file
+      imap-send: use curl by default when possible
+
+Paolo Bonzini (4):
+      trailers: export action enums and corresponding lookup functions
+      trailers: introduce struct new_trailer_item
+      interpret-trailers: add options for actions
+      interpret-trailers: fix documentation typo
+
+Patryk Obara (10):
+      sha1_file: fix definition of null_sha1
+      commit: replace the raw buffer with strbuf in read_graft_line
+      commit: allocate array using object_id size
+      commit: rewrite read_graft_line
+      builtin/hash-object: convert to struct object_id
+      read-cache: convert to struct object_id
+      sha1_file: convert index_path to struct object_id
+      sha1_file: convert index_fd to struct object_id
+      sha1_file: convert hash_sha1_file_literally to struct object_id
+      sha1_file: convert index_stream to struct object_id
+
+Raman Gupta (1):
+      contrib/rerere-train: optionally overwrite existing resolutions
+
+Ramsay Jones (3):
+      test-lib: don't use ulimit in test prerequisites on cygwin
+      test-lib: use more compact expression in PIPE prerequisite
+      t9010-*.sh: skip all tests if the PIPE prereq is missing
+
+René Scharfe (49):
+      tree-diff: don't access hash of NULL object_id pointer
+      notes: don't access hash of NULL object_id pointer
+      receive-pack: don't access hash of NULL object_id pointer
+      tree-walk: convert fill_tree_descriptor() to object_id
+      apply: check date of potential epoch timestamps first
+      apply: remove epoch date from regex
+      am: release strbufs after use in detect_patch_format()
+      am: release strbuf on error return in hg_patch_to_mail()
+      am: release strbuf after use in safe_to_abort()
+      check-ref-format: release strbuf after use in check_ref_format_branch()
+      clean: release strbuf after use in remove_dirs()
+      clone: release strbuf after use in remove_junk()
+      commit: release strbuf on error return in commit_tree_extended()
+      connect: release strbuf on error return in git_connect()
+      convert: release strbuf on error return in filter_buffer_or_fd()
+      diff: release strbuf after use in diff_summary()
+      diff: release strbuf after use in show_rename_copy()
+      diff: release strbuf after use in show_stats()
+      help: release strbuf on error return in exec_man_konqueror()
+      help: release strbuf on error return in exec_man_man()
+      help: release strbuf on error return in exec_woman_emacs()
+      mailinfo: release strbuf after use in handle_from()
+      mailinfo: release strbuf on error return in handle_boundary()
+      merge: release strbuf after use in save_state()
+      merge: release strbuf after use in write_merge_heads()
+      notes: release strbuf after use in notes_copy_from_stdin()
+      refs: release strbuf on error return in write_pseudoref()
+      remote: release strbuf after use in read_remote_branches()
+      remote: release strbuf after use in migrate_file()
+      remote: release strbuf after use in set_url()
+      send-pack: release strbuf on error return in send_pack()
+      sha1_file: release strbuf on error return in index_path()
+      shortlog: release strbuf after use in insert_one_record()
+      sequencer: release strbuf after use in save_head()
+      transport-helper: release strbuf after use in process_connect_service()
+      userdiff: release strbuf after use in userdiff_get_textconv()
+      utf8: release strbuf on error return in strbuf_utf8_replace()
+      vcs-svn: release strbuf after use in end_revision()
+      wt-status: release strbuf after use in read_rebase_todolist()
+      wt-status: release strbuf after use in wt_longstatus_print_tracking()
+      refs: make sha1 output parameter of refs_resolve_ref_unsafe() optional
+      refs: pass NULL to refs_resolve_ref_unsafe() if hash is not needed
+      refs: pass NULL to resolve_ref_unsafe() if hash is not needed
+      refs: pass NULL to refs_resolve_refdup() if hash is not needed
+      refs: pass NULL to resolve_refdup() if hash is not needed
+      path: use strbuf_add_real_path()
+      use strbuf_addstr() for adding strings to strbufs
+      graph: use strbuf_addchars() to add spaces
+      repository: use FREE_AND_NULL
+
+Sahil Dua (2):
+      config: create a function to format section headers
+      branch: add a --copy (-c) option to go with --move (-m)
+
+Stefan Beller (46):
+      diff.c: readability fix
+      diff.c: move line ending check into emit_hunk_header
+      diff.c: factor out diff_flush_patch_all_file_pairs
+      diff.c: introduce emit_diff_symbol
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_MARKER
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_FRAGINFO
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_NO_LF_EOF
+      diff.c: migrate emit_line_checked to use emit_diff_symbol
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_WORDS[_PORCELAIN]
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_CONTEXT_INCOMPLETE
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_FILEPAIR_{PLUS, MINUS}
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_HEADER
+      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_BINARY_FILES
+      diff.c: emit_diff_symbol learns DIFF_SYMBOL_REWRITE_DIFF
+      submodule.c: migrate diff output to use emit_diff_symbol
+      diff.c: convert emit_binary_diff_body to use emit_diff_symbol
+      diff.c: convert show_stats to use emit_diff_symbol
+      diff.c: convert word diffing to use emit_diff_symbol
+      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_STAT_SEP
+      diff.c: emit_diff_symbol learns about DIFF_SYMBOL_SUMMARY
+      diff.c: buffer all output if asked to
+      diff.c: color moved lines differently
+      diff.c: color moved lines differently, plain mode
+      diff.c: add dimming to moved line detection
+      diff: document the new --color-moved setting
+      attr.c: drop hashmap_cmp_fn cast
+      builtin/difftool.c: drop hashmap_cmp_fn cast
+      builtin/describe: drop hashmap_cmp_fn cast
+      config.c: drop hashmap_cmp_fn cast
+      convert/sub-process: drop cast to hashmap_cmp_fn
+      patch-ids.c: drop hashmap_cmp_fn cast
+      remote.c: drop hashmap_cmp_fn cast
+      submodule-config.c: drop hashmap_cmp_fn cast
+      name-hash.c: drop hashmap_cmp_fn cast
+      t/helper/test-hashmap: use custom data instead of duplicate cmp functions
+      commit: convert lookup_commit_graft to struct object_id
+      tag: convert gpg_verify_tag to use struct object_id
+      t1200: remove t1200-tutorial.sh
+      builtin/merge: honor commit-msg hook for merges
+      push, fetch: error out for submodule entries not pointing to commits
+      replace-objects: evaluate replacement refs without using the object store
+      Documentation/githooks: mention merge in commit-msg hook
+      Documentation/config: clarify the meaning of submodule.<name>.update
+      t7406: submodule.<name>.update command must not be run from .gitmodules
+      diff: correct newline in summary for renamed files
+      submodule: correct error message for missing commits
+
+Stephan Beyer (1):
+      clang-format: add a comment about the meaning/status of the
+
+Takashi Iwai (2):
+      sha1dc: build git plumbing code more explicitly
+      sha1dc: allow building with the external sha1dc library
+
+Thomas Gummerer (1):
+      read-cache: fix index corruption with index v4
+
+Tom G. Christensen (2):
+      http: fix handling of missing CURLPROTO_*
+      http: use a feature check to enable GSSAPI delegation control
+
+William Duclot (1):
+      rebase: make resolve message clearer for inexperienced users
+
+brian m. carlson (12):
+      builtin/fsck: convert remaining caller of get_sha1 to object_id
+      builtin/merge-tree: convert remaining caller of get_sha1 to object_id
+      submodule: convert submodule config lookup to use object_id
+      remote: convert struct push_cas to struct object_id
+      sequencer: convert to struct object_id
+      builtin/update_ref: convert to struct object_id
+      bisect: convert bisect_checkout to struct object_id
+      builtin/unpack-file: convert to struct object_id
+      Convert remaining callers of get_sha1 to get_oid.
+      sha1_name: convert get_sha1* to get_oid*
+      sha1_name: convert GET_SHA1* flags to GET_OID*
+      sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
+
+Ævar Arnfjörð Bjarmason (1):
+      branch: add test for -m renaming multiple config sections
+
+Øystein Walle (1):
+      rev-parse: rev-parse: add --is-shallow-repository
+
+Łukasz Gryglicki (1):
+      merge: add a --signoff flag
+
+
+Version v2.14.6; changes since v2.14.5:
+---------------------------------------
+
+Garima Singh (2):
+      test-path-utils: offer to run a protectNTFS/protectHFS benchmark
+      tests: add a helper to stress test argument quoting
+
+Jeff King (7):
+      t9300: drop some useless uses of cat
+      t9300: create marks files for double-import-marks test
+      fast-import: tighten parsing of boolean command line options
+      fast-import: stop creating leading directories for import-marks
+      fast-import: delay creating leading directories for export-marks
+      fast-import: disallow "feature export-marks" by default
+      fast-import: disallow "feature import-marks" by default
+
+Johannes Schindelin (19):
+      clone --recurse-submodules: prevent name squatting on Windows
+      mingw: disallow backslash characters in tree objects' file names
+      path.c: document the purpose of `is_ntfs_dotgit()`
+      is_ntfs_dotgit(): only verify the leading segment
+      path: safeguard `.git` against NTFS Alternate Streams Accesses
+      is_ntfs_dotgit(): speed it up
+      mingw: fix quoting of arguments
+      path: also guard `.gitmodules` against NTFS Alternate Data Streams
+      protect_ntfs: turn on NTFS protection by default
+      Disallow dubiously-nested submodule git directories
+      quote-stress-test: accept arguments to test via the command-line
+      t6130/t9350: prepare for stringent Win32 path validation
+      quote-stress-test: allow skipping some trials
+      unpack-trees: let merged_entry() pass through do_add_entry()'s errors
+      mingw: refuse to access paths with illegal characters
+      quote-stress-test: offer to test quoting arguments for MSYS2 sh
+      mingw: refuse to access paths with trailing spaces or periods
+      mingw: handle `subst`-ed "DOS drives"
+      Git 2.14.6
+
+
+Version v2.14.5; changes since v2.14.4:
+---------------------------------------
+
+Jeff King (3):
+      submodule--helper: use "--" to signal end of clone options
+      submodule-config: ban submodule urls that start with dash
+      submodule-config: ban submodule paths that start with a dash
+
+Junio C Hamano (1):
+      Git 2.14.5
+
+
+Version v2.14.4; changes since v2.14.3:
+---------------------------------------
+
+Jeff King (8):
+      submodule-config: verify submodule names as paths
+      is_ntfs_dotgit: use a size_t for traversing string
+      is_hfs_dotgit: match other .git files
+      skip_prefix: add case-insensitive variant
+      verify_path: drop clever fallthrough
+      verify_dotfile: mention case-insensitivity in comment
+      update-index: stat updated files earlier
+      verify_path: disallow symlinks in .gitmodules
+
+Johannes Schindelin (2):
+      is_ntfs_dotgit: match other .git files
+      is_{hfs,ntfs}_dotgitmodules: add tests
+
+Junio C Hamano (2):
+      Git 2.13.7
+      Git 2.14.4
+
+
+Version v2.14.3; changes since v2.14.2:
+---------------------------------------
+
+Adam Dinwoodie (1):
+      doc: correct command formatting
+
+Ann T Ropea (1):
+      request-pull: capitalise "Git" to make it a proper noun
+
+Ben Boeckel (1):
+      Documentation: mention that `eol` can change the dirty status of paths
+
+Christian Couder (1):
+      sha1-lookup: remove sha1_entry_pos() from header file
+
+Daniel Watkins (1):
+      diff-highlight: add clean target to Makefile
+
+Eric Rannaud (1):
+      fast-import: checkpoint: dump branches/tags/marks even if object_count==0
+
+Evan Zacks (1):
+      doc: fix minor typos (extra/duplicated words)
+
+Han-Wen Nienhuys (1):
+      submodule.h: typofix
+
+Ilya Kantor (1):
+      userdiff: fix HTML hunk header regexp
+
+Jeff King (36):
+      sha1_file: drop experimental GIT_USE_LOOKUP search
+      config: use a static lock_file struct
+      rev-parse: don't trim bisect refnames
+      system_path: move RUNTIME_PREFIX to a sub-function
+      git_extract_argv0_path: do nothing without RUNTIME_PREFIX
+      config: avoid "write_in_full(fd, buf, len) < len" pattern
+      get-tar-commit-id: check write_in_full() return against 0
+      avoid "write_in_full(fd, buf, len) != len" pattern
+      convert less-trivial versions of "write_in_full() != len"
+      pkt-line: check write_in_full() errors against "< 0"
+      notes-merge: use ssize_t for write_in_full() return value
+      config: flip return value of store_write_*()
+      read_pack_header: handle signed/unsigned comparison in read result
+      read_info_alternates: read contents into strbuf
+      read_info_alternates: warn on non-trivial errors
+      cat-file: handle NULL object_context.path
+      doc: put literal block delimiter around table
+      validate_headref: NUL-terminate HEAD buffer
+      validate_headref: use skip_prefix for symref parsing
+      validate_headref: use get_oid_hex for detached HEADs
+      test-terminal: set TERM=vt100
+      t4015: prefer --color to -c color.diff=always
+      t3701: use test-terminal to collect color output
+      t7508: use test_terminal for color output
+      t7502: use diff.noprefix for --verbose test
+      t6006: drop "always" color config tests
+      t3203: drop "always" color test
+      t3205: use --color instead of color.branch=always
+      provide --color option for all ref-filter users
+      color: make "always" the same as "auto" in config
+      path.c: fix uninitialized memory access
+      sha1_loose_object_info: handle errors from unpack_sha1_rest
+      Revert "color: make "always" the same as "auto" in config"
+      Revert "t6006: drop "always" color config tests"
+      Revert "color: check color.ui in git_default_config()"
+      tag: respect color.ui config
+
+Johannes Sixt (1):
+      sub-process: use child_process.args instead of child_process.argv
+
+Jonathan Nieder (1):
+      strbuf doc: reuse after strbuf_release is fine
+
+Jonathan Tan (1):
+      fast-export: do not copy from modified file
+
+Junio C Hamano (8):
+      travis: dedent a few scripts that are indented overly deeply
+      subprocess: loudly die when subprocess asks for an unsupported capability
+      gc: call fscanf() with %<len>s, not %<len>c, when reading hostname
+      merge-strategies: avoid implying that "-s theirs" exists
+      checkout doc: clarify command line args for "checkout paths" mode
+      fetch doc: src side of refspec could be full SHA-1
+      Prepare for 2.14.3
+      Git 2.14.3
+
+Kaartic Sivaraam (2):
+      t/README: fix typo and grammatically improve a sentence
+      doc: camelCase the config variables to improve readability
+
+Kevin Daudt (2):
+      doc/for-each-ref: consistently use '=' to between argument names and values
+      doc/for-each-ref: explicitly specify option names
+
+Lars Schneider (3):
+      travis-ci: move Travis CI code into dedicated scripts
+      travis-ci: skip a branch build if equal tag is present
+      travis-ci: fix "skip_branch_tip_with_tag()" string comparison
+
+Manav Rathi (1):
+      docs: improve discoverability of exclude pathspec
+
+Martin Ågren (5):
+      convert: always initialize attr_action in convert_attrs
+      pack-objects: take lock before accessing `remaining`
+      strbuf_setlen: don't write to strbuf_slopbuf
+      ThreadSanitizer: add suppressions
+      pkt-line: re-'static'-ify buffer in packet_write_fmt_1()
+
+Matthieu Moy (2):
+      send-email: fix garbage removal after address
+      send-email: don't use Mail::Address, even if available
+
+Max Kirillov (1):
+      describe: fix matching to actually match all patterns
+
+Michael Haggerty (1):
+      for_each_string_list_item: avoid undefined behavior for empty list
+
+Michael J Gruber (1):
+      name-rev: change ULONG_MAX to TIME_MAX
+
+Nguyễn Thái Ngọc Duy (1):
+      branch: fix branch renaming not updating HEADs correctly
+
+Ramsay Jones (4):
+      git-compat-util.h: xsize_t() - avoid -Wsign-compare warnings
+      commit-slab.h: avoid -Wsign-compare warnings
+      cache.h: hex2chr() - avoid -Wsign-compare warnings
+      ALLOC_GROW: avoid -Wsign-compare warnings
+
+Randall S. Becker (1):
+      poll.c: always set revents, even if to zero
+
+René Scharfe (9):
+      strbuf: clear errno before calling getdelim(3)
+      archive: don't add empty directories to archives
+      mailinfo: don't decode invalid =XY quoted-printable sequences
+      coccinelle: remove parentheses that become unnecessary
+      tag: avoid NULL pointer arithmetic
+      run-command: use ALLOC_ARRAY
+      test-stringlist: avoid buffer underrun when sorting nothing
+      fsck: handle NULL return of lookup_blob() and lookup_tree()
+      .mailmap: normalize name for René Scharfe
+
+Ross Kabus (1):
+      commit-tree: do not complete line in -F input
+
+Stefan Beller (1):
+      branch: reset instead of release a strbuf
+
+Taylor Blau (1):
+      ref-filter.c: pass empty-string as NULL to atom parsers
+
+Thomas Braun (1):
+      completion: add --broken and --dirty to describe
+
+Thomas Gummerer (2):
+      refs: strip out not allowed flags from ref_transaction_update
+      http-push: fix construction of hex value from path
+
+Torsten Bögershausen (1):
+      test-lint: echo -e (or -E) is not portable
+
+
+Version v2.14.2; changes since v2.14.1:
+---------------------------------------
+
+Andreas Heiduk (2):
+      doc: add missing values "none" and "default" for diff.wsErrorHighlight
+      doc: clarify "config --bool" behaviour with empty string
+
+Anthony Sottile (1):
+      git-grep: correct exit code with --quiet and -L
+
+Brandon Williams (2):
+      submodule--helper: teach push-check to handle HEAD
+      clone: teach recursive clones to respect -q
+
+Christian Couder (2):
+      refs: use skip_prefix() in ref_is_hidden()
+      sub-process: print the cmd when a capability is unsupported
+
+Dimitrios Christidis (1):
+      fmt-merge-msg: fix coding style
+
+Heiko Voigt (1):
+      t5526: fix some broken && chains
+
+Hielke Christian Braun (1):
+      gitweb: skip unreadable subdirectories
+
+Jeff King (32):
+      t1414: document some reflog-walk oddities
+      revision: disallow reflog walking with revs->limited
+      log: clarify comment about reflog cycles
+      log: do not free parents when walking reflog
+      get_revision_1(): replace do-while with an early return
+      rev-list: check reflog_info before showing usage
+      reflog-walk: stop using fake parents
+      reflog-walk: apply --since/--until to reflog dates
+      check return value of verify_ref_format()
+      docs/for-each-ref: update pointer to color syntax
+      t: use test_decode_color rather than literal ANSI codes
+      ref-filter: simplify automatic color reset
+      ref-filter: abstract ref format into its own struct
+      ref-filter: move need_color_reset_at_eol into ref_format
+      ref-filter: provide a function for parsing sort options
+      ref-filter: make parse_ref_filter_atom a private function
+      ref-filter: factor out the parsing of sorting atoms
+      ref-filter: pass ref_format struct to atom parsers
+      color: check color.ui in git_default_config()
+      for-each-ref: load config earlier
+      rev-list: pass diffopt->use_colors through to pretty-print
+      pretty: respect color settings for %C placeholders
+      ref-filter: consult want_color() before emitting colors
+      t6018: flesh out empty input/output rev-list tests
+      revision: add rev_input_given flag
+      rev-list: don't show usage when we see empty ref patterns
+      revision: do not fallback to default when rev_input_given is set
+      hashcmp: use memcmp instead of open-coded loop
+      doc: fix typo in sendemail.identity
+      shell: drop git-cvsserver support by default
+      archimport: use safe_pipe_capture for user input
+      cvsimport: shell-quote variable used in backticks
+
+Johannes Schindelin (2):
+      run_processes_parallel: change confusing task_cb convention
+      git-gui (MinGW): make use of MSys2's msgfmt
+
+Jonathan Nieder (4):
+      vcs-svn: remove more unused prototypes and declarations
+      vcs-svn: remove custom mode constants
+      vcs-svn: remove repo_delete wrapper function
+      vcs-svn: move remaining repo_tree functions to fast_export.h
+
+Jonathan Tan (7):
+      fsck: remove redundant parse_tree() invocation
+      object: remove "used" field from struct object
+      fsck: cleanup unused variable
+      Documentation: migrate sub-process docs to header
+      sub-process: refactor handshake to common function
+      tests: ensure fsck fails on corrupt packfiles
+      Doc: clarify that pack-objects makes packs, plural
+
+Junio C Hamano (11):
+      http.c: http.sslcert and http.sslkey are both pathnames
+      perl/Git.pm: typofix in a comment
+      Prepare for 2.14.2
+      RelNotes: further fixes for 2.14.2 from the master front
+      cvsserver: move safe_pipe_capture() to the main package
+      cvsserver: use safe_pipe_capture for `constant commands` as well
+      Git 2.10.5
+      Git 2.11.4
+      Git 2.12.5
+      Git 2.13.6
+      Git 2.14.2
+
+Kaartic Sivaraam (1):
+      commit: check for empty message before the check for untouched template
+
+Kevin Daudt (1):
+      stash: prevent warning about null bytes in input
+
+Lars Schneider (7):
+      t0021: keep filter log files on comparison
+      t0021: make debug log file name configurable
+      t0021: write "OUT <size>" only on success
+      convert: put the flags field before the flag itself for consistent style
+      convert: move multiple file filter error handling to separate function
+      convert: refactor capabilities negotiation
+      convert: add "status=delayed" to filter process protocol
+
+Martin Ågren (7):
+      builtin.h: take over documentation from api-builtin.txt
+      git.c: let builtins opt for handling `pager.foo` themselves
+      git.c: provide setup_auto_pager()
+      t7006: add tests for how git tag paginates
+      tag: respect `pager.tag` in list-mode only
+      tag: change default of `pager.tag` to "on"
+      git.c: ignore pager.* when launching builtin as dashed external
+
+Michael Forney (1):
+      scripts: use "git foo" not "git-foo"
+
+Michael J Gruber (6):
+      Documentation: use proper wording for ref format strings
+      Documentation/git-for-each-ref: clarify peeling of tags for --format
+      Documentation/git-merge: explain --continue
+      merge: clarify call chain
+      merge: split write_merge_state in two
+      merge: save merge state earlier
+
+Philip Oakley (4):
+      git-gui: remove duplicate entries from .gitconfig's gui.recentrepo
+      git gui: cope with duplicates in _get_recentrepo
+      git gui: de-dup selected repo from recentrepo history
+      git gui: allow for a long recentrepo list
+
+Phillip Wood (7):
+      am: remember --rerere-autoupdate setting
+      rebase: honor --rerere-autoupdate
+      rebase -i: honor --rerere-autoupdate
+      t3504: use test_commit
+      cherry-pick/revert: remember --rerere-autoupdate
+      cherry-pick/revert: reject --rerere-autoupdate when continuing
+      am: fix signoff when other trailers are present
+
+Ramsay Jones (2):
+      credential-cache: interpret an ECONNRESET as an EOF
+      builtin/add: add detail to a 'cannot chmod' error message
+
+René Scharfe (23):
+      bswap: convert to unsigned before shifting in get_be32
+      bswap: convert get_be16, get_be32 and put_be32 to inline functions
+      add MOVE_ARRAY
+      use MOVE_ARRAY
+      apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
+      ls-files: don't try to prune an empty index
+      dir: support platforms that require aligned reads
+      pack-objects: remove unnecessary NULL check
+      t0001: skip test with restrictive permissions if getpwd(3) respects them
+      test-path-utils: handle const parameter of basename and dirname
+      t3700: fix broken test under !POSIXPERM
+      t4062: use less than 256 repetitions in regex
+      sha1_file: avoid comparison if no packed hash matches the first byte
+      apply: remove prefix_length member from apply_state
+      merge: use skip_prefix()
+      win32: plug memory leak on realloc() failure in syslog()
+      fsck: free buffers on error in fsck_obj()
+      sha1_file: release delta_stack on error in unpack_entry()
+      t1002: stop using sum(1)
+      t5001: add tests for export-ignore attributes and exclude pathspecs
+      archive: factor out helper functions for handling attributes
+      archive: don't queue excluded directories
+      commit: remove unused inline function single_parent()
+
+Santiago Torres (1):
+      t: lib-gpg: flush gpg agent on startup
+
+Stefan Beller (3):
+      t8008: rely on rev-parse'd HEAD instead of sha1 value
+      sha1_file: make read_info_alternates static
+      submodule.sh: remove unused variable
+
+Torsten Bögershausen (2):
+      convert: add SAFE_CRLF_KEEP_CRLF
+      apply: file commited with CRLF should roundtrip diff and apply
+
+Urs Thuermann (1):
+      git svn fetch: Create correct commit timestamp when using --localtime
+
+brian m. carlson (2):
+      vcs-svn: remove unused prototypes
+      vcs-svn: rename repo functions to "svn_repo"
+
+joernchen (1):
+      cvsserver: use safe_pipe_capture instead of backticks
+
+Ævar Arnfjörð Bjarmason (1):
+      tests: don't give unportable ">" to "test" built-in, use -gt
+
+
+Version v2.14.1; changes since v2.14.0:
+---------------------------------------
+
+Jeff King (5):
+      t/lib-proto-disable: restore protocol.allow after config tests
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (9):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+      Git 2.10.4
+      Git 2.11.3
+      Git 2.12.4
+      Git 2.13.5
+      Git 2.14.1
+
+
+Version v2.14.0; changes since v2.14.0-rc1:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (3213t)
+
+Andreas Heiduk (1):
+      doc: remove unsupported parameter from patch-id
+
+Anthony Sottile (1):
+      diff-options doc: grammar fix
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Hartmut Henkel (1):
+      l10n: de.po: various fixes in German translation
+
+Hugues Peccatte (1):
+      l10n: fr.po Fix some translations
+
+Jean-Noel Avila (1):
+      l10n: fr.po v2.14.0 rnd 2
+
+Jiang Xin (2):
+      l10n: zh_CN: for git v2.14.0 l10n round 2
+      l10n: zh_CN: review for git v2.14.0 l10n
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (3):
+      Preparation for 2.13.4 continues
+      Git 2.13.4
+      Git 2.14
+
+Louis (1):
+      l10n: fr.po Fix typo
+
+Ralf Thielow (1):
+      l10n: de.po: update German translation
+
+SZEDER Gábor (1):
+      blame: fix memory corruption scrambling revision name in error message
+
+Sylvestre Ledru (1):
+      l10n: fr.po Fix some french typos
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (3213t): Updated 9 new strings
+
+
+Version v2.14.0-rc1; changes since v2.14.0-rc0:
+-----------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg.po: Updated Bulgarian translation (3206t)
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Eric Wong (1):
+      set FD_CLOEXEC properly when O_CLOEXEC is not supported
+
+Jeff King (2):
+      gc: run pre-detach operations under lock
+      t: handle EOF in test_copy_bytes()
+
+Jiang Xin (2):
+      l10n: git.pot: v2.14.0 round 1 (34 new, 23 removed)
+      l10n: git.pot: v2.14.0 round 2 (9 new, 2 removed)
+
+Johannes Schindelin (2):
+      t1300: demonstrate that CamelCased aliases regressed
+      alias: compare alias name *case-insensitively*
+
+Jonathan Nieder (1):
+      pre-rebase hook: capture documentation in a <<here document
+
+Jordi Mas (2):
+      l10n: Fixes to Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (6):
+      A few more topics before 2.14-rc1
+      Makefile: help gettext tools to cope with our custom PRItime format
+      A few more topics while waiting for the po/PRItime resolution
+      Hopefully the final last-minute fix before -rc1
+      fixes from 'master' for 2.13.4
+      Git 2.14-rc1
+
+Kaartic Sivaraam (2):
+      doc: camelCase the i18n config variables to improve readability
+      doc: reformat the paragraph containing the 'cut-line'
+
+Miguel Torroja (3):
+      git-p4: git-p4 tests with p4 triggers
+      git-p4: parse marshal output "p4 -G" in p4 changes
+      git-p4: filter for {'code':'info'} in p4CmdList
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (3206t0f0u)
+
+Ramsay Jones (1):
+      config.mak.uname: set FREAD_READS_DIRECTORIES for cygwin
+
+René Scharfe (2):
+      progress: show overall rate in last update
+      Makefile: allow combining UBSan with other sanitizers
+
+Torsten Bögershausen (1):
+      cygwin: allow pushing to UNC paths
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(3206t): Update Vietnamese translation
+
+Ævar Arnfjörð Bjarmason (3):
+      RelNotes: mention "log: add -P as a synonym for --perl-regexp"
+      RelNotes: mention "log: make --regexp-ignore-case work with --perl-regexp"
+      RelNotes: mention "sha1dc: optionally use sha1collisiondetection as a submodule"
+
+
+Version v2.14.0-rc0; changes since v2.13.7:
+-------------------------------------------
+
+Andreas Heiduk (4):
+      doc: describe git svn init --ignore-refs
+      filter-branch: add `--setup` step
+      filter-branch: add [--] to usage
+      git-svn: document special options for commit-diff
+
+Ben Peart (10):
+      convert: remove erroneous tests for errno == EPIPE
+      pkt-line: fix packet_read_line() to handle len < 0 errors
+      pkt-line: add packet_read_line_gently()
+      convert: move packet_write_line() into pkt-line as packet_writel()
+      convert: split start_multi_file_filter() into two separate functions
+      convert: separate generic structures and variables from the filter specific ones
+      convert: update generic functions to only use generic data structures
+      convert: rename reusable sub-process functions
+      sub-process: move sub-process functions into separate files
+      convert: update subprocess_read_status() to not die on EOF
+
+Brandon Williams (95):
+      submodule: rename add_sha1_to_array()
+      submodule: rename free_submodules_sha1s()
+      submodule: remove add_oid_to_argv()
+      submodule: change string_list changed_submodule_paths
+      submodule: improve submodule_has_commits()
+      submodule: refactor logic to determine changed submodules
+      dir: stop using the index compatibility macros
+      dir: convert read_skip_worktree_file_from_index to take an index
+      dir: convert directory_exists_in_index to take index
+      dir: convert get_dtype to take index
+      dir: convert dir_add* to take an index
+      dir: convert last_exclude_matching_from_list to take an index
+      dir: convert is_excluded_from_list to take an index
+      dir: convert add_excludes to take an index
+      dir: convert prep_exclude to take an index
+      dir: convert is_excluded to take an index
+      dir: convert open_cached_dir to take an index
+      dir: convert read_directory_recursive to take an index
+      dir: convert read_directory to take an index
+      dir: convert fill_directory to take an index
+      pathspec: provide a more descriptive die message
+      submodule: add die_in_unpopulated_submodule function
+      pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
+      ls-files: prevent prune_cache from overeagerly pruning submodules
+      pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
+      pathspec: convert find_pathspecs_matching_against_index to take an index
+      grep: convert to struct object_id
+      diff: convert get_stat_data to struct object_id
+      diff: convert diff_index_show_file to struct object_id
+      diff: convert diff_addremove to struct object_id
+      diff: convert run_diff_files to struct object_id
+      diff: convert diff_change to struct object_id
+      diff: convert fill_filespec to struct object_id
+      diff: convert reuse_worktree_file to struct object_id
+      diff: finish conversion for prepare_temp_file to struct object_id
+      patch-ids: convert to struct object_id
+      diff: convert diff_flush_patch_id to struct object_id
+      combine-diff: convert diff_tree_combined to struct object_id
+      combine-diff: convert find_paths_* to struct object_id
+      tree-diff: convert diff_root_tree_sha1 to struct object_id
+      notes-merge: convert notes_merge* to struct object_id
+      notes-merge: convert merge_from_diffs to struct object_id
+      notes-merge: convert find_notes_merge_pair_ps to struct object_id
+      notes-merge: convert verify_notes_filepair to struct object_id
+      notes-merge: convert write_note_to_worktree to struct object_id
+      diff-tree: convert diff_tree_sha1 to struct object_id
+      builtin/diff-tree: cleanup references to sha1
+      tree-diff: convert try_to_follow_renames to struct object_id
+      tree-diff: convert diff_tree_paths to struct object_id
+      tree-diff: convert path_appendnew to object_id
+      diffcore-rename: use is_empty_blob_oid
+      diff: rename diff_fill_sha1_info to diff_fill_oid_info
+      convert: convert get_cached_convert_stats_ascii to take an index
+      convert: convert crlf_to_git to take an index
+      convert: convert convert_to_git_filter_fd to take an index
+      convert: convert convert_to_git to take an index
+      convert: convert renormalize_buffer to take an index
+      tree: convert read_tree to take an index parameter
+      ls-files: convert overlay_tree_on_cache to take an index
+      ls-files: convert write_eolinfo to take an index
+      ls-files: convert show_killed_files to take an index
+      ls-files: convert show_other_files to take an index
+      ls-files: convert show_ru_info to take an index
+      ls-files: convert ce_excluded to take an index
+      ls-files: convert prune_cache to take an index
+      ls-files: convert show_ce_entry to take an index
+      ls-files: convert show_files to take an index
+      ls-files: factor out debug info into a function
+      ls-files: factor out tag calculation
+      config: create config.h
+      config: remove git_config_iter
+      config: don't include config.h by default
+      setup: teach discover_git_directory to respect the commondir
+      config: respect commondir
+      config: don't implicitly use gitdir or commondir
+      setup: don't perform lazy initialization of repository state
+      setup: add comment indicating a hack
+      environment: remove namespace_len variable
+      repository: introduce the repository object
+      environment: place key repository state in the_repository
+      environment: store worktree in the_repository
+      path: create path.h
+      path: always pass in commondir to update_common_dir
+      path: convert strbuf_git_common_path to take a 'struct repository'
+      path: convert do_git_path to take a 'struct repository'
+      path: worktree_git_path() should not use file relocation
+      path: add repo_git_path and strbuf_repo_git_path
+      path: add repo_worktree_path and strbuf_repo_worktree_path
+      config: read config from a repository object
+      repository: add index_state to struct repo
+      submodule-config: store the_submodule_cache in the_repository
+      submodule: add repo_read_gitmodules
+      submodule: convert is_submodule_initialized to work on a repository
+      repository: enable initialization of submodules
+      ls-files: use repository object
+
+Christian Couder (2):
+      p3400: add perf tests for rebasing many changes
+      sub-process: correct path to API docs in a comment
+
+David Turner (2):
+      Increase core.packedGitLimit
+      unpack-trees: preserve index extensions
+
+Jeff King (29):
+      cache-tree: reject entries with null sha1
+      status: fix missing newline when comment chars are disabled
+      add--interactive: drop diff.indentHeuristic handling
+      pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
+      ref-filter: limit traversal to prefix
+      t4208: add check for ":/" without matching file
+      check_filename(): refactor ":/" handling
+      check_filename(): use skip_prefix
+      check_filename(): handle ":^" path magic
+      verify_filename(): treat ":(magic)" as a pathspec
+      verify_filename(): flip order of checks
+      credential: handle invalid arguments earlier
+      upload-archive: handle "-h" option early
+      remote-{ext,fd}: print usage message on invalid arguments
+      submodule--helper: show usage for "-h"
+      version: convert to parse-options
+      git: add hidden --list-builtins option
+      t0012: test "-h" with builtins
+      add: warn when adding an embedded repository
+      t: move "git add submodule" into test blocks
+      configure.ac: loosen FREAD_READS_DIRECTORIES test program
+      t0006: check --date=format zone offsets
+      date: use localtime() for "-local" time formats
+      docs: update 64-bit core.packedGitLimit default
+      test-lib: set ASAN_OPTIONS variable before we run git
+      test-lib: turn on ASan abort_on_error by default
+      Makefile: add helper for compiling with -fsanitize
+      Makefile: turn off -fomit-frame-pointer with sanitizers
+      Makefile: disable unaligned loads with UBSan
+
+Jeff Smith (29):
+      blame: remove unneeded dependency on blob.h
+      blame: move textconv_object with related functions
+      blame: remove unused parameters
+      blame: rename origin structure to blame_origin
+      blame: rename scoreboard structure to blame_scoreboard
+      blame: rename origin-related functions
+      blame: rename coalesce function
+      blame: rename ent_score function
+      blame: rename nth_line function
+      blame: move stat counters to scoreboard
+      blame: move copy/move thresholds to scoreboard
+      blame: move contents_from to scoreboard
+      blame: move reverse flag to scoreboard
+      blame: move show_root flag to scoreboard
+      blame: move xdl_opts flags to scoreboard
+      blame: move no_whole_file_rename flag to scoreboard
+      blame: make sanity_check use a callback in scoreboard
+      blame: move progress updates to a scoreboard callback
+      blame: wrap blame_sort and compare_blame_final
+      blame: rework methods that determine 'final' commit
+      blame: create scoreboard init function
+      blame: create scoreboard setup function
+      blame: create entry prepend function
+      blame: move core structures to header
+      blame: move origin-related methods to libgit
+      blame: move fake-commit-related methods to libgit
+      blame: move scoreboard-related methods to libgit
+      blame: move scoreboard setup to libgit
+      blame: move entry prepend to libgit
+
+Johannes Schindelin (9):
+      ref-filter: avoid using `unsigned long` for catch-all data type
+      t0006 & t5000: prepare for 64-bit timestamps
+      t0006 & t5000: skip "far in the future" test when time_t is too limited
+      parse_timestamp(): specify explicitly where we parse timestamps
+      PRItime: introduce a new "printf format" for timestamps
+      timestamp_t: a new data type for timestamps
+      date.c: abort if the system time cannot handle one of our timestamps
+      use uintmax_t for timestamps
+      mingw: verify that paths are not mistaken for remote nicknames
+
+Johannes Sixt (1):
+      mingw_fopen: report ENOENT for invalid file names
+
+Jonathan Tan (11):
+      fetch-pack: always allow fetching of literal SHA1s
+      send-email: support validate hook
+      send-email: check for repo before invoking hook
+      sha1_file: teach packed_object_info about typename
+      sha1_file: rename LOOKUP_UNKNOWN_OBJECT
+      sha1_file: rename LOOKUP_REPLACE_OBJECT
+      sha1_file: move delta base cache code up
+      sha1_file: refactor read_object
+      sha1_file: teach sha1_object_info_extended more flags
+      sha1_file: do not access pack if unneeded
+      sha1_file: refactor has_sha1_file_with_flags
+
+Junio C Hamano (28):
+      test-lib.sh: do not barf under --debug at the end of the test
+      test-lib: retire $remove_trash variable
+      repack: accept --threads=<n> and pass it down to pack-objects
+      Start post 2.13 cycle
+      name-rev: change a "long" variable to timestamp_t
+      Second batch for 2.14
+      config.mak.uname: set FREAD_READS_DIRECTORIES for Darwin, too
+      Third batch for 2.14
+      compat-util: is_missing_file_error()
+      treewide: use is_missing_file_error() where ENOENT and ENOTDIR are checked
+      Fourth batch for 2.14
+      Fifth batch for 2.14
+      Sixth batch for 2.14
+      Seventh batch for 2.14
+      diff- and log- family: handle "git cmd -h" early
+      Eighth batch for 2.14
+      Ninth batch for 2.14
+      Tenth batch for 2.14
+      Revert "split-index: add and use unshare_split_index()"
+      Eleventh batch for 2.14
+      Twelfth batch for 2.14
+      Thirteenth batch for 2.14
+      sha1collisiondetection: automatically enable when submodule is populated
+      Fourteenth batch for 2.14
+      Fifteenth batch for 2.14
+      Sixteenth batch for 2.14
+      Hopefully the last batch before -rc0
+      Git 2.14-rc0
+
+Kaartic Sivaraam (4):
+      status: contextually notify user about an initial commit
+      Documentation/git-submodule: cleanup "add" section
+      commit-template: remove outdated notice about explicit paths
+      commit-template: distinguish status information unconditionally
+
+Lars Schneider (2):
+      travis-ci: handle Git for Windows CI status "failed" explicitly
+      travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
+
+Liam Beguin (3):
+      stash: update documentation to use 'stash entry'
+      status: add optional stash count information
+      glossary: define 'stash entry'
+
+Marc Branchaud (2):
+      diff: make the indent heuristic part of diff's basic configuration
+      diff: have the diff-* builtins configure diff before initializing revisions
+
+Michael Haggerty (26):
+      t3600: clean up permissions test properly
+      refs.h: clarify docstring for the ref_transaction_update()-related fns
+      ref_iterator_begin_fn(): fix docstring
+      files-backend: use `die("BUG: ...")`, not `die("internal error: ...")`
+      prefix_ref_iterator: don't trim too much
+      refs_ref_iterator_begin(): don't check prefixes redundantly
+      refs: use `size_t` indexes when iterating over ref transaction updates
+      ref_store: take a `msg` parameter when deleting references
+      lockfile: add a new method, is_lock_file_locked()
+      files-backend: move `lock` member to `files_ref_store`
+      files_ref_store: put the packed files lock directly in this struct
+      files_transaction_cleanup(): new helper function
+      ref_transaction_commit(): check for valid `transaction->state`
+      ref_transaction_prepare(): new optional step for reference updates
+      ref_update_reject_duplicates(): expose function to whole refs module
+      ref_update_reject_duplicates(): use `size_t` rather than `int`
+      ref_update_reject_duplicates(): add a sanity check
+      should_pack_ref(): new function, extracted from `files_pack_refs()`
+      get_packed_ref_cache(): assume "packed-refs" won't change while locked
+      read_packed_refs(): do more of the work of reading packed refs
+      read_packed_refs(): report unexpected fopen() failures
+      refs_ref_iterator_begin(): handle `GIT_REF_PARANOIA`
+      create_ref_entry(): remove `check_name` option
+      cache_ref_iterator_begin(): avoid priming unneeded directories
+      lock_packed_refs(): fix cache validity check
+      for_each_bisect_ref(): don't trim refnames
+
+Mike Hommey (1):
+      fast-import: increase the default pack depth to 50
+
+Nguyễn Thái Ngọc Duy (16):
+      environment.c: fix potential segfault by get_git_common_dir()
+      refs.c: make submodule ref store hashmap generic
+      refs: add REFS_STORE_ALL_CAPS
+      refs: introduce get_worktree_ref_store()
+      worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
+      refs: kill set_worktree_head_symref()
+      split-index: add and use unshare_split_index()
+      use xfopen() in more places
+      clone: use xfopen() instead of fopen()
+      config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
+      wrapper.c: add and use warn_on_fopen_errors()
+      wrapper.c: add and use fopen_or_warn()
+      wrapper.c: make warn_on_inaccessible() static
+      print errno when reporting a system call error
+      rerere.c: move error_errno() closer to the source system call
+      log: fix memory leak in open_next_file()
+
+Prathamesh Chavan (1):
+      dir: create function count_slashes()
+
+Ramsay Jones (2):
+      archive-tar: fix a sparse 'constant too large' warning
+      git_fopen: fix a sparse 'not declared' warning
+
+René Scharfe (17):
+      archive-zip: add tests for big ZIP archives
+      archive-zip: use strbuf for ZIP directory
+      archive-zip: write ZIP dir entry directly to strbuf
+      archive-zip: support archives bigger than 4GB
+      archive-zip: support files bigger than 4GB
+      archive-zip: set version field for big files correctly
+      t5004: require 64-bit support for big ZIP tests
+      mingw: simplify PATH handling
+      strbuf: let strbuf_addftime handle %z and %Z itself
+      sha1_name: cache readdir(3) results in find_short_object_filename()
+      p4205: add perf test script for pretty log formats
+      sha1_file: let for_each_file_in_obj_subdir() handle subdir names
+      sha1_file: guard against invalid loose subdirectory numbers
+      coccinelle: polish FREE_AND_NULL rules
+      urlmatch: use hex2chr() in append_normalized_escapes()
+      wt-status: use separate variable for result of shorten_unambiguous_ref
+      use DIV_ROUND_UP
+
+Rikard Falkeborn (6):
+      completion: add git config gc completions
+      completion: add git config core completions
+      completion: add git config am.threeWay completion
+      completion: add git config advice completions
+      completion: add git config credential completions
+      completion: add git config credentialCache.ignoreSIGHUP
+
+SZEDER Gábor (1):
+      test-lib: abort when can't remove trash directory
+
+Stefan Beller (22):
+      entry.c: submodule recursing: respect force flag correctly
+      submodule.c: uninitialized submodules are ignored in recursive commands
+      submodule.c: submodule_move_head works with broken submodules
+      builtin/reset: add --recurse-submodules switch
+      diff: recurse into nested submodules for inline diff
+      diff: enable indent heuristic by default
+      submodule recursing: do not write a config variable twice
+      submodule test invocation: only pass additional arguments
+      reset/checkout/read-tree: unify config callback for submodule recursion
+      submodule loading: separate code path for .gitmodules and config overlay
+      Introduce 'submodule.recurse' option for worktree manipulators
+      builtin/grep.c: respect 'submodule.recurse' option
+      builtin/push.c: respect 'submodule.recurse' option
+      builtin/fetch.c: respect 'submodule.recurse' option
+      submodules: overhaul documentation
+      builtin/fetch: factor submodule recurse parsing out to submodule config
+      builtin/fetch: parse recurse-submodules-default at default options parsing
+      pull: optionally rebase submodules (remote submodule changes only)
+      builtin/fetch cleanup: always set default value for submodule recursing
+      hashmap.h: compare function has access to a data field
+      patch-ids.c: use hashmap correctly
+      hashmap: migrate documentation from Documentation/technical into header
+
+Stephen Kent (1):
+      status: add color config slots for branch info in "--short --branch"
+
+Ville Skyttä (1):
+      Spelling fixes
+
+brian m. carlson (60):
+      fetch-pack: convert to struct object_id
+      Clean up outstanding object_id transforms.
+      Convert struct cache_tree to use struct object_id
+      builtin/name-rev: convert to struct object_id
+      builtin/prune: convert to struct object_id
+      bundle: convert to struct object_id
+      branch: convert to struct object_id
+      builtin/blame: convert static function to struct object_id
+      builtin/rev-parse: convert to struct object_id
+      fast-import: convert internal structs to struct object_id
+      fast-import: convert to struct object_id
+      submodule: convert merge_submodule to use struct object_id
+      notes-cache: convert to struct object_id
+      parse-options-cb: convert to struct object_id
+      reflog_expire: convert to struct object_id
+      builtin/verify-commit: convert to struct object_id
+      tag: convert parse_tag_buffer to struct object_id
+      http-push: convert some static functions to struct object_id
+      notes-utils: convert internals to struct object_id
+      revision: convert prepare_show_merge to struct object_id
+      shallow: convert shallow registration functions to object_id
+      sequencer: convert some functions to struct object_id
+      builtin/tag: convert to struct object_id
+      Convert remaining callers of lookup_commit_reference* to object_id
+      Convert lookup_commit* to struct object_id
+      pack: convert struct pack_idx_entry to struct object_id
+      builtin/unpack-objects: convert to struct object_id
+      Convert remaining callers of lookup_blob to object_id
+      Convert lookup_blob to struct object_id
+      tree: convert read_tree_1 to use struct object_id internally
+      builtin/reflog: convert tree_is_complete to take struct object_id
+      Convert lookup_tree to struct object_id
+      log-tree: convert to struct object_id
+      Convert lookup_tag to struct object_id
+      Convert the verify_pack callback to struct object_id
+      Convert struct ref_array_item to struct object_id
+      ref-filter: convert some static functions to struct object_id
+      refs: convert struct ref_update to use struct object_id
+      refs/files-backend: convert many internals to struct object_id
+      http-push: convert process_ls_object and descendants to object_id
+      revision: rename add_pending_sha1 to add_pending_oid
+      revision: convert remaining parse_object callers to object_id
+      upload-pack: convert remaining parse_object callers to object_id
+      sha1_name: convert internals of peel_onion to object_id
+      builtin/read-tree: convert to struct object_id
+      builtin/ls-files: convert overlay_tree_on_cache to object_id
+      sequencer: convert fast_forward_to to struct object_id
+      merge: convert checkout_fast_forward to struct object_id
+      builtin/ls-tree: convert to struct object_id
+      diff-lib: convert do_diff_cache to struct object_id
+      sequencer: convert do_recursive_merge to struct object_id
+      tree: convert parse_tree_indirect to struct object_id
+      object: convert parse_object* to take struct object_id
+      notes: convert internal structures to struct object_id
+      notes: convert internal parts to struct object_id
+      notes: convert for_each_note to struct object_id
+      notes: make get_note return pointer to struct object_id
+      notes: convert format_display_notes to struct object_id
+      builtin/notes: convert to struct object_id
+      notes: convert some accessor functions to struct object_id
+
+xiaoqiang zhao (1):
+      send-email: --batch-size to work around some SMTP server limit
+
+Ævar Arnfjörð Bjarmason (65):
+      tests: change "cd ... && git fetch" to "cd &&\n\tgit fetch"
+      clone: add a --no-tags option to clone without tags
+      tests: rename a test having to do with shallow submodules
+      perf: add function to setup a fresh test repo
+      perf: add test showing exponential growth in path globbing
+      config: match both symlink & realpath versions in IncludeIf.gitdir:*
+      Makefile & configure: reword inaccurate comment about PCRE
+      grep & rev-list doc: stop promising libpcre for --perl-regexp
+      test-lib: rename the LIBPCRE prerequisite to PCRE
+      log: add exhaustive tests for pattern style options & config
+      log: make --regexp-ignore-case work with --perl-regexp
+      grep: add a test asserting that --perl-regexp dies when !PCRE
+      grep: add a test for backreferences in PCRE patterns
+      grep: change non-ASCII -i test to stop using --debug
+      grep: add tests for --threads=N and grep.threads
+      grep: amend submodule recursion test for regex engine testing
+      grep: add tests for grep pattern types being passed to submodules
+      grep: add a test helper function for less verbose -f \0 tests
+      grep: prepare for testing binary regexes containing rx metacharacters
+      grep: add tests to fix blind spots with \0 patterns
+      perf: add a GIT_PERF_MAKE_COMMAND for when *_MAKE_OPTS won't do
+      perf: emit progress output when unpacking & building
+      perf: add a comparison test of grep regex engines
+      perf: add a comparison test of grep regex engines with -F
+      perf: add a comparison test of log --grep regex engines
+      perf: add a comparison test of log --grep regex engines with -F
+      grep: catch a missing enum in switch statement
+      grep: remove redundant regflags assignments
+      grep: factor test for \0 in grep patterns into a function
+      grep: change the internal PCRE macro names to be PCRE1
+      grep: change internal *pcre* variable & function names to be *pcre1*
+      grep: move is_fixed() earlier to avoid forward declaration
+      test-lib: add a PTHREADS prerequisite
+      pack-objects & index-pack: add test for --threads warning
+      pack-objects: fix buggy warning about threads
+      grep: given --threads with NO_PTHREADS=YesPlease, warn
+      grep: assert that threading is enabled when calling grep_{lock,unlock}
+      grep: don't redundantly compile throwaway patterns under threading
+      grep: skip pthreads overhead when using one thread
+      log: add -P as a synonym for --perl-regexp
+      grep: add support for the PCRE v1 JIT API
+      grep: un-break building with PCRE < 8.32
+      grep: un-break building with PCRE < 8.20
+      grep: un-break building with PCRE >= 8.32 without --enable-jit
+      grep: add support for PCRE v2
+      perf: work around the tested repo having an index.lock
+      git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
+      wildmatch test: cover a blind spot in "/" matching
+      coccinelle: add a rule to make "type" code use FREE_AND_NULL()
+      coccinelle: make use of the "type" FREE_AND_NULL() rule
+      coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
+      coccinelle: make use of the "expression" FREE_AND_NULL() rule
+      *.[ch] refactoring: make use of the FREE_AND_NULL() macro
+      grep: fix erroneously copy/pasted variable in check/assert pattern
+      die(): stop hiding errors due to overzealous recursion guard
+      wildmatch: remove unused wildopts parameter
+      strbuf.h comment: discuss strbuf_addftime() arguments in order
+      grep: remove redundant double assignment to 0
+      grep: adjust a redundant grep pattern type assignment
+      grep: remove redundant "fixed" field re-assignment to 0
+      grep: remove redundant and verbose re-assignments to 0
+      grep: remove regflags from the public grep_opt API
+      grep: remove redundant REG_NEWLINE when compiling fixed regex
+      strbuf: change an always NULL/"" strbuf_addftime() param to bool
+      sha1dc: optionally use sha1collisiondetection as a submodule
+
+
+Version v2.13.7; changes since v2.13.6:
+---------------------------------------
+
+Jeff King (8):
+      submodule-config: verify submodule names as paths
+      is_ntfs_dotgit: use a size_t for traversing string
+      is_hfs_dotgit: match other .git files
+      skip_prefix: add case-insensitive variant
+      verify_path: drop clever fallthrough
+      verify_dotfile: mention case-insensitivity in comment
+      update-index: stat updated files earlier
+      verify_path: disallow symlinks in .gitmodules
+
+Johannes Schindelin (2):
+      is_ntfs_dotgit: match other .git files
+      is_{hfs,ntfs}_dotgitmodules: add tests
+
+Junio C Hamano (1):
+      Git 2.13.7
+
+
+Version v2.13.6; changes since v2.13.5:
+---------------------------------------
+
+Jeff King (3):
+      shell: drop git-cvsserver support by default
+      archimport: use safe_pipe_capture for user input
+      cvsimport: shell-quote variable used in backticks
+
+Junio C Hamano (6):
+      cvsserver: move safe_pipe_capture() to the main package
+      cvsserver: use safe_pipe_capture for `constant commands` as well
+      Git 2.10.5
+      Git 2.11.4
+      Git 2.12.5
+      Git 2.13.6
+
+joernchen (1):
+      cvsserver: use safe_pipe_capture instead of backticks
+
+
+Version v2.13.5; changes since v2.13.4:
+---------------------------------------
+
+Jeff King (5):
+      t/lib-proto-disable: restore protocol.allow after config tests
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (8):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+      Git 2.10.4
+      Git 2.11.3
+      Git 2.12.4
+      Git 2.13.5
+
+
+Version v2.13.4; changes since v2.13.3:
+---------------------------------------
+
+Beat Bolli (1):
+      unicode: update the width tables to Unicode 10
+
+Eric Wong (1):
+      set FD_CLOEXEC properly when O_CLOEXEC is not supported
+
+Jeff King (2):
+      gc: run pre-detach operations under lock
+      t: handle EOF in test_copy_bytes()
+
+Johannes Schindelin (2):
+      t1300: demonstrate that CamelCased aliases regressed
+      alias: compare alias name *case-insensitively*
+
+Jonathan Nieder (1):
+      pre-rebase hook: capture documentation in a <<here document
+
+Junio C Hamano (3):
+      fixes from 'master' for 2.13.4
+      Preparation for 2.13.4 continues
+      Git 2.13.4
+
+Kaartic Sivaraam (3):
+      doc: correct a mistake in an illustration
+      doc: camelCase the i18n config variables to improve readability
+      doc: reformat the paragraph containing the 'cut-line'
+
+Phillip Wood (4):
+      add -i: move unquote_path() to Git.pm
+      Git::unquote_path(): handle '\a'
+      Git::unquote_path(): throw an exception on bad path
+      t9700: add tests for Git::unquote_path()
+
+René Scharfe (3):
+      apply: use starts_with() in gitdiff_verify_name()
+      apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
+      progress: show overall rate in last update
+
+Torsten Bögershausen (1):
+      cygwin: allow pushing to UNC paths
+
+
+Version v2.13.3; changes since v2.13.2:
+---------------------------------------
+
+A. Wilcox (1):
+      subtree: honour USE_ASCIIDOCTOR when set
+
+Alejandro R. Sedeño (1):
+      ref-filter.c: drop return from void function
+
+Andreas Heiduk (2):
+      doc: do not use `rm .git/index` when normalizing line endings
+      doc: clarify syntax for %C(auto,...) in pretty formats
+
+Christian Couder (3):
+      read-cache: use shared perms when writing shared index
+      t1301: move modebits() to test-lib-functions.sh
+      t1700: make sure split-index respects core.sharedrepository
+
+David Aguilar (1):
+      mergetools/meld: improve compatibiilty with Meld on macOS X
+
+James Clarke (1):
+      pack-bitmap: don't perform unaligned memory access
+
+Jeff King (10):
+      diff-highlight: split code into module
+      add--interactive: handle EOF in prompt_yesno
+      add--interactive: quote commentChar regex
+      reflog-walk: skip over double-null oid due to HEAD rename
+      reflog-walk: duplicate strings in complete_reflogs list
+      reflog-walk: don't free reflogs added to cache
+      reflog-walk: include all fields when freeing complete_reflogs
+      branch: only perform HEAD check for local branches
+      branch: use BRANCH_COLOR_LOCAL in ref-filter format
+      branch: set remote color in ref-filter branch immediately
+
+Johannes Schindelin (8):
+      discover_git_directory(): avoid setting invalid git_dir
+      config: report correct line number upon error
+      help: use early config when autocorrecting aliases
+      t1308: relax the test verifying that empty alias values are disallowed
+      t7006: demonstrate a problem with aliases in subdirectories
+      alias: use the early config machinery to expand aliases
+      sequencer: print autostash messages to stderr
+      t5534: fix misleading grep invocation
+
+Junio C Hamano (5):
+      t3420: fix under GETTEXT_POISON build
+      t1450: use egrep for regexp "alternation"
+      submodule--helper: do not call utf8_fprintf() unnecessarily
+      Prepare for 2.13.3
+      Git 2.13.3
+
+Kaartic Sivaraam (2):
+      t7508: fix a broken indentation
+      builtin/commit.c: fix a typo in the comment
+
+Marc Branchaud (1):
+      auto-correct: tweak phrasing
+
+Phillip Wood (3):
+      rebase -i: add test for reflog message
+      rebase: add regression tests for console output
+      rebase: add more regression tests for console output
+
+Ralf Thielow (1):
+      l10n: de.po: fix typo
+
+René Scharfe (4):
+      pretty: recalculate duplicate short hashes
+      apply: check git diffs for missing old filenames
+      apply: check git diffs for invalid file modes
+      apply: check git diffs for mutually exclusive header lines
+
+Stefan Beller (2):
+      t4005: modernize style and drop hard coded sha1
+      merge-recursive: use DIFF_XDL_SET macro
+
+Ævar Arnfjörð Bjarmason (1):
+      sha1dc: update from upstream
+
+
+Version v2.13.2; changes since v2.13.1:
+---------------------------------------
+
+Adam Dinwoodie (1):
+      docs: fix formatting and grammar
+
+Brandon Williams (12):
+      t5550: use write_script to generate post-update hook
+      t0061: run_command executes scripts without a #! line
+      run-command: prepare command before forking
+      run-command: use the async-signal-safe execv instead of execvp
+      string-list: add string_list_remove function
+      run-command: prepare child environment before forking
+      run-command: don't die in child when duping /dev/null
+      run-command: eliminate calls to error handling functions in child
+      run-command: handle dup2 and close errors in child
+      run-command: add note about forking and threading
+      run-command: expose is_executable function
+      run-command: restrict PATH search to executable files
+
+Dennis Kaarsemaker (1):
+      send-email: Net::SMTP::SSL is obsolete, use only when necessary
+
+Eric Wong (1):
+      run-command: block signals between fork and execve
+
+Jeff Hostetler (1):
+      read-cache: close index.lock in do_write_index
+
+Jeff King (23):
+      usage.c: add BUG() function
+      setup_git_env: convert die("BUG") to BUG()
+      config: complain about --local outside of a git repo
+      usage.c: drop set_error_handle()
+      handle_revision_arg: reset "dotdot" consistently
+      handle_revision_arg: simplify commit reference lookups
+      handle_revision_arg: stop using "dotdot" as a generic pointer
+      handle_revision_arg: hoist ".." check out of range parsing
+      handle_revision_arg: add handle_dotdot() helper
+      sha1_name: consistently refer to object_context as "oc"
+      get_sha1_with_context: always initialize oc->symlink_path
+      get_sha1_with_context: dynamically allocate oc->path
+      t4063: add tests of direct blob diffs
+      handle_revision_arg: record modes for "a..b" endpoints
+      handle_revision_arg: record paths for pending objects
+      diff: pass whole pending entry in blobinfo
+      diff: use the word "path" instead of "name" for blobs
+      diff: use pending "path" if it is available
+      diff: use blob path for blob/file diffs
+      connect.c: fix leak in parse_one_symref_info()
+      remote: drop free_refspecs() function
+      t5313: make extended-table test more deterministic
+      sha1dc: ignore indent-with-non-tab whitespace violations
+
+Jonathan Nieder (1):
+      send-email: Net::SMTP::starttls was introduced in v2.34
+
+Junio C Hamano (6):
+      name-rev: refactor logic to see if a new candidate is a better name
+      name-rev: favor describing with tags and use committer date to tiebreak
+      test: allow skipping the remainder
+      diff-tree: update stale in-code comments
+      Prepare for 2.13.2
+      Git 2.13.2
+
+Kyle J. McKay (1):
+      t5100: add some more mailinfo tests
+
+Lars Schneider (1):
+      Configure Git contribution guidelines for github.com
+
+Patrick Steinhardt (1):
+      git-stash: fix pushing stash with pathspec from subdir
+
+Ramsay Jones (1):
+      usage: add NORETURN to BUG() function definitions
+
+René Scharfe (5):
+      p0004: simplify calls of test-lazy-init-name-hash
+      p0004: avoid using pipes
+      p0004: use test_perf
+      p0004: don't abort if multi-threaded is too slow
+      p0004: don't error out if test repo is too small
+
+Rikard Falkeborn (1):
+      completion: add completions for git config commit
+
+SZEDER Gábor (6):
+      revision.h: turn rev_info.early_output back into an unsigned int
+      revision.c: stricter parsing of '--no-{min,max}-parents'
+      revision.c: stricter parsing of '--early-output'
+      revision.c: use skip_prefix() in handle_revision_opt()
+      revision.c: use skip_prefix() in handle_revision_pseudo_opt()
+      docs/pretty-formats: stress that %- removes all preceding line-feeds
+
+Sahil Dua (1):
+      t3200: add test for single parameter passed to -m option
+
+Samuel Lijin (6):
+      t7300: clean -d should skip dirs with ignored files
+      t7061: status --ignored should search untracked dirs
+      dir: recurse into untracked dirs for ignored files
+      dir: hide untracked contents of untracked dirs
+      dir: expose cmp_name() and check_contains()
+      clean: teach clean -d to preserve ignored paths
+
+Stefan Beller (5):
+      submodule_move_head: reuse child_process structure for futher commands
+      submodule: avoid auto-discovery in new working tree manipulator code
+      submodule: properly recurse for read-tree and checkout
+      t5545: enhance test coverage when no http server is installed
+      Documentation/git-rm: correct submodule description
+
+Tyler Brazier (1):
+      pull: ff --rebase --autostash works in dirty repo
+
+Ævar Arnfjörð Bjarmason (2):
+      wildmatch test: remove redundant duplicate test
+      sha1dc: update from upstream
+
+Štěpán Němec (1):
+      doc: git-reset: fix a trivial typo
+
+
+Version v2.13.1; changes since v2.13.0:
+---------------------------------------
+
+Andreas Heiduk (4):
+      Documentation: fix reference to ifExists for interpret-trailers
+      Documentation: fix formatting typo in pretty-formats.txt
+      doc: filter-branch does not require re-export of vars
+      doc: rewrite description for rev-parse --short
+
+Brian Malehorn (1):
+      interpret-trailers: honor the cut line
+
+Jean-Noël Avila (3):
+      usability: don't ask questions if no reply is required
+      read-tree -m: make error message for merging 0 trees less smart aleck
+      git-filter-branch: be more direct in an error message
+
+Jeff King (14):
+      am: fix commit buffer leak in get_commit_info()
+      am: simplify allocations in get_commit_info()
+      am: shorten ident_split variable name in get_commit_info()
+      pack-objects: disable pack reuse for object-selection options
+      t5310: fix "; do" style
+      docs/config: clarify include/includeIf relationship
+      docs/config: give a relative includeIf example
+      docs/config: avoid the term "expand" for includes
+      docs/config: consistify include.path examples
+      t5400: avoid concurrent writes into a trace file
+      ref-filter: resolve HEAD when parsing %(HEAD) atom
+      revision.c: ignore broken tags with ignore_missing_links
+      am: handle "-h" argument earlier
+      docs/config: mention protocol implications of url.insteadOf
+
+Johannes Schindelin (31):
+      mingw: avoid memory leak when splitting PATH
+      winansi: avoid use of uninitialized value
+      winansi: avoid buffer overrun
+      add_commit_patch_id(): avoid allocating memory unnecessarily
+      git_config_rename_section_in_file(): avoid resource leak
+      get_mail_commit_oid(): avoid resource leak
+      difftool: address a couple of resource/memory leaks
+      status: close file descriptor after reading git-rebase-todo
+      mailinfo & mailsplit: check for EOF while parsing
+      cat-file: fix memory leak
+      checkout: fix memory leak
+      split_commit_in_progress(): simplify & fix memory leak
+      setup_bare_git_dir(): help static analysis
+      setup_discovered_git_dir(): plug memory leak
+      pack-redundant: plug memory leak
+      mktree: plug memory leaks reported by Coverity
+      fast-export: avoid leaking memory in handle_tag()
+      receive-pack: plug memory leak in update()
+      line-log: avoid memory leak
+      shallow: avoid memory leak
+      add_reflog_for_walk: avoid memory leak
+      remote: plug memory leak in match_explicit()
+      name-rev: avoid leaking memory in the `deref` case
+      show_worktree(): plug memory leak
+      submodule_uses_worktrees(): plug memory leak
+      Fix build with core.autocrlf=true
+      git-new-workdir: mark script as LF-only
+      completion: mark bash script as LF-only
+      t3901: move supporting files into t/t3901/
+      Fix the remaining tests that failed with core.autocrlf=true
+      t4051: mark supporting files as requiring LF-only line endings
+
+Johannes Sixt (2):
+      mingw.h: permit arguments with side effects for is_dir_sep
+      Windows: do not treat a path with backslashes as a remote's nick name
+
+Jonathan Nieder (2):
+      credential doc: make multiple-helper behavior more prominent
+      clone: handle empty config values in -c
+
+Jonathan Tan (3):
+      sequencer: add newline before adding footers
+      docs: correct receive.advertisePushOptions default
+      receive-pack: verify push options in cert
+
+Junio C Hamano (6):
+      apply.c: fix whitespace-only mismerge
+      checkout: fix memory leak
+      doc: replace more gmane links
+      read-tree: "read-tree -m --empty" does not make sense
+      Prepare for 2.13.1; more topics to follow
+      Git 2.13.1
+
+Kyle Meyer (1):
+      config.txt: add an entry for log.showSignature
+
+Lars Schneider (6):
+      travis-ci: build documentation with AsciiDoc and Asciidoctor
+      travis-ci: parallelize documentation build
+      travis-ci: unset compiler for jobs that do not need one
+      travis-ci: check AsciiDoc/AsciiDoctor stderr output
+      travis-ci: setup "prove cache" in "script" step
+      travis-ci: add job to run tests with GETTEXT_POISON
+
+Phillip Wood (3):
+      rebase -i: fix reflog message
+      rebase -i: silence stash apply
+      rebase -i: add missing newline to end of message
+
+Ramsay Jones (1):
+      t7400: add !CYGWIN prerequisite to 'add with \\ in path'
+
+René Scharfe (2):
+      checkout: check return value of resolve_refdup before using hash
+      am: check return value of resolve_refdup before using hash
+
+SZEDER Gábor (1):
+      docs/config.txt: fix indefinite article in core.fileMode description
+
+Sahil Dua (1):
+      branch test: fix invalid config key access
+
+Stefan Beller (1):
+      t5531: fix test description
+
+Sven Strickroth (1):
+      doc: use https links to Wikipedia to avoid http redirects
+
+Thomas Gummerer (1):
+      completion: add git stash push
+
+Torsten Bögershausen (1):
+      t0027: tests are not expensive; remove t0025
+
+brian m. carlson (1):
+      builtin/log: honor log.decorate
+
+Ævar Arnfjörð Bjarmason (6):
+      config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX
+      doc: replace a couple of broken gmane links
+      tests: fix tests broken under GETTEXT_POISON=YesPlease
+      sha1dc: update from upstream
+      tag: duplicate mention of --contains should mention --no-contains
+      C style: use standard style for "TRANSLATORS" comments
+
+
+Version v2.13.0; changes since v2.13.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (2):
+      l10n: bg.po: Updated Bulgarian translation (3201t)
+      l10n: bg.po: Updated Bulgarian translation (3195t)
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.13 round 1
+      l10n: fr.po v2.13 rnd 2
+
+Jeff Hostetler (1):
+      t1450: avoid use of "sed" on the index, which is a binary file
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Jiang Xin (4):
+      l10n: git.pot: v2.13.0 round 1 (96 new, 37 removed)
+      l10n: zh_CN: for git v2.13.0 l10n round 1
+      l10n: git.pot: v2.13.0 round 2 (4 new, 7 removed)
+      l10n: zh_CN: for git v2.13.0 l10n round 2
+
+Jordi Mas (1):
+      l10n: Update Catalan translation
+
+Junio C Hamano (10):
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+      Git 2.9.4
+      Git 2.10.3
+      Git 2.11.2
+      Git 2.12.3
+      Git 2.13
+
+Michael J Gruber (1):
+      l10n: de.po: lower case after semi-colon
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (3199t0f0u)
+      l10n: sv.po: Update Swedish translation (3195t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: update German translation
+      l10n: de.po: translate 4 new messages
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.13.0 l10n round 1
+
+Trần Ngọc Quân (2):
+      l10n: vi.po(3198t): Updated Vietnamese translation for v2.13.0-rc0
+      l10n: vi.po(3195t): Update translation for v2.13.0 round 2
+
+Vasco Almeida (1):
+      l10n: pt_PT: update Portuguese translation
+
+
+Version v2.13.0-rc2; changes since v2.13.0-rc1:
+-----------------------------------------------
+
+Jean-Noël Avila (1):
+      i18n: remove i18n from tag reflog message
+
+Jeff King (3):
+      completion: optionally disable checkout DWIM
+      submodule_init: die cleanly on submodules without url defined
+      prio_queue_reverse: don't swap elements with themselves
+
+Junio C Hamano (2):
+      Merging a handful of topics before -rc2
+      Git 2.13-rc2
+
+Lars Schneider (2):
+      travis-ci: printf $STATUS as string
+      travis-ci: set DEVELOPER knob for Linux32 build
+
+Peter Krefting (1):
+      i18n: read-cache: typofix
+
+René Genz (3):
+      doc: update SubmittingPatches
+      fix minor typos
+      doc: git-pull.txt use US spelling, fix minor typo
+
+Simon Ruderich (1):
+      githooks.txt: clarify push hooks are always executed in $GIT_DIR
+
+Stephen Hicks (1):
+      rebase -i: reread the todo list if `exec` touched it
+
+Ævar Arnfjörð Bjarmason (1):
+      t/perf: correctly align non-ASCII descriptions in output
+
+
+Version v2.13.0-rc1; changes since v2.13.0-rc0:
+-----------------------------------------------
+
+Brandon Williams (1):
+      submodule: prevent backslash expantion in submodule names
+
+Christian Couder (1):
+      read-cache: avoid using git_path() in freshen_shared_index()
+
+David Turner (2):
+      http.postbuffer: allow full range of ssize_t values
+      xgethostname: handle long hostnames
+
+Giuseppe Bilotta (4):
+      builtin/am: honor --signoff also when --rebasing
+      builtin/am: fold am_signoff() into am_append_signoff()
+      doc: trivial typo in git-format-patch.txt
+      rebase: pass --[no-]signoff option to git am
+
+Jacob Keller (2):
+      ls-files: fix recurse-submodules with nested submodules
+      ls-files: fix path used when recursing into submodules
+
+Jeff Hostetler (8):
+      read-cache: force_verify_index_checksum
+      string-list: use ALLOC_GROW macro when reallocing string_list
+      read-cache: add strcmp_offset function
+      unpack-trees: avoid duplicate ODB lookups during checkout
+      p0006-read-tree-checkout: perf test to time read-tree
+      read-cache: speed up add_index_entry during checkout
+      read-cache: speed up has_dir_name (part 1)
+      read-cache: speed up has_dir_name (part 2)
+
+Jeff King (16):
+      receive-pack: drop tmp_objdir_env from run_update_hook
+      receive-pack: document user-visible quarantine effects
+      refs: reject ref updates while GIT_QUARANTINE_PATH is set
+      bisect: add git_path_bisect_terms helper
+      branch: add edit_description() helper
+      use git_path_* helper functions
+      replace xstrdup(git_path(...)) with git_pathdup(...)
+      replace strbuf_addstr(git_path()) with git_path_buf()
+      am: drop "dir" parameter from am_state_init
+      connect.c: fix leak in handle_ssh_variant
+      doc: use https links to avoid http redirect
+      doc: replace or.cz gitwiki link with git.wiki.kernel.org
+      gitcore-tutorial: update broken link
+      docs/archimport: quote sourcecontrol.net reference
+      docs/bisect-lk2009: update nist report link
+      docs/bisect-lk2009: update java code conventions link
+
+Jonathan Tan (1):
+      fetch-pack: show clearer error message upon ERR
+
+Junio C Hamano (3):
+      replace: plug a memory leak
+      Getting ready for -rc1
+      Git 2.13-rc1
+
+Kyle Meyer (1):
+      t1400: use consistent style for test_expect_success calls
+
+Lars Schneider (1):
+      travis-ci: add static analysis build job to run coccicheck
+
+Michael Haggerty (20):
+      get_ref_dir(): don't call read_loose_refs() for "refs/bisect"
+      refs_read_raw_ref(): new function
+      refs_ref_iterator_begin(): new function
+      refs_verify_refname_available(): implement once for all backends
+      refs_verify_refname_available(): use function in more places
+      ref-cache: rename `add_ref()` to `add_ref_entry()`
+      ref-cache: rename `find_ref()` to `find_ref_entry()`
+      ref-cache: rename `remove_entry()` to `remove_entry_from_dir()`
+      refs: split `ref_cache` code into separate files
+      ref-cache: introduce a new type, ref_cache
+      refs: record the ref_store in ref_cache, not ref_dir
+      ref-cache: use a callback function to fill the cache
+      refs: handle "refs/bisect/" in `loose_fill_ref_dir()`
+      do_for_each_entry_in_dir(): eliminate `offset` argument
+      get_loose_ref_dir(): function renamed from get_loose_refs()
+      get_loose_ref_cache(): new function
+      cache_ref_iterator_begin(): make function smarter
+      commit_packed_refs(): use reference iteration
+      files_pack_refs(): use reference iteration
+      do_for_each_entry_in_dir(): delete function
+
+Nguyễn Thái Ngọc Duy (6):
+      path.c: and an option to call real_path() in expand_user_path()
+      config: resolve symlinks in conditional include's patterns
+      config: prepare to pass more info in git_config_with_options()
+      config: handle conditional include when $GIT_DIR is not set up
+      config: correct file reading order in read_early_config()
+      worktree add: add --lock option
+
+Patrick Steinhardt (1):
+      pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
+
+Prathamesh Chavan (1):
+      t2027: avoid using pipes
+
+René Scharfe (4):
+      am: close stream on error, but not stdin
+      files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
+      server-info: avoid calling fclose(3) twice in update_info_file()
+      use HOST_NAME_MAX to size buffers for gethostname(2)
+
+Sebastian Schuberth (4):
+      sha1_file: remove an used fd variable
+      submodule: remove a superfluous second check for the "new" variable
+      gitmodules: clarify what history depth a shallow clone has
+      gitmodules: clarify the ignore option values
+
+Sergey Ryazanov (2):
+      http: honor empty http.proxy option to bypass proxy
+      http: fix the silent ignoring of proxy misconfiguraion
+
+Torsten Bögershausen (1):
+      gitattributes.txt: document how to normalize the line endings
+
+Ævar Arnfjörð Bjarmason (2):
+      push: document & test --force-with-lease with multiple remotes
+      completion: expand "push --delete <remote> <ref>" for refs on that <remote>
+
+
+Version v2.13.0-rc0; changes since v2.12.5:
+-------------------------------------------
+
+Alex Henrie (1):
+      log: if --decorate is not given, default to --decorate=auto
+
+Andreas Heiduk (2):
+      Documentation: improve description for core.quotePath
+      diff-files: document --ours etc.
+
+Brandon Williams (36):
+      attr: pass struct attr_check to collect_some_attrs
+      attr: use hashmap for attribute dictionary
+      attr: eliminate global check_all_attr array
+      attr: remove maybe-real, maybe-macro from git_attr
+      attr: tighten const correctness with git_attr and match_attr
+      attr: store attribute stack in attr_check structure
+      attr: push the bare repo check into read_attr()
+      attr: reformat git_attr_set_direction() function
+      pathspec: allow querying for attributes
+      pathspec: allow escaped query values
+      submodule--helper: add is-active subcommand
+      submodule status: use submodule--helper is-active
+      submodule sync: skip work for inactive submodules
+      submodule sync: use submodule--helper is-active
+      submodule--helper clone: check for configured submodules using helper
+      grep: fix help text typo
+      setup: allow for prefix to be passed to git commands
+      grep: fix bug when recursing with relative pathspec
+      ls-files: fix typo in variable name
+      ls-files: fix bug when recursing with relative pathspec
+      grep: set default output method
+      submodule: decouple url and submodule interest
+      submodule init: initialize active submodules
+      clone: teach --recurse-submodules to optionally take a pathspec
+      submodule--helper init: set submodule.<name>.active
+      submodule add: respect submodule.active and submodule.<name>.active
+      grep: fix builds with with no thread support
+      send-pack: send push options correctly in stateless-rpc case
+      remote-curl: allow push options
+      sequencer: fix missing newline
+      push: unmark a local variable as static
+      push: propagate push-options with --recurse-submodules
+      remote: expose parse_push_refspec function
+      submodule--helper: add push-check subcommand
+      push: propagate remote and refspec with --recurse-submodules
+      pathspec: fix segfault in clear_pathspec
+
+Christian Couder (24):
+      config: mark an error message up for translation
+      t1700: change here document style
+      config: add git_config_get_split_index()
+      split-index: add {add,remove}_split_index() functions
+      read-cache: add and then use tweak_split_index()
+      update-index: warn in case of split-index incoherency
+      t1700: add tests for core.splitIndex
+      Documentation/config: add information for core.splitIndex
+      Documentation/git-update-index: talk about core.splitIndex config var
+      config: add git_config_get_max_percent_split_change()
+      read-cache: regenerate shared index if necessary
+      t1700: add tests for splitIndex.maxPercentChange
+      Documentation/config: add splitIndex.maxPercentChange
+      sha1_file: make check_and_freshen_file() non static
+      read-cache: touch shared index files when used
+      config: add git_config_get_expiry() from gc.c
+      read-cache: unlink old sharedindex files
+      t1700: test shared index file expiration
+      read-cache: refactor read_index_from()
+      read-cache: use freshen_shared_index() in read_index_from()
+      Documentation/config: add splitIndex.sharedIndexExpire
+      Documentation/git-update-index: explain splitIndex.*
+      update-index: fix xgetcwd() related memory leak
+      p0004: make perf test executable
+
+Cornelius Weig (1):
+      tag: generate useful reflog message
+
+David Aguilar (3):
+      t7800: remove whitespace before redirect
+      t7800: cleanup cruft left behind by tests
+      difftool: handle modified symlinks in dir-diff mode
+
+Devin Lehmacher (3):
+      path.c: add xdg_cache_home
+      credential-cache: use XDG_CACHE_HOME for socket
+      credential-cache: add tests for XDG functionality
+
+Hiroshi Shirosaki (1):
+      git svn: fix authentication with 'branch'
+
+Jacob Keller (5):
+      doc: add documentation for OPT_STRING_LIST
+      name-rev: extend --refs to accept multiple patterns
+      name-rev: add support to exclude refs by pattern match
+      describe: teach --match to accept multiple patterns
+      describe: teach describe negative pattern matches
+
+Jeff Hostetler (9):
+      preload-index: avoid lstat for skip-worktree items
+      name-hash: specify initial size for istate.dir_hash table
+      hashmap: allow memihash computation to be continued
+      hashmap: add disallow_rehash setting
+      hashmap: document memihash_cont, hashmap_disallow_rehash api
+      name-hash: perf improvement for lazy_init_name_hash
+      name-hash: add test-lazy-init-name-hash
+      name-hash: add perf test for lazy_init_name_hash
+      test-online-cpus: helper to return cpu count
+
+Jeff King (58):
+      setup_git_env: avoid blind fall-back to ".git"
+      for_each_alternate_ref: handle failure from real_pathdup()
+      for_each_alternate_ref: stop trimming trailing slashes
+      for_each_alternate_ref: use strbuf for path allocation
+      for_each_alternate_ref: pass name/oid instead of ref struct
+      for_each_alternate_ref: replace transport code with for-each-ref
+      fetch-pack: cache results of for_each_alternate_ref
+      add oidset API
+      receive-pack: use oidset to de-duplicate .have lines
+      receive-pack: fix misleading namespace/.have comment
+      receive-pack: treat namespace .have lines like alternates
+      receive-pack: avoid duplicates between our refs and alternates
+      ref-filter: move ref_cbdata definition into ref-filter.c
+      ref-filter: use contains_result enum consistently
+      ref-filter: die on parse_commit errors
+      ref-filter: use separate cache for contains_tag_algo
+      add--interactive: do not expand pathspecs with ls-files
+      cherry-pick: detect bogus arguments to --mainline
+      sha1dc: add collision-detecting sha1 implementation
+      sha1dc: adjust header includes for git
+      sha1dc: disable safe_hash feature
+      sequencer: drop "warning:" when stopping for edit
+      Makefile: add DC_SHA1 knob
+      t0013: add a basic sha1 collision detection test
+      hash-object: fix buffer reuse with --path in a subdirectory
+      prefix_filename: move docstring to header file
+      prefix_filename: drop length parameter
+      prefix_filename: return newly allocated string
+      prefix_filename: simplify windows #ifdef
+      bundle: use prefix_filename with bundle path
+      pager_in_use: use git_env_bool()
+      fast-import: use xsnprintf for writing sha1s
+      fast-import: use xsnprintf for formatting headers
+      encode_in_pack_object_header: respect output buffer length
+      pack.h: define largest possible encoded object size
+      do not check odb_mkstemp return value for errors
+      odb_mkstemp: write filename into strbuf
+      odb_mkstemp: use git_path_buf
+      Makefile: detect errors in running spatch
+      difftool: avoid strcpy
+      diff: avoid fixed-size buffer for patch-ids
+      tag: use strbuf to format tag header
+      fetch: use heap buffer to format reflog
+      avoid using fixed PATH_MAX buffers for refs
+      avoid using mksnpath for refs
+      create_branch: move msg setup closer to point of use
+      create_branch: use xstrfmt for reflog message
+      name-rev: replace static buffer with strbuf
+      receive-pack: print --pack-header directly into argv array
+      replace unchecked snprintf calls with heap buffers
+      combine-diff: replace malloc/snprintf with xstrfmt
+      convert unchecked snprintf into xsnprintf
+      transport-helper: replace checked snprintf with xsnprintf
+      gc: replace local buffer with git_path
+      daemon: use an argv_array to exec children
+      sha1_loose_object_info: return error for corrupted objects
+      index-pack: detect local corruption in collision check
+      connect.c: handle errors from split_cmdline
+
+Johannes Schindelin (20):
+      git_connect(): factor out SSH variant handling
+      rebase--helper: add a builtin helper for interactive rebases
+      rebase -i: use the rebase--helper builtin
+      rev-parse: fix several options when running in a subdirectory
+      t7006: replace dubious test
+      setup_git_directory(): use is_dir_sep() helper
+      setup: prepare setup_discovered_git_dir() for the root directory
+      setup_git_directory_1(): avoid changing global state
+      setup: introduce the discover_git_directory() function
+      setup: make read_early_config() reusable
+      read_early_config(): avoid .git/config hack when unneeded
+      read_early_config(): really discover .git/
+      t1309: test read_early_config()
+      setup_git_directory_gently_1(): avoid die()ing
+      t1309: document cases where we would want early config not to die()
+      setup.c: mention unresolved problems
+      t7504: document regression: reword no longer calls commit-msg
+      sequencer: make commit options more extensible
+      sequencer: allow the commit-msg hooks to run during a `reword`
+      difftool: fix use-after-free
+
+Jonathan Nieder (1):
+      has_sha1_file: don't bother if we are not in a repository
+
+Junio C Hamano (41):
+      merge: drop 'git merge <message> HEAD <commit>' syntax
+      connect: rename tortoiseplink and putty variables
+      commit.c: use strchrnul() to scan for one line
+      attr.c: use strchrnul() to scan for one line
+      attr.c: update a stale comment on "struct match_attr"
+      attr.c: explain the lack of attr-name syntax check in parse_attr()
+      attr.c: complete a sentence in a comment
+      attr.c: mark where #if DEBUG ends more clearly
+      attr.c: simplify macroexpand_one()
+      attr.c: tighten constness around "git_attr" structure
+      attr.c: plug small leak in parse_attr_line()
+      attr.c: add push_stack() helper
+      attr.c: outline the future plans by heavily commenting
+      attr: rename function and struct related to checking attributes
+      attr: (re)introduce git_check_attr() and struct attr_check
+      attr: convert git_all_attrs() to use "struct attr_check"
+      attr: convert git_check_attrs() callers to use the new API
+      attr: retire git_check_attrs() API
+      attr: change validity check for attribute names to use positive logic
+      ref-filter: resurrect "strip" as a synonym to "lstrip"
+      connect.c: stop conflating ssh command names and overrides
+      First batch after 2.12
+      branch: honor --abbrev/--no-abbrev in --list mode
+      Second batch after 2.12
+      Third batch after 2.12
+      Fourth batch after 2.12
+      Makefile: make DC_SHA1 the default
+      Fifth batch for 2.13
+      Sixth batch for 2.13
+      tests: lint for run-away here-doc
+      branch doc: update description for `--list`
+      Seventh batch for 2.13
+      sha1dc: avoid CPP macro collisions
+      Eighth batch for 2.13
+      Ninth batch for 2.13
+      Tenth batch for 2.13
+      remote.[ch]: parse_push_cas_option() can be static
+      contrib/git-resurrect.sh: do not write \t for HT in sed scripts
+      Eleventh batch for 2.13
+      Twelfth batch for 2.13
+      Git 2.13-rc0
+
+Karthik Nayak (20):
+      ref-filter: implement %(if), %(then), and %(else) atoms
+      ref-filter: include reference to 'used_atom' within 'atom_value'
+      ref-filter: implement %(if:equals=<string>) and %(if:notequals=<string>)
+      ref-filter: modify "%(objectname:short)" to take length
+      ref-filter: move get_head_description() from branch.c
+      ref-filter: introduce format_ref_array_item()
+      ref-filter: make %(upstream:track) prints "[gone]" for invalid upstreams
+      ref-filter: add support for %(upstream:track,nobracket)
+      ref-filter: make "%(symref)" atom work with the ':short' modifier
+      ref-filter: introduce refname_atom_parser_internal()
+      ref-filter: introduce refname_atom_parser()
+      ref-filter: make remote_ref_atom_parser() use refname_atom_parser_internal()
+      ref-filter: rename the 'strip' option to 'lstrip'
+      ref-filter: Do not abruptly die when using the 'lstrip=<N>' option
+      ref-filter: modify the 'lstrip=<N>' option to work with negative '<N>'
+      ref-filter: add an 'rstrip=<N>' option to atoms which deal with refnames
+      ref-filter: allow porcelain to translate messages in the output
+      branch, tag: use porcelain output
+      branch: use ref-filter printing APIs
+      branch: implement '--format' option
+
+Kevin Willford (2):
+      name-hash: fix buffer overrun
+      t3008: skip lazy-init test on a single-core box
+
+Kyle Meyer (10):
+      delete_ref: accept a reflog message argument
+      update-ref: pass reflog message to delete_ref()
+      rename_ref: replace empty message in HEAD's log
+      branch: record creation of renamed branch in HEAD's log
+      t1400: rename test descriptions to be unique
+      t1400: set core.logAllRefUpdates in "logged by touch" tests
+      t1400: use test_path_is_* helpers
+      t1400: remove a set of unused output files
+      t1400: use test_when_finished for cleanup
+      doc/revisions: remove brackets from rev^-n shorthand
+
+Lars Schneider (1):
+      travis-ci: build and test Git on Windows
+
+Linus Torvalds (3):
+      pathspec magic: add '^' as alias for '!'
+      pathspec: don't error out on all-exclusionary pathspec patterns
+      mailinfo: fix in-body header continuations
+
+Luke Diamand (3):
+      git-p4: add failing test for name-rev rather than symbolic-ref
+      git-p4: add read_pipe_text() internal function
+      git-p4: don't use name-rev to get current branch
+
+Matt McCutchen (1):
+      merge-recursive: make "CONFLICT (rename/delete)" message show both paths
+
+Michael Haggerty (32):
+      files_rename_ref(): tidy up whitespace
+      refname_is_safe(): correct docstring
+      t5505: use "for-each-ref" to test for the non-existence of references
+      safe_create_leading_directories_const(): preserve errno
+      safe_create_leading_directories(): set errno on SCLD_EXISTS
+      raceproof_create_file(): new function
+      lock_ref_sha1_basic(): inline constant
+      lock_ref_sha1_basic(): use raceproof_create_file()
+      rename_tmp_log(): use raceproof_create_file()
+      rename_tmp_log(): improve error reporting
+      log_ref_write(): inline function
+      log_ref_setup(): separate code for create vs non-create
+      log_ref_setup(): improve robustness against races
+      log_ref_setup(): pass the open file descriptor back to the caller
+      log_ref_write_1(): don't depend on logfile argument
+      log_ref_setup(): manage the name of the reflog file internally
+      log_ref_write_1(): inline function
+      delete_ref_loose(): derive loose reference path from lock
+      delete_ref_loose(): inline function
+      try_remove_empty_parents(): rename parameter "name" -> "refname"
+      try_remove_empty_parents(): don't trash argument contents
+      try_remove_empty_parents(): teach to remove parents of reflogs, too
+      files_transaction_commit(): clean up empty directories
+      refs: reorder some function definitions
+      refs: make some ref_store lookup functions private
+      refs: remove some unnecessary handling of submodule == ""
+      register_ref_store(): new function
+      refs: store submodule ref stores in a hashmap
+      refs: push the submodule attribute down
+      base_ref_store_init(): remove submodule argument
+      files_ref_store::submodule: use NULL for the main repository
+      read_loose_refs(): read refs using resolve_ref_recursively()
+
+Michael J Gruber (3):
+      git-prompt: add a describe style for any tags
+      describe: localize debug output fully
+      l10n: de: translate describe debug terms
+
+Michael Rappazzo (1):
+      rev-parse tests: add tests executed from a subdirectory
+
+Mike Hommey (1):
+      notes: do not break note_tree structure in note_tree_consolidate()
+
+Mostyn Bramley-Moore (1):
+      Documentation: document elements in "ls-files -s" output in order
+
+Nguyễn Thái Ngọc Duy (33):
+      attr: support quoting pathname patterns in C style
+      clean: use warning_errno() when appropriate
+      config.txt: clarify multiple key values in include.path
+      config.txt: reflow the second include.path paragraph
+      config: add conditional include
+      refs.h: add forward declaration for structs used in this file
+      files-backend: make files_log_ref_write() static
+      files-backend.c: delete dead code in files_ref_iterator_begin()
+      files-backend: delete dead code in files_init_db()
+      files-backend: add and use files_packed_refs_path()
+      files-backend: make sure files_rename_ref() always reach the end
+      files-backend: convert git_path() to strbuf_git_path()
+      files-backend: move "logs/" out of TMP_RENAMED_LOG
+      files-backend: add and use files_reflog_path()
+      files-backend: add and use files_ref_path()
+      files-backend: remove the use of git_path()
+      refs.c: introduce get_main_ref_store()
+      refs: rename lookup_ref_store() to lookup_submodule_ref_store()
+      refs.c: flatten get_ref_store() a bit
+      refs.c: kill register_ref_store(), add register_submodule_ref_store()
+      refs.c: make get_main_ref_store() public and use it
+      path.c: move some code out of strbuf_git_path_submodule()
+      refs: move submodule code out of files-backend.c
+      files-backend: replace submodule_allowed check in files_downcast()
+      refs: rename get_ref_store() to get_submodule_ref_store() and make it public
+      refs: add new ref-store api
+      refs: new transaction related ref-store api
+      files-backend: avoid ref api targeting main ref store
+      refs: delete pack_refs() in favor of refs_pack_refs()
+      t/helper: add test-ref-store to test ref-store functions
+      t1405: some basic tests on main ref store
+      t1406: new tests for submodule ref store
+      refs.h: add a note about sorting order of for_each_ref_*
+
+Patrick Steinhardt (5):
+      mailmap: add Patrick Steinhardt's work address
+      urlmatch: enable normalization of URLs with globs
+      urlmatch: split host and port fields in `struct url_info`
+      urlmatch: include host in urlmatch ranking
+      urlmatch: allow globbing for the URL host part
+
+Quentin Pradet (1):
+      git-bisect.txt: add missing word
+
+Ralf Thielow (2):
+      submodule.c: add missing ' in error messages
+      git-add--interactive.perl: add missing dot in a message
+
+Ramsay Jones (1):
+      name-hash: add test-lazy-init-name-hash to .gitignore
+
+René Scharfe (4):
+      log-tree: factor out fmt_output_email_subject()
+      pretty: use fmt_output_email_subject()
+      strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD
+      test-read-cache: setup git dir
+
+SZEDER Gábor (41):
+      completion: improve __git_refs()'s in-code documentation
+      completion tests: don't add test cruft to the test repository
+      completion tests: make the $cur variable local to the test helper functions
+      completion tests: consolidate getting path of current working directory
+      completion tests: check __gitdir()'s output in the error cases
+      completion tests: add tests for the __git_refs() helper function
+      completion: ensure that the repository path given on the command line exists
+      completion: fix most spots not respecting 'git --git-dir=<path>'
+      completion: respect 'git --git-dir=<path>' when listing remote refs
+      completion: list refs from remote when remote's name matches a directory
+      completion: don't list 'HEAD' when trying refs completion outside of a repo
+      completion: list short refs from a remote given as a URL
+      completion: don't offer commands when 'git --opt' needs an argument
+      completion: fix completion after 'git -C <path>'
+      rev-parse: add '--absolute-git-dir' option
+      completion: respect 'git -C <path>'
+      completion: don't use __gitdir() for git commands
+      completion: consolidate silencing errors from git commands
+      completion: don't guard git executions with __gitdir()
+      completion: extract repository discovery from __gitdir()
+      completion: cache the path to the repository
+      completion: restore removed line continuating backslash
+      completion: remove redundant __gitcomp_nl() options from _git_commit()
+      completion: wrap __git_refs() for better option parsing
+      completion: support completing full refs after '--option=refs/<TAB>'
+      completion: support completing fully qualified non-fast-forward refspecs
+      completion: support excluding full refs
+      completion: don't disambiguate tags and branches
+      completion: don't disambiguate short refs
+      completion: let 'for-each-ref' and 'ls-remote' filter matching refs
+      completion: let 'for-each-ref' strip the remote name from remote branches
+      completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
+      completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
+      completion: fill COMPREPLY directly when completing refs
+      completion: fill COMPREPLY directly when completing fetch refspecs
+      completion: speed up branch and tag completion
+      refs.c: use skip_prefix() in prettify_refname()
+      completion: put matching ctags symbol names directly into COMPREPLY
+      completion: extract completing ctags symbol names into helper function
+      completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
+      t6500: wait for detached auto gc at the end of the test script
+
+Segev Finer (2):
+      connect: handle putty/plink also in GIT_SSH_COMMAND
+      connect: Add the envvar GIT_SSH_VARIANT and ssh.variant config
+
+Stefan Beller (32):
+      Documentation: fix a typo
+      submodule init: warn about falling back to a local path
+      rev-parse: add --show-superproject-working-tree
+      connect_work_tree_and_git_dir: safely create leading directories
+      lib-submodule-update.sh: reorder create_lib_submodule_repo
+      lib-submodule-update.sh: do not use ./. as submodule remote
+      lib-submodule-update: teach test_submodule_content the -C <dir> flag
+      lib-submodule-update.sh: replace sha1 by hash
+      lib-submodule-update.sh: define tests for recursing into submodules
+      make is_submodule_populated gently
+      update submodules: add submodule config parsing
+      update submodules: add a config option to determine if submodules are updated
+      submodules: introduce check to see whether to touch a submodule
+      update submodules: move up prepare_submodule_repo_env
+      submodule.c: get_super_prefix_or_empty
+      update submodules: add submodule_move_head
+      unpack-trees: pass old oid to verify_clean_submodule
+      unpack-trees: check if we can perform the operation for submodules
+      entry.c: create submodules when interesting
+      builtin/checkout: add --recurse-submodules switch
+      builtin/read-tree: add --recurse-submodules switch
+      builtin/describe: introduce --broken flag
+      submodule.c: use argv_array in is_submodule_modified
+      submodule.c: factor out early loop termination in is_submodule_modified
+      submodule.c: convert is_submodule_modified to use strbuf_getwholeline
+      submodule.c: port is_submodule_modified to use porcelain 2
+      submodule.c: stricter checking for submodules in is_submodule_modified
+      short status: improve reporting for submodule changes
+      unpack-trees.c: align submodule error message to the other error messages
+      submodule.c: correctly handle nested submodules in is_submodule_modified
+      diff: submodule inline diff to initialize env array.
+      submodule--helper: fix typo in is_active error message
+
+Thomas Gummerer (9):
+      stash: introduce push verb
+      stash: add test for the create command line arguments
+      stash: refactor stash_create
+      stash: teach 'push' (and 'create_stash') to honor pathspec
+      stash: use stash_push for no verb form
+      stash: allow pathspecs in the no verb form
+      stash: don't show internal implementation details
+      stash: pass the pathspec argument to git reset
+      stash: keep untracked files intact in stash -k
+
+Valery Tolstov (1):
+      submodule--helper.c: remove duplicate code
+
+Vegard Nossum (1):
+      xdiff -W: relax end-of-file function detection
+
+brian m. carlson (41):
+      hex: introduce parse_oid_hex
+      builtin/commit: convert to struct object_id
+      builtin/diff-tree: convert to struct object_id
+      builtin/describe: convert to struct object_id
+      builtin/fast-export: convert to struct object_id
+      builtin/fmt-merge-message: convert to struct object_id
+      builtin/grep: convert to struct object_id
+      builtin/branch: convert to struct object_id
+      builtin/clone: convert to struct object_id
+      builtin/merge: convert to struct object_id
+      Convert remaining callers of resolve_refdup to object_id
+      builtin/replace: convert to struct object_id
+      reflog-walk: convert struct reflog_info to struct object_id
+      refs: convert each_reflog_ent_fn to struct object_id
+      refs: simplify parsing of reflog entries
+      sha1_file: introduce an nth_packed_object_oid function
+      Convert object iteration callbacks to struct object_id
+      builtin/merge-base: convert to struct object_id
+      wt-status: convert to struct object_id
+      hash.h: move SHA-1 implementation selection into a header file
+      Define new hash-size constants for allocating memory
+      Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
+      Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
+      builtin/diff: convert to struct object_id
+      builtin/pull: convert portions to struct object_id
+      builtin/receive-pack: fix incorrect pointer arithmetic
+      builtin/receive-pack: convert portions to struct object_id
+      fsck: convert init_skiplist to struct object_id
+      parse-options-cb: convert sha1_array_append caller to struct object_id
+      test-sha1-array: convert most code to struct object_id
+      sha1_name: convert struct disambiguate_state to object_id
+      sha1_name: convert disambiguate_hint_fn to take object_id
+      submodule: convert check_for_new_submodule_commits to object_id
+      builtin/pull: convert to struct object_id
+      sha1-array: convert internal storage for struct sha1_array to object_id
+      Make sha1_array_append take a struct object_id *
+      Convert remaining callers of sha1_array_lookup to object_id
+      Convert sha1_array_lookup to take struct object_id
+      Convert sha1_array_for_each_unique and for_each_abbrev to object_id
+      Rename sha1_array to oid_array
+      Documentation: update and rename api-sha1-array.txt
+
+Ævar Arnfjörð Bjarmason (25):
+      tag doc: move the description of --[no-]merged earlier
+      tag doc: split up the --[no-]merged documentation
+      tag doc: reword --[no-]merged to talk about commits, not tips
+      ref-filter: make combining --merged & --no-merged an error
+      doc/SubmittingPatches: clarify the casing convention for "area: change..."
+      t/README: link to metacpan.org, not search.cpan.org
+      t/README: change "Inside <X> part" to "Inside the <X> part"
+      ref-filter: add test for --contains on a non-commit
+      tag: remove a TODO item from the test suite
+      tag tests: fix a typo in a test description
+      for-each-ref: partly change <object> to <commit> in help
+      branch doc: change `git branch <pattern>` to use `<branchname>`
+      tag: add more incompatibles mode tests
+      parse-options: add OPT_NONEG to the "contains" option
+      tag: change misleading --list <pattern> documentation
+      tag: implicitly supply --list given another list-like option
+      tag: change --point-at to default to HEAD
+      ref-filter: add --no-contains option to tag/branch/for-each-ref
+      ref-filter: reflow recently changed branch/tag/for-each-ref docs
+      tag: add tests for --with and --without
+      t/README: clarify the test_have_prereq documentation
+      doc/SubmittingPatches: show how to get a CLI commit summary
+      rev-parse: match @{upstream}, @{u} and @{push} case-insensitively
+      perl: regenerate perl.mak if perl -V changes
+      grep: plug a trivial memory leak
+
+
+Version v2.12.5; changes since v2.12.4:
+---------------------------------------
+
+Jeff King (3):
+      shell: drop git-cvsserver support by default
+      archimport: use safe_pipe_capture for user input
+      cvsimport: shell-quote variable used in backticks
+
+Junio C Hamano (5):
+      cvsserver: move safe_pipe_capture() to the main package
+      cvsserver: use safe_pipe_capture for `constant commands` as well
+      Git 2.10.5
+      Git 2.11.4
+      Git 2.12.5
+
+joernchen (1):
+      cvsserver: use safe_pipe_capture instead of backticks
+
+
+Version v2.12.4; changes since v2.12.3:
+---------------------------------------
+
+Jeff King (5):
+      t/lib-proto-disable: restore protocol.allow after config tests
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (7):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+      Git 2.10.4
+      Git 2.11.3
+      Git 2.12.4
+
+
+Version v2.12.3; changes since v2.12.2:
+---------------------------------------
+
+Devin J. Pohly (4):
+      t7003: ensure --prune-empty can prune root commit
+      t7003: ensure --prune-empty removes entire branch when applicable
+      filter-branch: fix --prune-empty on parentless commits
+      p7000: add test for filter-branch with --prune-empty
+
+Eric Wong (2):
+      http: inform about alternates-as-redirects behavior
+      http: release strbuf on disabled alternates
+
+Jeff King (32):
+      pack-objects: enforce --depth limit in reused deltas
+      pack-objects: convert recursion to iteration in break_delta_chain()
+      ident: mark error messages for translation
+      ident: handle NULL email when complaining of empty name
+      ident: reject all-crud ident name
+      ident: do not ignore empty config name/email
+      parse_config_key: use skip_prefix instead of starts_with
+      parse_config_key: allow matching single-level config
+      parse_hide_refs_config: tell parse_config_key we don't want a subsection
+      interpret_branch_name(): handle auto-namelen for @{-1}
+      interpret_branch_name: move docstring to header file
+      strbuf_branchname: drop return value
+      strbuf_branchname: add docstring
+      interpret_branch_name: allow callers to restrict expansions
+      t3204: test git-branch @-expansion corner cases
+      branch: restrict @-expansions when deleting
+      strbuf_check_ref_format(): expand only local branches
+      checkout: restrict @-expansions when finding branch
+      t/perf: use $MODERN_GIT for all repo-copying steps
+      t/perf: add fallback for pre-bin-wrappers versions of git
+      t: add an interoperability test harness
+      t/interop: add test of old clients against modern git-daemon
+      rev-parse: use skip_prefix when parsing options
+      rev-parse: add helper for parsing "--foo/--foo="
+      rev-parse: simplify parsing of ref options
+      move odb_* declarations out of git-compat-util.h
+      sha1_file.c: make pack-name helper globally accessible
+      odb_pack_keep(): stop generating keepfile name
+      replace snprintf with odb_pack_name()
+      index-pack: make pointer-alias fallbacks safer
+      run-command: fix segfault when cleaning forked async process
+      shell: disallow repo names beginning with dash
+
+Jonathan Tan (1):
+      t/perf: export variable used in other blocks
+
+Junio C Hamano (12):
+      t5615: fix a here-doc syntax error
+      t7406: correct test case for submodule-update initial population
+      Prepare for 2.12.3
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+      Git 2.9.4
+      Git 2.10.3
+      Git 2.11.2
+      Git 2.12.3
+
+Kyle Meyer (1):
+      doc/config: grammar fixes for core.{editor,commentChar}
+
+Matt McCutchen (3):
+      fetch-pack: move code to report unmatched refs to a function
+      fetch_refs_via_pack: call report_unmatched_refs
+      fetch-pack: add specific error for fetching an unadvertised object
+
+René Scharfe (7):
+      cocci: use ALLOC_ARRAY
+      strbuf: add strbuf_add_real_path()
+      blame: move blame_entry duplication to add_blame_entry()
+      receive-pack: simplify run_update_post_hook()
+      http-push: don't check return value of lookup_unknown_object()
+      revision: remove declaration of path_name()
+      shortlog: don't set after_subject to an empty string
+
+SZEDER Gábor (3):
+      tests: create an interactive gdb session with the 'debug' helper
+      tests: make the 'test_pause' helper work in non-verbose mode
+      pickaxe: fix segfault with '-S<...> --pickaxe-regex'
+
+Santiago Torres (1):
+      t7004, t7030: fix here-doc syntax errors
+
+Stefan Beller (3):
+      refs: parse_hide_refs_config to use parse_config_key
+      wt-status: simplify by using for_each_string_list_item
+      t3600: rename test to describe its functionality
+
+Ævar Arnfjörð Bjarmason (3):
+      cvs tests: skip tests that call "cvs commit" when running as root
+      gitweb tests: change confusing "skip_all" phrasing
+      gitweb tests: skip tests when we don't have Time::HiRes
+
+
+Version v2.12.2; changes since v2.12.1:
+---------------------------------------
+
+David Turner (1):
+      gc: ignore old gc.log files
+
+Eric Wong (1):
+      README: create HTTP/HTTPS links from URLs in Markdown
+
+Jeff King (20):
+      grep: move thread initialization a little lower
+      grep: re-order rev-parsing loop
+      grep: fix "--" rev/pathspec disambiguation
+      grep: avoid resolving revision names in --no-index case
+      grep: do not diagnose misspelt revs with --no-index
+      show-branch: drop head_len variable
+      show-branch: store resolved head in heap buffer
+      remote: avoid reading $GIT_DIR config in non-repo
+      grep: treat revs the same for --untracked as for --no-index
+      show-branch: use skip_prefix to drop magic numbers
+      tempfile: set errno to a known value before calling ferror()
+      t6300: avoid creating refs/heads/HEAD
+      ewah: fix eword_t/uint64_t confusion
+      receive-pack: fix deadlock when we cannot create tmpdir
+      send-pack: extract parsing of "unpack" response
+      send-pack: use skip_prefix for parsing unpack status
+      send-pack: improve unpack-status error messages
+      send-pack: read "unpack" status even on pack-objects failure
+      send-pack: report signal death of pack-objects
+      http-walker: fix buffer underflow processing remote alternates
+
+Johan Hovold (1):
+      send-email: only allow one address per body tag
+
+Jonathan Nieder (1):
+      remote helpers: avoid blind fall-back to ".git" when setting GIT_DIR
+
+Jonathan Tan (2):
+      grep: do not unnecessarily query repo for "--"
+      upload-pack: report "not our ref" to client
+
+Junio C Hamano (5):
+      config: move a few helper functions up
+      config: use git_config_parse_key() in git_config_parse_parameter()
+      diff: do not short-cut CHECK_SIZE_ONLY check in diff_populate_filespec()
+      Prepare for 2.12.2
+      Git 2.12.2
+
+Michael J Gruber (2):
+      git-status: make porcelain more robust
+      mailmap: use Michael J Gruber's new address
+
+Nguyễn Thái Ngọc Duy (1):
+      git-commit.txt: list post-rewrite in HOOKS section
+
+Patrick Steinhardt (2):
+      docs/diffcore: fix grammar in diffcore-rename header
+      docs/diffcore: unquote "Complete Rewrites" in headers
+
+Ramsay Jones (2):
+      wrapper.c: remove unused git_mkstemp() function
+      wrapper.c: remove unused gitmkstemps() function
+
+René Scharfe (3):
+      sha1_file: release fallback base's memory in unpack_entry()
+      commit: be more precise when searching for headers
+      commit: don't check for space twice when looking for header
+
+Ross Lagerwall (1):
+      remote: ignore failure to remove missing branch.<name>.merge
+
+Sebastian Schuberth (1):
+      contrib: git-remote-{bzr,hg} placeholders don't need Python
+
+Stefan Beller (1):
+      submodule-config: correct error reporting for invalid ignore value
+
+Ævar Arnfjörð Bjarmason (2):
+      doc: change erroneous --[no]-whatever into --[no-]whatever
+      push: mention "push.default=tracking" in the documentation
+
+
+Version v2.12.1; changes since v2.12.0:
+---------------------------------------
+
+Allan Xavier (1):
+      line-log.c: prevent crash during union of too many ranges
+
+Jeff Hostetler (1):
+      mingw: use OpenSSL's SHA-1 routines
+
+Jeff King (3):
+      http: restrict auth methods to what the server advertises
+      http: add an "auto" mode for http.emptyauth
+      add--interactive: fix missing file prompt for patch mode with "-i"
+
+Johannes Schindelin (3):
+      Travis: also test on 32-bit Linux
+      t1501: demonstrate NULL pointer access with invalid GIT_WORK_TREE
+      real_pathdup(): fix callsites that wanted it to die on error
+
+Jonathan Tan (1):
+      http: attempt updating base URL only if no error
+
+Junio C Hamano (2):
+      Preparing for 2.12.1
+      Git 2.12.1
+
+Maxim Moseychuk (2):
+      stop_progress_msg: convert xsnprintf to xstrfmt
+      bisect_next_all: convert xsnprintf to xstrfmt
+
+Vegard Nossum (1):
+      line-log: use COPY_ARRAY to fix mis-sized memcpy
+
+
+Version v2.12.0; changes since v2.12.0-rc2:
+-------------------------------------------
+
+Alexander Shopov (1):
+      l10n: bg:  Updated Bulgarian translation (2913t+0f+0u)
+
+Anthony Ramine (1):
+      l10n: fr.po: Fix a typo in the French translation
+
+Changwoo Ryu (2):
+      l10n: ko.po: Update Korean translation
+      l10n: ko.po: Update Korean translation
+
+Damien Regad (1):
+      git-check-ref-format: clarify documentation for --normalize
+
+Eric Wong (1):
+      git-svn: escape backslashes in refnames
+
+Grégoire Paris (1):
+      init: document dotfiles exclusion on template copy
+
+Jean-Noël Avila (2):
+      l10n: fr.po: v2.11-rc0 first round
+      l10n: fr.po: v2.12.0 round 2 3139t
+
+Jiang Xin (3):
+      l10n: git.pot: v2.12.0 round 1 (239 new, 15 removed)
+      l10n: git.pot: v2.12.0 round 2 (2 new)
+      l10n: zh_CN: for git v2.12.0 l10n round 2
+
+Joachim Jablon (2):
+      l10n: fr.po: Fix typos
+      l10n: fr.po: Remove gender specific adjectives
+
+Jordi Mas (4):
+      l10n: New Catalan translation maintainer
+      l10n: fixes to Catalan translation
+      l10n: update Catalan translation
+      l10n: Update Catalan translation
+
+Junio C Hamano (1):
+      Git 2.12
+
+Patrick Steinhardt (1):
+      docs/git-gc: fix default value for `--aggressiveDepth`
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (3137t0f0u)
+      l10n: sv.po: Update Swedish translation (3139t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: translate 241 messages
+      git add -i: replace \t with blanks in the help message
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.11.0 l10n
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: Updated Vietnamese translation (3137t)
+      l10n: vi.po (3139t): Updated 2 new messages for rc1
+
+Vasco Almeida (1):
+      l10n: pt_PT: update Portuguese tranlation
+
+brian m. carlson (2):
+      Documentation: correctly spell git worktree --detach
+      Documentation: use brackets for optional arguments
+
+
+Version v2.12.0-rc2; changes since v2.12.0-rc1:
+-----------------------------------------------
+
+Cornelius Weig (7):
+      completion: teach submodule subcommands to complete options
+      completion: add subcommand completion for rerere
+      completion: improve bash completion for git-add
+      completion: teach ls-remote to complete options
+      completion: teach replace to complete options
+      completion: teach remote subcommands to complete options
+      completion: recognize more long-options
+
+David Pursehouse (1):
+      config.txt: fix formatting of submodule.alternateErrorStrategy section
+
+Jacob Keller (1):
+      reset: add an example of how to split a commit into two
+
+Jeff King (3):
+      docs/gitremote-helpers: fix unbalanced quotes
+      docs/git-submodule: fix unbalanced quote
+      tempfile: avoid "ferror | fclose" trick
+
+Johannes Schindelin (1):
+      mingw: make stderr unbuffered again
+
+Junio C Hamano (4):
+      A bit more for -rc2
+      Revert "reset: add an example of how to split a commit into two"
+      Hopefully the final batch of mini-topics before the final
+      Git 2.12-rc2
+
+Lars Schneider (1):
+      git-p4: fix git-p4.pathEncoding for removed files
+
+René Scharfe (9):
+      add SWAP macro
+      apply: use SWAP macro
+      use SWAP macro
+      diff: use SWAP macro
+      graph: use SWAP macro
+      cocci: detect useless free(3) calls
+      ls-files: pass prefix length explicitly to prune_cache()
+      ls-files: move only kept cache entries in prune_cache()
+      rm: reuse strbuf for all remove_dir_recursively() calls, again
+
+Stefan Beller (4):
+      submodule documentation: add options to the subcommand
+      submodule update documentation: don't repeat ourselves
+      push options: pass push options to the transport helper
+      Documentation: unify bottom "part of git suite" lines
+
+Thomas Gummerer (1):
+      Documentation/stash: remove mention of git reset --hard
+
+
+Version v2.12.0-rc1; changes since v2.12.0-rc0:
+-----------------------------------------------
+
+Cornelius Weig (2):
+      doc: add doc for git-push --recurse-submodules=only
+      completion: add completion for --recurse-submodules=only
+
+David Aguilar (3):
+      difftool: fix bug when printing usage
+      t7800: simplify basic usage test
+      t7800: replace "wc -l" with test_line_count
+
+Denton Liu (1):
+      Document the --no-gui option in difftool
+
+Eric Wong (1):
+      completion: fix git svn authorship switches
+
+Jacob Keller (1):
+      reset: add an example of how to split a commit into two
+
+Jeff King (1):
+      diff: print line prefix for --name-only output
+
+Junio C Hamano (1):
+      Git 2.12-rc1
+
+Nguyễn Thái Ngọc Duy (1):
+      rev-list-options.txt: update --all about HEAD
+
+Patrick Steinhardt (1):
+      worktree: fix option descriptions for `prune`
+
+René Scharfe (2):
+      p5302: create repositories for index-pack results explicitly
+      dir: avoid allocation in fill_directory()
+
+
+Version v2.12.0-rc0; changes since v2.11.4:
+-------------------------------------------
+
+Alex Henrie (3):
+      bisect: improve English grammar of not-ancestors message
+      receive-pack: improve English grammar of denyCurrentBranch message
+      clone,fetch: explain the shallow-clone option a little more clearly
+
+Brandon Williams (38):
+      real_path: resolve symlinks by hand
+      real_path: convert real_path_internal to strbuf_realpath
+      real_path: create real_pathdup
+      real_path: have callers use real_pathdup and strbuf_realpath
+      lib-proto-disable: variable name fix
+      http: always warn if libcurl version is too old
+      transport: add protocol policy config option
+      http: create function to get curl allowed protocols
+      transport: add from_user parameter to is_transport_allowed
+      transport: reformat flag #defines to be more readable
+      submodules: add RECURSE_SUBMODULES_ONLY value
+      push: add option to push only submodules
+      submodules: add helper to determine if a submodule is populated
+      submodules: add helper to determine if a submodule is initialized
+      submodules: load gitmodules file from commit sha1
+      grep: add submodules as a grep source type
+      grep: optionally recurse into submodules
+      grep: enable recurse-submodules to work on <tree> objects
+      grep: search history of moved submodules
+      mv: remove use of deprecated 'get_pathspec()'
+      dir: remove struct path_simplify
+      dir: convert fill_directory to use the pathspec struct interface
+      ls-tree: convert show_recursive to use the pathspec struct interface
+      pathspec: remove the deprecated get_pathspec function
+      pathspec: copy and free owned memory
+      pathspec: remove unused variable from unsupported_magic
+      pathspec: always show mnemonic and name in unsupported_magic
+      pathspec: simpler logic to prefix original pathspec elements
+      pathspec: factor global magic into its own function
+      pathspec: create parse_short_magic function
+      pathspec: create parse_long_magic function
+      pathspec: create parse_element_magic helper
+      pathspec: create strip submodule slash helpers
+      pathspec: small readability changes
+      pathspec: rename prefix_pathspec to init_pathspec_item
+      real_path: prevent redefinition of MAXSYMLINKS
+      real_path: set errno when max number of symlinks is exceeded
+      index: improve constness for reading blob data
+
+Chris Packham (3):
+      merge: add '--continue' option as a synonym for 'git commit'
+      completion: add --continue option for merge
+      merge: ensure '--abort' option takes no arguments
+
+Cornelius Weig (5):
+      doc: clarify distinction between sign-off and pgp-signing
+      config: add markup to core.logAllRefUpdates doc
+      refs: add option core.logAllRefUpdates = always
+      update-ref: add test cases for bare repository
+      doc: add note about ignoring '--no-create-reflog'
+
+David Aguilar (1):
+      gitk: Remove translated message from comments
+
+Dimitriy Ryazantcev (1):
+      gitk: ru.po: Update Russian translation
+
+Elia Pinto (2):
+      builtin/commit.c: remove the PATH_MAX limitation via dynamic allocation
+      builtin/commit.c: switch to strbuf, instead of snprintf()
+
+George Vanburgh (1):
+      git-p4: fix git-p4.mapUser on Windows
+
+Heiko Voigt (1):
+      help: improve is_executable() on Windows
+
+Igor Kushnir (1):
+      git-p4: do not pass '-r 0' to p4 commands
+
+Jacob Keller (2):
+      pretty: add %(trailers) format for displaying trailers of a commit message
+      ref-filter: add support to display trailers as part of contents
+
+Jeff King (25):
+      xdiff: drop XDL_FAST_HASH
+      http: respect protocol.*.allow=user for http-alternates
+      merge: mark usage error strings for translation
+      shortlog: test and document --committer option
+      Revert "vreportf: avoid intermediate buffer"
+      vreport: sanitize ASCII control chars
+      t1450: refactor loose-object removal
+      sha1_file: fix error message for alternate objects
+      t1450: test fsck of packed objects
+      sha1_file: add read_loose_object() function
+      fsck: parse loose object paths directly
+      fsck: detect trailing garbage in all object types
+      t1450: clean up sub-objects in duplicate-entry test
+      fsck: report trees as dangling
+      fsck: prepare dummy objects for --connectivity-check
+      fsck: tighten error-checks of "git fsck <head>"
+      fsck: do not fallback "git fsck <bogus>" to "git fsck"
+      fsck: check HAS_OBJ more consistently
+      clear_delta_base_cache(): don't modify hashmap while iterating
+      t1450: use "mv -f" within loose object directory
+      difftool: hack around -Wzero-length-format warning
+      fsck: move typename() printing to its own function
+      fsck: lazily load types under --connectivity-only
+      color_parse_mem: allow empty color spec
+      document behavior of empty color name
+
+Johannes Schindelin (50):
+      mingw: add a regression test for pushing to UNC paths
+      giteveryday: unbreak rendering with AsciiDoctor
+      sequencer: avoid unnecessary curly braces
+      sequencer: move "else" keyword onto the same line as preceding brace
+      sequencer: use a helper to find the commit message
+      sequencer: support a new action: 'interactive rebase'
+      sequencer (rebase -i): implement the 'noop' command
+      sequencer (rebase -i): implement the 'edit' command
+      sequencer (rebase -i): implement the 'exec' command
+      sequencer (rebase -i): learn about the 'verbose' mode
+      sequencer (rebase -i): write the 'done' file
+      sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
+      sequencer (rebase -i): implement the short commands
+      sequencer (rebase -i): write an author-script file
+      sequencer (rebase -i): allow continuing with staged changes
+      sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
+      sequencer (rebase -i): skip some revert/cherry-pick specific code path
+      sequencer (rebase -i): the todo can be empty when continuing
+      sequencer (rebase -i): update refs after a successful rebase
+      sequencer (rebase -i): leave a patch upon error
+      sequencer (rebase -i): implement the 'reword' command
+      sequencer (rebase -i): allow fast-forwarding for edit/reword
+      sequencer (rebase -i): refactor setting the reflog message
+      sequencer (rebase -i): set the reflog message consistently
+      sequencer (rebase -i): copy commit notes at end
+      sequencer (rebase -i): record interrupted commits in rewritten, too
+      sequencer (rebase -i): run the post-rewrite hook, if needed
+      sequencer (rebase -i): respect the rebase.autostash setting
+      sequencer (rebase -i): respect strategy/strategy_opts settings
+      sequencer (rebase -i): allow rescheduling commands
+      sequencer (rebase -i): implement the 'drop' command
+      sequencer (rebase -i): differentiate between comments and 'noop'
+      difftool: add a skeleton for the upcoming builtin
+      sequencer: update reading author-script
+      sequencer: use run_command() directly
+      sequencer (rebase -i): show only failed `git commit`'s output
+      sequencer (rebase -i): show only failed cherry-picks' output
+      sequencer (rebase -i): suggest --edit-todo upon unknown command
+      sequencer (rebase -i): show the progress
+      sequencer (rebase -i): write the progress into files
+      sequencer (rebase -i): write out the final message
+      difftool: implement the functionality in the builtin
+      difftool: retire the scripted version
+      remote rename: demonstrate a bogus "remote exists" bug
+      remote rename: more carefully determine whether a remote is configured
+      relink: retire the command
+      status: be prepared for not-yet-started interactive rebase
+      t/Makefile: add a rule to re-run previously-failed tests
+      test-lib: on FreeBSD, look for unzip(1) in /usr/local/bin/
+      mingw: allow hooks to be .exe files
+
+Johannes Sixt (1):
+      real_path: canonicalize directory separators in root parts
+
+Jonathan Tan (5):
+      trailer: be stricter in parsing separators
+      commit: make ignore_non_trailer take buf/len
+      trailer: avoid unnecessary splitting on lines
+      trailer: have function to describe trailer layout
+      sequencer: use trailer's trailer layout
+
+Junio C Hamano (25):
+      git_open(): untangle possible NOATIME and CLOEXEC interactions
+      git_open_cloexec(): use fcntl(2) w/ FD_CLOEXEC fallback
+      sha1_file: stop opening files with O_NOATIME
+      Start post 2.11 cycle
+      wt-status: implement opportunisitc index update correctly
+      hold_locked_index(): align error handling with hold_lockfile_for_update()
+      lockfile: LOCK_REPORT_ON_ERROR
+      Early fixes for 2.11.x series
+      First batch for 2.12
+      Second batch for 2.12
+      i18n: fix misconversion in shell scripts
+      t4201: make tests work with and without the MINGW prerequiste
+      Third batch for 2.12
+      diff: retire "compaction" heuristics
+      lockfile: move REPORT_ON_ERROR bit elsewhere
+      Fourth batch for 2.12
+      Fifth batch 2.12
+      RelNotes: drop merge-later comments for maint
+      Sixth batch for 2.12
+      Seventh batch for 2.12
+      show-ref: remove a stale comment
+      relink: really remove the command
+      Eighth batch for 2.12
+      Ninth batch for 2.12; almost ready for -rc0
+      Git 2.12-rc0
+
+Lars Schneider (2):
+      git-p4: add config to retry p4 commands; retry 3 times by default
+      git-p4: add diff/merge properties to .gitattributes for GitLFS files
+
+Linus Torvalds (1):
+      shortlog: group by committer information
+
+Lukas Puehringer (3):
+      gpg-interface, tag: add GPG_VERIFY_OMIT_STATUS flag
+      ref-filter: add function to print single ref_array_item
+      builtin/tag: add --format argument for tag -v
+
+Luke Diamand (2):
+      git-p4: support updating an existing shelved changelist
+      git-p4: support git worktrees
+
+Markus Hitter (3):
+      gitk: Turn off undo manager in the text widget
+      gitk: Remove closed file descriptors from $blobdifffd
+      gitk: Clear array 'commitinfo' on reload
+
+Matt McCutchen (1):
+      t0001: don't let a default ACL interfere with the umask test
+
+Nguyễn Thái Ngọc Duy (5):
+      tag, branch, for-each-ref: add --ignore-case for sorting and filtering
+      rebase: add --quit to cleanup rebase, leave everything else untouched
+      color.c: fix color_parse_mem() with value_len == 0
+      color.c: trim leading spaces in color_parse_mem()
+      log --graph: customize the graph lines with config log.graphColors
+
+Paul Mackerras (2):
+      gitk: Use explicit RGB green instead of "lime"
+      gitk: Update copyright notice to 2016
+
+Peter Law (1):
+      Completion: Add support for --submodule=diff
+
+Philip Oakley (3):
+      doc: gitk: remove gitview reference
+      doc: gitk: add the upstream repo location
+      doc: git-gui browser does not default to HEAD
+
+Pranit Bauva (2):
+      don't use test_must_fail with grep
+      t9813: avoid using pipes
+
+Ramsay Jones (1):
+      GIT-VERSION-GEN: do not force abbreviation length used by 'describe'
+
+René Scharfe (11):
+      compat: add qsort_s()
+      add QSORT_S
+      perf: add basic sort performance test
+      string-list: use QSORT_S in string_list_sort()
+      ref-filter: use QSORT_S in ref_array_sort()
+      abspath: add absolute_pathdup()
+      use absolute_pathdup()
+      use oid_to_hex_r() for converting struct object_id hashes to hex strings
+      use oidcpy() for copying hashes between instances of struct object_id
+      checkout: convert post_checkout_hook() to struct object_id
+      receive-pack: call string_list_clear() unconditionally
+
+Richard Hansen (16):
+      .mailmap: record canonical email for Richard Hansen
+      rev-parse doc: pass "--" to rev-parse in the --prefix example
+      t7610: update branch names to match test number
+      t7610: move setup code to the 'setup' test case
+      t7610: use test_when_finished for cleanup tasks
+      t7610: don't rely on state from previous test
+      t7610: run 'git reset --hard' after each test to clean up
+      t7610: delete some now-unnecessary 'git reset --hard' lines
+      t7610: always work on a test-specific branch
+      t7610: don't assume the checked-out commit
+      t7610: spell 'git reset --hard' consistently
+      t7610: add test case for rerere+mergetool+subdir bug
+      mergetool: take the "-O" out of $orderfile
+      mergetool: fix running in subdir when rerere enabled
+      diff: document behavior of relative diff.orderFile
+      diff: document the format of the -O (diff.orderFile) file
+
+Rogier Goossens (3):
+      gitk: Add a 'rename' option to the branch context menu
+      gitk: Allow checking out a remote branch
+      gitk: Include commit title in branch dialog
+
+SZEDER Gábor (9):
+      t7004-tag: delete unnecessary tags with test_when_finished
+      t7004-tag: use test_config helper
+      t7004-tag: add version sort tests to show prerelease reordering issues
+      versioncmp: pass full tagnames to swap_prereleases()
+      versioncmp: cope with common part overlapping with prerelease suffix
+      versioncmp: use earliest-longest contained suffix to determine sorting order
+      versioncmp: factor out helper for suffix matching
+      versioncmp: generalize version sort suffix reordering
+      .mailmap: update Gábor Szeder's email address
+
+Santiago Torres (3):
+      builtin/verify-tag: add --format to verify-tag
+      t/t7030-verify-tag: Add --format specifier tests
+      t/t7004-tag: Add --format specifier tests
+
+Satoshi Yasushima (1):
+      gitk: Fix Japanese translation for "marked commit"
+
+Stefan Beller (35):
+      submodule config: inline config_from_{name, path}
+      submodule-config: rename commit_sha1 to treeish_name
+      submodule-config: clarify parsing of null_sha1 element
+      submodule add: extend force flag to add existing repos
+      submodule: use absolute path for computing relative path connecting
+      submodule helper: support super prefix
+      test-lib-functions.sh: teach test_commit -C <dir>
+      worktree: check if a submodule uses worktrees
+      move connect_work_tree_and_git_dir to dir.h
+      submodule: add absorb-git-dir function
+      worktree: initialize return value for submodule_uses_worktrees
+      submodule.h: add extern keyword to functions
+      submodule: modernize ok_to_remove_submodule to use argv_array
+      submodule: rename and add flags to ok_to_remove_submodule
+      rm: absorb a submodules git dir before deletion
+      submodule.c: use GIT_DIR_ENVIRONMENT consistently
+      contrib: remove gitview
+      pathspec: give better message for submodule related pathspec error
+      unpack-trees: move checkout state into check_updates
+      unpack-trees: remove unneeded continue
+      unpack-trees: factor progress setup out of check_updates
+      read-tree: use OPT_BOOL instead of OPT_SET_INT
+      t1000: modernize style
+      t1001: modernize style
+      submodule absorbgitdirs: mention in docstring help
+      t7411: quote URLs
+      t7411: test lookup of uninitialized submodules
+      submodule update --init: display correct path from submodule
+      lib-submodule-update.sh: reduce use of subshell by using "git -C"
+      contrib: remove git-convert-objects
+      unpack-trees: support super-prefix option
+      setup: add gentle version of resolve_git_dir
+      cache.h: expose the dying procedure for reading gitlinks
+      submodule absorbing: fix worktree/gitdir pointers recursively for non-moves
+      submodule update: run custom update script for initial populating as well
+
+Stefan Dotterweich (1):
+      gitk: Fix missing commits when using -S or -G
+
+Steven Penny (2):
+      Makefile: POSIX windres
+      Makefile: put LIBS after LDFLAGS for imap-send
+
+Vasco Almeida (18):
+      gitk: Makefile: create install bin directory
+      gitk: Add Portuguese translation
+      Git.pm: add subroutines for commenting lines
+      i18n: add--interactive: mark strings for translation
+      i18n: add--interactive: mark simple here-documents for translation
+      i18n: add--interactive: mark strings with interpolation for translation
+      i18n: clean.c: match string with git-add--interactive.perl
+      i18n: add--interactive: mark plural strings
+      i18n: add--interactive: mark patch prompt for translation
+      i18n: add--interactive: i18n of help_patch_cmd
+      i18n: add--interactive: mark edit_hunk_manually message for translation
+      i18n: add--interactive: remove %patch_modes entries
+      i18n: add--interactive: mark status words for translation
+      i18n: send-email: mark strings for translation
+      i18n: send-email: mark warnings and errors for translation
+      i18n: send-email: mark string with interpolation for translation
+      i18n: send-email: mark composing message for translation
+      i18n: difftool: mark warnings for translation
+
+Vegard Nossum (1):
+      diff: add interhunk context config option
+
+Vinicius Kursancew (1):
+      git-p4: allow submit to create shelved changelists.
+
+Vitaly "_Vi" Shukela (1):
+      submodule--helper: set alternateLocation for cloned submodules
+
+Vladimir Panteleev (5):
+      show-ref: accept HEAD with --verify
+      show-ref: allow -d to work with --verify
+      show-ref: move --quiet handling into show_one()
+      show-ref: detect dangling refs under --verify as well
+      show-ref: remove dead `if (verify)' check
+
+brian m. carlson (8):
+      Documentation: fix warning in cat-texi.perl
+      Documentation: modernize cat-texi.perl
+      Documentation: remove unneeded argument in cat-texi.perl
+      Documentation: sort sources for gitman.texi
+      Documentation: add XSLT to fix DocBook for Texinfo
+      Documentation: move dblatex arguments into variable
+      Makefile: add a knob to enable the use of Asciidoctor
+      Documentation: implement linkgit macro for Asciidoctor
+
+마누엘 (1):
+      asciidoctor: fix user-manual to be built by `asciidoctor`
+
+
+Version v2.11.4; changes since v2.11.3:
+---------------------------------------
+
+Jeff King (3):
+      shell: drop git-cvsserver support by default
+      archimport: use safe_pipe_capture for user input
+      cvsimport: shell-quote variable used in backticks
+
+Junio C Hamano (4):
+      cvsserver: move safe_pipe_capture() to the main package
+      cvsserver: use safe_pipe_capture for `constant commands` as well
+      Git 2.10.5
+      Git 2.11.4
+
+joernchen (1):
+      cvsserver: use safe_pipe_capture instead of backticks
+
+
+Version v2.11.3; changes since v2.11.2:
+---------------------------------------
+
+Jeff King (4):
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (6):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+      Git 2.10.4
+      Git 2.11.3
+
+
+Version v2.11.2; changes since v2.11.1:
+---------------------------------------
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (8):
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+      Git 2.9.4
+      Git 2.10.3
+      Git 2.11.2
+
+
+Version v2.11.1; changes since v2.11.0:
+---------------------------------------
+
+Alan Davies (1):
+      mingw: fix colourization on Cygwin pseudo terminals
+
+Andreas Krey (2):
+      commit: make --only --allow-empty work without paths
+      commit: remove 'Clever' message for --only --amend
+
+Beat Bolli (6):
+      update_unicode.sh: move it into contrib/update-unicode
+      update_unicode.sh: remove an unnecessary subshell level
+      update_unicode.sh: pin the uniset repo to a known good commit
+      update_unicode.sh: automatically download newer definition files
+      update_unicode.sh: remove the plane filter
+      unicode_width.h: update the width tables to Unicode 9.0
+
+Brandon Williams (2):
+      push: --dry-run updates submodules when --recurse-submodules=on-demand
+      push: fix --dry-run to not push submodules
+
+Christian Couder (1):
+      Documentation/bisect: improve on (bad|new) and (good|bad)
+
+David Aguilar (8):
+      mergetool: honor mergetool.$tool.trustExitCode for built-in tools
+      mergetools/vimdiff: trust Vim's exit code
+      difftool: fix dir-diff index creation when in a subdirectory
+      difftool: fix dir-diff index creation when in a subdirectory
+      difftool: sanitize $workdir as early as possible
+      difftool: chdir as early as possible
+      difftool: rename variables for consistency
+      mergetools: fix xxdiff hotkeys
+
+David Turner (5):
+      submodules: allow empty working-tree dirs in merge/cherry-pick
+      remote-curl: don't hang when a server dies before any output
+      upload-pack: optionally allow fetching any sha1
+      auto gc: don't write bitmaps for incremental repacks
+      repack: die on incremental + write-bitmap-index
+
+Dennis Kaarsemaker (1):
+      push: test pushing ambiguously named branches
+
+Eric Wong (2):
+      git-svn: allow "0" in SVN path components
+      git-svn: document useLogAuthor and addAuthorFrom config keys
+
+George Vanburgh (1):
+      git-p4: fix multi-path changelist empty commits
+
+Heiko Voigt (4):
+      serialize collection of changed submodules
+      serialize collection of refs that contain submodule changes
+      batch check whether submodule needs pushing into one call
+      submodule_needs_pushing(): explain the behaviour when we cannot answer
+
+Jack Bates (1):
+      diff: handle --no-abbrev in no-index case
+
+Jeff Hostetler (1):
+      mingw: replace isatty() hack
+
+Jeff King (32):
+      rev-parse: fix parent shorthands with --symbolic
+      t7610: clean up foo.XXXXXX tmpdir
+      http: simplify update_url_from_redirect
+      http: always update the base URL for redirects
+      remote-curl: rename shadowed options variable
+      http: make redirects more obvious
+      http: treat http-alternates like redirects
+      http-walker: complain about non-404 loose object errors
+      stash: prefer plumbing over git-diff
+      alternates: accept double-quoted paths
+      tmp-objdir: quote paths we add to alternates
+      Makefile: reformat FIND_SOURCE_FILES
+      Makefile: exclude test cruft from FIND_SOURCE_FILES
+      Makefile: match shell scripts in FIND_SOURCE_FILES
+      Makefile: exclude contrib from FIND_SOURCE_FILES
+      parse-options: print "fatal:" before usage_msg_opt()
+      README: replace gmane link with public-inbox
+      t5000: extract nongit function to test-lib-functions.sh
+      index-pack: complain when --stdin is used outside of a repo
+      t: use nongit() function where applicable
+      index-pack: skip collision check when not in repository
+      archive-zip: load userdiff config
+      rebase--interactive: count squash commits above 10 correctly
+      blame: fix alignment with --abbrev=40
+      blame: handle --no-abbrev
+      blame: output porcelain "previous" header for each file
+      git_exec_path: do not return the result of getenv()
+      execv_dashed_external: use child_process struct
+      execv_dashed_external: stop exiting with negative code
+      execv_dashed_external: wait for child on signal death
+      t7810: avoid assumption about invalid regex syntax
+      CodingGuidelines: clarify multi-line brace style
+
+Johannes Schindelin (6):
+      cherry-pick: demonstrate a segmentation fault
+      merge-recursive: handle NULL in add_cacheinfo() correctly
+      mingw: intercept isatty() to handle /dev/null as Git expects it
+      mingw: adjust is_console() to work with stdin
+      git_exec_path: avoid Coverity warning about unfree()d result
+      mingw: follow-up to "replace isatty() hack"
+
+Johannes Sixt (3):
+      t5547-push-quarantine: run the path separator test on Windows, too
+      normalize_path_copy(): fix pushing to //server/share/dir on Windows
+      t5615-alternate-env: double-quotes in file names do not work on Windows
+
+Jonathan Tan (1):
+      fetch: do not redundantly calculate tag refmap
+
+Junio C Hamano (11):
+      utf8: refactor code to decide fallback encoding
+      utf8: accept "latin-1" as ISO-8859-1
+      push: do not use potentially ambiguous default refspec
+      compression: unify pack.compression configuration parsing
+      pull: fast-forward "pull --rebase=true"
+      preparing for 2.10.3
+      Revert "sequencer: remove useless get_dir() function"
+      config.abbrev: document the new default that auto-scales
+      Almost ready for 2.11.1
+      Ready for 2.11.1
+      Git 2.11.1
+
+Kristoffer Haugsbakk (4):
+      doc: add articles (grammar)
+      doc: add verb in front of command to run
+      doc: make the intent of sentence clearer
+      doc: omit needless "for"
+
+Kyle J. McKay (1):
+      mailinfo.c: move side-effects outside of assert
+
+Kyle Meyer (1):
+      branch_get_push: do not segfault when HEAD is detached
+
+Lars Schneider (6):
+      travis-ci: update P4 to 16.2 and GitLFS to 1.5.2 in Linux build
+      git-p4: fix empty file processing for large file system backend GitLFS
+      t0021: minor filter process test cleanup
+      docs: warn about possible '=' in clean/smudge filter process values
+      t0021: fix flaky test
+      travis-ci: fix Perforce install on macOS
+
+Luis Ressel (1):
+      date-formats.txt: Typo fix
+
+Luke Diamand (1):
+      git-p4: avoid crash adding symlinked directory
+
+Matt McCutchen (2):
+      doc: mention transfer data leaks in more places
+      git-gc.txt: expand discussion of races with other processes
+
+Max Kirillov (1):
+      mingw: consider that UNICODE_STRING::Length counts bytes
+
+Mike Hommey (1):
+      fast-import: properly fanout notes when tree is imported
+
+Nguyễn Thái Ngọc Duy (13):
+      worktree.c: zero new 'struct worktree' on allocation
+      worktree: reorder an if statement
+      get_worktrees() must return main worktree as first item even on error
+      worktree.c: get_worktrees() takes a new flag argument
+      worktree list: keep the list sorted
+      merge-recursive.c: use string_list_sort instead of qsort
+      shallow.c: rename fields in paint_info to better express their purposes
+      shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools
+      shallow.c: make paint_alloc slightly more robust
+      shallow.c: remove useless code
+      config.c: handle error case for fstat() calls
+      config.c: rename label unlock_and_out
+      config.c: handle lock file in error case in git_config_rename_...
+
+Rasmus Villemoes (2):
+      shallow.c: avoid theoretical pointer wrap-around
+      shallow.c: bit manipulation tweaks
+
+Stefan Beller (7):
+      unpack-trees: fix grammar for untracked files in directories
+      t3600: remove useless redirect
+      t3600: slightly modernize style
+      cache.h: document index_name_pos
+      cache.h: document remove_index_entry_at
+      cache.h: document add_[file_]to_index
+      documentation: retire unfinished documentation
+
+Stephan Beyer (5):
+      am: fix filename in safe_to_abort() error message
+      am: change safe_to_abort()'s not rewinding error into a warning
+      t3510: test that cherry-pick --abort does not unsafely change HEAD
+      sequencer: make sequencer abort safer
+      sequencer: remove useless get_dir() function
+
+Torsten Bögershausen (1):
+      convert: git cherry-pick -Xrenormalize did not work
+
+Wolfram Sang (1):
+      request-pull: drop old USAGE stuff
+
+
+Version v2.11.0; changes since v2.11.0-rc3:
+-------------------------------------------
+
+Alex Henrie (1):
+      l10n: ca.po: update translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jeff King (1):
+      common-main: stop munging argv[0] path
+
+Jiang Xin (1):
+      l10n: fix unmatched single quote in error message
+
+Junio C Hamano (1):
+      Git 2.11
+
+Marc Branchaud (1):
+      RelNotes: spelling and phrasing fixups
+
+Ralf Thielow (1):
+      l10n: de.po: translate 210 new messages
+
+
+Version v2.11.0-rc3; changes since v2.11.0-rc2:
+-----------------------------------------------
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jean-Noël Avila (1):
+      l10n: fr.po v2.11.0_rnd1
+
+Jiang Xin (5):
+      l10n: git.pot: v2.11.0 round 1 (209 new, 53 removed)
+      l10n: zh_CN: for git v2.11.0 l10n round 1
+      i18n: fix unmatched single quote in error message
+      l10n: git.pot: v2.11.0 round 2 (1 new, 1 removed)
+      l10n: Fixed typo of git fetch-pack command
+
+Johannes Schindelin (3):
+      rebase -i: highlight problems with core.commentchar
+      stripspace: respect repository config
+      rebase -i: handle core.commentChar=auto
+
+Jonathan Tan (1):
+      doc: mention user-configured trailers
+
+Junio C Hamano (4):
+      for-each-ref: do not segv with %(HEAD) on an unborn branch
+      mailinfo: read local configuration
+      archive: read local configuration
+      Git 2.11-rc3
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2913t0f0u)
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: Updated translation to v2.11.0 (2913t)
+
+Vasco Almeida (1):
+      l10n: pt_PT: update Portuguese translation
+
+jfbu (1):
+      l10n: fr.po fix grammar mistakes
+
+
+Version v2.11.0-rc2; changes since v2.11.0-rc1:
+-----------------------------------------------
+
+Ben North (1):
+      git-worktree.txt: fix typo "to"/"two", and add comma
+
+Jeff King (1):
+      create_branch: drop unused "head" parameter
+
+Junio C Hamano (1):
+      Git 2.11-rc2
+
+Tobias Klauser (1):
+      diffcore-delta: remove unused parameter to diffcore_count_changes()
+
+
+Version v2.11.0-rc1; changes since v2.11.0-rc0:
+-----------------------------------------------
+
+Andreas Schwab (2):
+      t6026-merge-attr: don't fail if sleep exits early
+      t6026-merge-attr: ensure that the merge driver was called
+
+Christian Couder (1):
+      split-index: s/eith/with/ typo fix
+
+Jeff King (6):
+      t0021: use write_script to create rot13 shell script
+      t0021: put $TEST_ROOT in $PATH
+      t0021: use $PERL_PATH for rot13-filter.pl
+      t0021: fix filehandle usage on older perl
+      alternates: re-allow relative paths from environment
+      sequencer: silence -Wtautological-constant-out-of-range-compare
+
+Johannes Schindelin (1):
+      t6026: ensure that long-running script really is
+
+Johannes Sixt (4):
+      t0021: expect more variations in the output of uniq -c
+      t0021: compute file size with a single process instead of a pipeline
+      t0021, t5615: use $PWD instead of $(pwd) in PATH-like shell variables
+      t6026: clarify the point of "kill $(cat sleep.pid)"
+
+Junio C Hamano (5):
+      A bit of updates post -rc0
+      Revert "t6026-merge-attr: ensure that the merge driver was called"
+      Revert "t6026-merge-attr: don't fail if sleep exits early"
+      t0021: remove debugging cruft
+      Git 2.11.0-rc1
+
+Lars Schneider (2):
+      Makefile: set NO_OPENSSL on macOS by default
+      travis-ci: disable GIT_TEST_HTTPD for macOS
+
+Patrick Steinhardt (1):
+      doc: fix location of 'info/' with $GIT_COMMON_DIR
+
+Ralf Thielow (1):
+      fetch-pack.c: correct command at the beginning of an error message
+
+René Scharfe (2):
+      sha1_name: make wraparound of the index into ring-buffer explicit
+      cocci: avoid self-references in object_id transformations
+
+
+Version v2.11.0-rc0; changes since v2.10.5:
+-------------------------------------------
+
+Aaron M Watson (1):
+      stash: allow stashes to be referenced by index only
+
+Alex Riesen (2):
+      git-gui: support for $FILENAMES in tool definitions
+      git-gui: ensure the file in the diff pane is in the list of selected files
+
+Alexander Shopov (2):
+      git-gui i18n: Updated Bulgarian translation (565,0f,0u)
+      git-gui: Mark 'All' in remote.tcl for translation
+
+Brandon Williams (4):
+      git: make super-prefix option
+      ls-files: optionally recurse into submodules
+      ls-files: pass through safe options for --recurse-submodules
+      ls-files: add pathspec matching for submodules
+
+Christian Couder (42):
+      apply: make some names more specific
+      apply: move 'struct apply_state' to apply.h
+      builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
+      builtin/apply: read_patch_file() return -1 instead of die()ing
+      builtin/apply: make find_header() return -128 instead of die()ing
+      builtin/apply: make parse_chunk() return a negative integer on error
+      builtin/apply: make parse_single_patch() return -1 on error
+      builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
+      builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
+      builtin/apply: move init_apply_state() to apply.c
+      apply: make init_apply_state() return -1 instead of exit()ing
+      builtin/apply: make check_apply_state() return -1 instead of die()ing
+      builtin/apply: move check_apply_state() to apply.c
+      builtin/apply: make apply_all_patches() return 128 or 1 on error
+      builtin/apply: make parse_traditional_patch() return -1 on error
+      builtin/apply: make gitdiff_*() return 1 at end of header
+      builtin/apply: make gitdiff_*() return -1 on error
+      builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
+      builtin/apply: make build_fake_ancestor() return -1 on error
+      builtin/apply: make remove_file() return -1 on error
+      builtin/apply: make add_conflicted_stages_file() return -1 on error
+      builtin/apply: make add_index_file() return -1 on error
+      builtin/apply: make create_file() return -1 on error
+      builtin/apply: make write_out_one_result() return -1 on error
+      builtin/apply: make write_out_results() return -1 on error
+      unpack-objects: add --max-input-size=<size> option
+      builtin/apply: make try_create_file() return -1 on error
+      builtin/apply: make create_one_file() return -1 on error
+      builtin/apply: rename option parsing functions
+      apply: rename and move opt constants to apply.h
+      apply: move libified code from builtin/apply.c to apply.{c,h}
+      apply: make some parsing functions static again
+      apply: use error_errno() where possible
+      apply: make it possible to silently apply
+      apply: don't print on stdout in verbosity_silent mode
+      usage: add set_warn_routine()
+      usage: add get_error_routine() and get_warn_routine()
+      apply: change error_routine when silent
+      apply: refactor `git apply` option parsing
+      apply: pass apply state to build_fake_ancestor()
+      apply: learn to use a different index file
+      builtin/am: use apply API in run_apply()
+
+David Aguilar (4):
+      mergetool: add copyright
+      mergetool: move main program flow into a main() function
+      mergetool: honor diff.orderFile
+      mergetool: honor -O<orderfile>
+
+David Turner (9):
+      rename_ref_available(): add docstring
+      refs: add methods for reflog
+      refs: add method for initial ref transaction commit
+      refs: make delete_refs() virtual
+      refs: add methods to init refs db
+      refs: add method to rename refs
+      refs: make lock generic
+      refs: implement iteration over only per-worktree refs
+      fsck: handle bad trees like other errors
+
+Dimitriy Ryazantcev (1):
+      git-gui: Update Russian translation
+
+Elia Pinto (1):
+      git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
+
+Emily Xie (1):
+      pathspec: warn on empty strings as pathspec
+
+Eric Wong (2):
+      git-svn: reduce scope of input record separator change
+      git-svn: "git worktree" awareness
+
+Gavin Lambert (1):
+      git-svn: do not reuse caches memoized for a different architecture
+
+Ian Kelling (2):
+      gitweb: remove unused guess_file_syntax() parameter
+      gitweb: use highlight's shebang detection
+
+Jacob Keller (9):
+      format-patch: show 0/1 and 1/1 for singleton patch with cover letter
+      cache: add empty_tree_oid object and helper function
+      graph: add support for --line-prefix on all graph-aware output
+      diff: prepare for additional submodule formats
+      allow do_submodule_path to work even if submodule isn't checked out
+      submodule: convert show_submodule_summary to use struct object_id *
+      submodule: refactor show_submodule_summary with helper function
+      diff: teach diff to display submodule difference with an inline diff
+      rev-list: use hdr_termination instead of a always using a newline
+
+Jean-Noël Avila (1):
+      i18n: i18n: diff: mark die messages for translation
+
+Jeff Hostetler (9):
+      status: rename long-format print routines
+      status: cleanup API to wt_status_print
+      status: support --porcelain[=<version>]
+      status: collect per-file data for --porcelain=v2
+      status: print per-file porcelain v2 status data
+      status: print branch info with --porcelain=v2 --branch
+      git-status.txt: describe --porcelain=v2 format
+      test-lib-functions.sh: add lf_to_nul helper
+      status: unit tests for --porcelain=v2
+
+Jeff King (75):
+      provide an initializer for "struct object_info"
+      sha1_file: make packed_object_info public
+      pack-objects: break delta cycles before delta-search phase
+      pack-objects: use mru list when iterating over packs
+      cache_or_unpack_entry: drop keep_cache parameter
+      clear_delta_base_cache_entry: use a more descriptive name
+      release_delta_base_cache: reuse existing detach function
+      delta_base_cache: use list.h for LRU
+      delta_base_cache: drop special treatment of blobs
+      delta_base_cache: use hashmap.h
+      t/perf: add basic perf tests for delta base cache
+      index-pack: add --max-input-size=<size> option
+      receive-pack: allow a maximum input size to be specified
+      add_delta_base_cache: use list_for_each_safe
+      hash-object: always try to set up the git repository
+      patch-id: use RUN_SETUP_GENTLY
+      diff: skip implicit no-index check when given --no-index
+      diff: handle --no-index prefixes consistently
+      diff: always try to set up the repository
+      pager: remove obsolete comment
+      pager: stop loading git_default_config()
+      pager: make pager_program a file-local static
+      pager: use callbacks instead of configset
+      pager: handle early config
+      t1302: use "git -C"
+      test-config: setup git directory
+      config: only read .git/config from configured repos
+      init: expand comments explaining config trickery
+      init: reset cached config when entering new repo
+      t1007: factor out repeated setup
+      clone: pass --progress decision to recursive submodules
+      get_sha1: detect buggy calls with multiple disambiguators
+      get_sha1: avoid repeating ourselves via ONLY_TO_DIE
+      get_sha1: propagate flags to child functions
+      get_short_sha1: parse tags when looking for treeish
+      get_short_sha1: refactor init of disambiguation code
+      get_short_sha1: NUL-terminate hex prefix
+      get_short_sha1: mark ambiguity error for translation
+      sha1_array: let callbacks interrupt iteration
+      for_each_abbrev: drop duplicate objects
+      get_short_sha1: list ambiguous objects on error
+      xdiff: rename "struct group" to "struct xdlgroup"
+      get_short_sha1: make default disambiguation configurable
+      tree-walk: be more specific about corrupt tree errors
+      t5613: drop reachable_via function
+      t5613: drop test_valid_repo function
+      t5613: use test_must_fail
+      t5613: whitespace/style cleanups
+      t5613: do not chdir in main process
+      find_unique_abbrev: move logic out of get_short_sha1()
+      t5613: clarify "too deep" recursion tests
+      link_alt_odb_entry: handle normalize_path errors
+      link_alt_odb_entry: refactor string handling
+      alternates: provide helper for adding to alternates list
+      alternates: provide helper for allocating alternate
+      alternates: encapsulate alt->base munging
+      alternates: use a separate scratch space
+      fill_sha1_file: write "boring" characters
+      alternates: store scratch buffer as strbuf
+      fill_sha1_file: write into a strbuf
+      count-objects: report alternates via verbose mode
+      sha1_file: always allow relative paths to alternates
+      alternates: use fspathcmp to detect duplicates
+      check_connected: accept an env argument
+      tmp-objdir: introduce API for temporary object directories
+      receive-pack: quarantine objects until pre-receive accepts
+      tmp-objdir: put quarantine information in the environment
+      tmp-objdir: do not migrate files starting with '.'
+      upload-pack: use priority queue in reachable() check
+      read info/{attributes,exclude} only when in repository
+      test-*-cache-tree: setup git dir
+      find_unique_abbrev: use 4-buffer ring
+      diff_unique_abbrev: rename to diff_aligned_abbrev
+      diff_aligned_abbrev: use "struct oid"
+      diff: handle sha1 abbreviations outside of repository
+
+Johannes Schindelin (54):
+      cat-file: fix a grammo in the man page
+      sequencer: lib'ify sequencer_pick_revisions()
+      sequencer: do not die() in do_pick_commit()
+      sequencer: lib'ify write_message()
+      sequencer: lib'ify do_recursive_merge()
+      sequencer: lib'ify do_pick_commit()
+      sequencer: lib'ify walk_revs_populate_todo()
+      sequencer: lib'ify prepare_revs()
+      sequencer: lib'ify read_and_refresh_cache()
+      sequencer: lib'ify read_populate_todo()
+      sequencer: lib'ify read_populate_opts()
+      sequencer: lib'ify create_seq_dir()
+      sequencer: lib'ify save_head()
+      sequencer: lib'ify save_todo()
+      sequencer: lib'ify save_opts()
+      sequencer: lib'ify fast_forward_to()
+      sequencer: lib'ify checkout_fast_forward()
+      sequencer: ensure to release the lock when we could not read the index
+      cat-file: introduce the --filters option
+      cat-file --textconv/--filters: allow specifying the path separately
+      cat-file: support --textconv/--filters in batch mode
+      pull: drop confusing prefix parameter of die_on_unclean_work_tree()
+      pull: make code more similar to the shell script again
+      wt-status: make the require_clean_work_tree() function reusable
+      wt-status: export also the has_un{staged,committed}_changes() functions
+      wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
+      wt-status: begin error messages with lower-case
+      sequencer: use static initializers for replay_opts
+      sequencer: use memoized sequencer directory path
+      sequencer: avoid unnecessary indirection
+      sequencer: future-proof remove_sequencer_state()
+      sequencer: plug memory leaks for the option values
+      sequencer: future-proof read_populate_todo()
+      sequencer: refactor the code to obtain a short commit name
+      sequencer: completely revamp the "todo" script parsing
+      sequencer: strip CR from the todo script
+      sequencer: avoid completely different messages for different actions
+      sequencer: get rid of the subcommand field
+      sequencer: remember the onelines when parsing the todo file
+      sequencer: prepare for rebase -i's commit functionality
+      sequencer: introduce a helper to read files written by scripts
+      sequencer: allow editing the commit message on a case-by-case basis
+      sequencer: support amending commits
+      sequencer: support cleaning up commit messages
+      sequencer: left-trim lines read from the script
+      sequencer: stop releasing the strbuf in write_message()
+      sequencer: roll back lock file if write_message() failed
+      sequencer: refactor write_message() to take a pointer/length
+      sequencer: teach write_message() to append an optional LF
+      sequencer: remove overzealous assumption in rebase -i mode
+      sequencer: mark action_name() for translation
+      sequencer: quote filenames in error messages
+      sequencer: start error messages consistently with lower case
+      sequencer: mark all error messages for translation
+
+Johannes Sixt (1):
+      t0060: sidestep surprising path mangling results on Windows
+
+Jonathan Nieder (1):
+      connect: tighten check for unexpected early hang up
+
+Jonathan Tan (13):
+      tests: move test_lazy_prereq JGIT to test-lib.sh
+      connect: advertized capability is not a ref
+      mailinfo: separate in-body header processing
+      mailinfo: make is_scissors_line take plain char *
+      mailinfo: handle in-body header continuations
+      trailer: improve const correctness
+      trailer: use list.h for doubly-linked list
+      trailer: streamline trailer item create and add
+      trailer: make args have their own struct
+      trailer: clarify failure modes in parse_trailer
+      trailer: allow non-trailers in trailer block
+      trailer: forbid leading whitespace in trailers
+      trailer: support values folded to multiple lines
+
+Josh Triplett (1):
+      format-patch: add "--rfc" for the common case of [RFC PATCH]
+
+Junio C Hamano (27):
+      blame: improve diagnosis for "--reverse NEW"
+      blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
+      diff.c: remove output_prefix_length field
+      Start the 2.11 cycle
+      First batch for 2.11
+      Second batch for 2.11
+      Third batch for 2.11
+      Fourth batch for 2.11
+      Fifth batch for 2.11
+      Sixth batch for 2.11
+      abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
+      abbrev: prepare for new world order
+      Seventh batch for 2.11
+      t4015: split out the "setup" part of ws-error-highlight test
+      diff.c: refactor parse_ws_error_highlight()
+      diff.c: move ws-error-highlight parsing helpers up
+      diff: introduce diff.wsErrorHighlight option
+      Eighth batch for 2.11
+      Ninth batch for 2.11
+      Tenth batch for 2.11
+      transport: pass summary_width down the callchain
+      fetch: pass summary_width down the callchain
+      transport: allow summary-width to be computed dynamically
+      transport: compute summary-width dynamically
+      Eleventh batch for 2.11
+      Getting ready for 2.11-rc0
+      Git 2.11-rc0
+
+Karsten Blees (2):
+      git-gui: unicode file name support on windows
+      git-gui: handle the encoding of Git's output correctly
+
+Kirill Smelkov (2):
+      pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
+      pack-objects: use reachability bitmap index when generating non-stdout pack
+
+Lars Schneider (17):
+      convert: quote filter names in error messages
+      convert: modernize tests
+      run-command: move check_pipe() from write_or_die to run_command
+      run-command: add clean_on_exit_handler
+      pkt-line: rename packet_write() to packet_write_fmt()
+      pkt-line: extract set_packet_header()
+      pkt-line: add packet_write_fmt_gently()
+      pkt-line: add packet_flush_gently()
+      pkt-line: add packet_write_gently()
+      pkt-line: add functions to read/write flush terminated packet streams
+      convert: make apply_filter() adhere to standard Git error handling
+      convert: prepare filter.<driver>.process option
+      convert: add filter.<driver>.process option
+      contrib/long-running-filter: add long running filter example
+      sha1_file: rename git_open_noatime() to git_open()
+      sha1_file: open window into packfiles with O_CLOEXEC
+      read-cache: make sure file handles are not inherited by child processes
+
+Linus Torvalds (1):
+      abbrev: auto size the default abbreviation
+
+Mantas Mikulėnas (1):
+      contrib: add credential helper for libsecret
+
+Michael Haggerty (36):
+      xdl_change_compact(): fix compaction heuristic to adjust ixo
+      xdl_change_compact(): only use heuristic if group can't be matched
+      is_blank_line(): take a single xrecord_t as argument
+      recs_match(): take two xrecord_t pointers as arguments
+      xdl_change_compact(): introduce the concept of a change group
+      resolve_gitlink_ref(): eliminate temporary variable
+      refs: rename struct ref_cache to files_ref_store
+      refs: create a base class "ref_store" for files_ref_store
+      add_packed_ref(): add a files_ref_store argument
+      get_packed_ref(): add a files_ref_store argument
+      resolve_missing_loose_ref(): add a files_ref_store argument
+      {lock,commit,rollback}_packed_refs(): add files_ref_store arguments
+      refs: reorder definitions
+      resolve_packed_ref(): rename function from resolve_missing_loose_ref()
+      resolve_gitlink_packed_ref(): remove function
+      read_raw_ref(): take a (struct ref_store *) argument
+      resolve_ref_recursively(): new function
+      resolve_gitlink_ref(): implement using resolve_ref_recursively()
+      resolve_gitlink_ref(): avoid memory allocation in many cases
+      resolve_gitlink_ref(): rename path parameter to submodule
+      refs: make read_raw_ref() virtual
+      refs: make verify_refname_available() virtual
+      refs: make pack_refs() virtual
+      refs: make create_symref() virtual
+      refs: make peel_ref() virtual
+      repack_without_refs(): add a files_ref_store argument
+      lock_raw_ref(): add a files_ref_store argument
+      commit_ref_update(): add a files_ref_store argument
+      lock_ref_for_update(): add a files_ref_store argument
+      lock_ref_sha1_basic(): add a files_ref_store argument
+      split_symref_update(): add a files_ref_store argument
+      files_ref_iterator_begin(): take a ref_store argument
+      refs: add method iterator_begin
+      diff: improve positioning of add/delete blocks in diffs
+      parse-options: add parse_opt_unknown_cb()
+      blame: honor the diff heuristic options and config
+
+Michael J Gruber (1):
+      gpg-interface: use more status letters
+
+Nguyễn Thái Ngọc Duy (36):
+      remote-curl.c: convert fetch_git() to use argv_array
+      transport-helper.c: refactor set_helper_option()
+      upload-pack: move shallow deepen code out of receive_needs()
+      upload-pack: move "shallow" sending code out of deepen()
+      upload-pack: remove unused variable "backup"
+      upload-pack: move "unshallow" sending code out of deepen()
+      upload-pack: use skip_prefix() instead of starts_with()
+      upload-pack: tighten number parsing at "deepen" lines
+      upload-pack: make check_non_tip() clean things up on error
+      upload-pack: move rev-list code out of check_non_tip()
+      fetch-pack: use skip_prefix() instead of starts_with()
+      fetch-pack: use a common function for verbose printing
+      fetch-pack.c: mark strings for translating
+      fetch-pack: use a separate flag for fetch in deepening mode
+      shallow.c: implement a generic shallow boundary finder based on rev-list
+      upload-pack: add deepen-since to cut shallow repos based on time
+      fetch: define shallow boundary with --shallow-since
+      clone: define shallow clone boundary based on time with --shallow-since
+      t5500, t5539: tests for shallow depth since a specific date
+      refs: add expand_ref()
+      upload-pack: support define shallow boundary by excluding revisions
+      fetch: define shallow boundary with --shallow-exclude
+      clone: define shallow clone boundary with --shallow-exclude
+      t5500, t5539: tests for shallow depth excluding a ref
+      upload-pack: split check_unreachable() in two, prep for get_reachable_list()
+      upload-pack: add get_reachable_list()
+      fetch, upload-pack: --deepen=N extends shallow boundary by N commits
+      init: correct re-initialization from a linked worktree
+      init: call set_git_dir_init() from within init_db()
+      init: kill set_git_dir_init()
+      init: do not set unnecessary core.worktree
+      init: kill git_link variable
+      diff-lib: allow ita entries treated as "not yet exist in index"
+      diff: add --ita-[in]visible-in-index
+      commit: fix empty commit creation when there's no changes but ita entries
+      commit: don't be fooled by ita entries when creating initial commit
+
+Olaf Hering (1):
+      git-gui: sort entries in tclIndex
+
+Orgad Shaneh (1):
+      git-gui: Do not reset author details on amend
+
+Pat Thoyts (7):
+      Allow keyboard control to work in the staging widgets.
+      Amend tab ordering and text widget border and highlighting.
+      git-gui: fix detection of Cygwin
+      git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
+      git-gui: maintain backwards compatibility for merge syntax
+      git-gui: avoid persisting modified author identity
+      git-gui: set version 0.21
+
+Petr Stodulka (1):
+      http: control GSSAPI credential delegation
+
+Ralf Thielow (2):
+      help: introduce option --exclude-guides
+      help: make option --help open man pages only for Git commands
+
+René Scharfe (8):
+      sha1_file: use llist_mergesort() for sorting packs
+      introduce CHECKOUT_INIT
+      add QSORT
+      use QSORT
+      remove unnecessary check before QSORT
+      coccicheck: use --all-includes by default
+      use QSORT, part 2
+      show-branch: use QSORT
+
+Ronnie Sahlberg (2):
+      refs: add a backend method structure
+      refs: add a transaction_commit() method
+
+Stefan Beller (10):
+      t7408: modernize style
+      t7408: merge short tests, factor out testing method
+      submodule--helper module-clone: allow multiple references
+      submodule--helper update-clone: allow multiple references
+      clone: factor out checking for an alternate path
+      clone: clarify option_reference as required
+      clone: implement optional references
+      clone: recursive and reference option triggers submodule alternates
+      submodule: ignore trailing slash on superproject URL
+      submodule: ignore trailing slash in relative url
+
+Vasco Almeida (30):
+      i18n: blame: mark error messages for translation
+      i18n: branch: mark option description for translation
+      i18n: config: mark error message for translation
+      i18n: merge-recursive: mark error messages for translation
+      i18n: merge-recursive: mark verbose message for translation
+      i18n: notes: mark error messages for translation
+      notes: spell first word of error messages in lowercase
+      i18n: receive-pack: mark messages for translation
+      i18n: show-branch: mark error messages for translation
+      i18n: show-branch: mark plural strings for translation
+      i18n: update-index: mark warnings for translation
+      i18n: commit: mark message for translation
+      i18n: connect: mark die messages for translation
+      i18n: ident: mark hint for translation
+      i18n: notes-merge: mark die messages for translation
+      i18n: stash: mark messages for translation
+      git-gui i18n: mark strings for translation
+      git-gui: l10n: add Portuguese translation
+      git-gui i18n: internationalize use of colon punctuation
+      git-gui i18n: mark "usage:" strings for translation
+      git-gui: fix incorrect use of Tcl append command
+      git-gui i18n: mark string in lib/error.tcl for translation
+      t1512: become resilient to GETTEXT_POISON build
+      i18n: apply: mark plural string for translation
+      i18n: apply: mark info messages for translation
+      i18n: apply: mark error messages for translation
+      i18n: apply: mark error message for translation
+      i18n: convert mark error messages for translation
+      i18n: credential-cache--daemon: mark advice for translation
+      i18n: diff: mark warnings for translation
+
+Vegard Nossum (1):
+      revision: new rev^-n shorthand for rev^n..rev
+
+brian m. carlson (20):
+      cache: convert struct cache_entry to use struct object_id
+      builtin/apply: convert static functions to struct object_id
+      builtin/blame: convert struct origin to use struct object_id
+      builtin/log: convert some static functions to use struct object_id
+      builtin/cat-file: convert struct expand_data to use struct object_id
+      builtin/cat-file: convert some static functions to struct object_id
+      builtin: convert textconv_object to use struct object_id
+      streaming: make stream_blob_to_fd take struct object_id
+      builtin/checkout: convert some static functions to struct object_id
+      notes-merge: convert struct notes_merge_pair to struct object_id
+      Convert read_mmblob to take struct object_id.
+      builtin/blame: convert file to use struct object_id
+      builtin/rm: convert to use struct object_id
+      notes: convert init_notes to use struct object_id
+      builtin/update-index: convert file to struct object_id
+      sha1_name: convert get_sha1_mb to struct object_id
+      refs: add an update_ref_oid function.
+      builtin/am: convert to struct object_id
+      builtin/commit-tree: convert to struct object_id
+      builtin/reset: convert to use struct object_id
+
+yaras (1):
+      git-gui: fix initial git gui message encoding
+
+Ævar Arnfjörð Bjarmason (3):
+      gitweb: fix a typo in a comment
+      gitweb: link to 7-char+ SHA-1s, not only 8-char+
+      gitweb: link to "git describe"'d commits in log messages
+
+
+Version v2.10.5; changes since v2.10.4:
+---------------------------------------
+
+Jeff King (3):
+      shell: drop git-cvsserver support by default
+      archimport: use safe_pipe_capture for user input
+      cvsimport: shell-quote variable used in backticks
+
+Junio C Hamano (3):
+      cvsserver: move safe_pipe_capture() to the main package
+      cvsserver: use safe_pipe_capture for `constant commands` as well
+      Git 2.10.5
+
+joernchen (1):
+      cvsserver: use safe_pipe_capture instead of backticks
+
+
+Version v2.10.4; changes since v2.10.3:
+---------------------------------------
+
+Jeff King (4):
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (5):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+      Git 2.10.4
+
+
+Version v2.10.3; changes since v2.10.2:
+---------------------------------------
+
+Anders Kaseorg (2):
+      pre-receive.sample: mark it executable
+      git-sh-setup: be explicit where to dot-source git-sh-i18n from.
+
+Andreas Schwab (2):
+      t6026-merge-attr: don't fail if sleep exits early
+      t6026-merge-attr: ensure that the merge driver was called
+
+Ben North (1):
+      git-worktree.txt: fix typo "to"/"two", and add comma
+
+Chris Packham (1):
+      completion: support excluding refs
+
+Jeff King (6):
+      daemon: detect and reject too-long paths
+      git-compat-util: move content inside ifdef/endif guards
+      doc: fix missing "::" in config list
+      create_branch: drop unused "head" parameter
+      common-main: stop munging argv[0] path
+      shell: disallow repo names beginning with dash
+
+Johannes Schindelin (1):
+      t6026: ensure that long-running script really is
+
+Johannes Sixt (1):
+      t6026: clarify the point of "kill $(cat sleep.pid)"
+
+Junio C Hamano (11):
+      am: refactor read_author_script()
+      Revert "t6026-merge-attr: ensure that the merge driver was called"
+      Revert "t6026-merge-attr: don't fail if sleep exits early"
+      preparing for 2.10.3
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+      Git 2.9.4
+      Git 2.10.3
+
+Lars Schneider (2):
+      Makefile: set NO_OPENSSL on macOS by default
+      travis-ci: disable GIT_TEST_HTTPD for macOS
+
+Matthieu Moy (3):
+      parse_mailboxes: accept extra text after <...> address
+      t9000-addresses: update expected results after fix
+      Git.pm: add comment pointing to t9000
+
+Patrick Steinhardt (1):
+      doc: fix location of 'info/' with $GIT_COMMON_DIR
+
+René Scharfe (4):
+      hex: make wraparound of the index into ring-buffer explicit
+      valgrind: support test helpers
+      commit: simplify building parents list
+      cocci: avoid self-references in object_id transformations
+
+Stefan Christ (1):
+      Documentation/fmt-merge-msg: fix markup in example
+
+Tobias Klauser (1):
+      diffcore-delta: remove unused parameter to diffcore_count_changes()
+
+
+Version v2.10.2; changes since v2.10.1:
+---------------------------------------
+
+Anders Kaseorg (1):
+      imap-send: Tell cURL to use imap:// or imaps://
+
+Brandon Williams (1):
+      submodules doc: update documentation for "." used for submodule branches
+
+David Turner (2):
+      add David Turner's Two Sigma address
+      http: http.emptyauth should allow empty (not just NULL) usernames
+
+Dennis Kaarsemaker (1):
+      worktree: allow the main brach of a bare repository to be checked out
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jakub Narębski (1):
+      configure.ac: improve description of NO_REGEX test
+
+Jeff King (11):
+      verify_packfile: check pack validity before accessing data
+      graph: fix extra spaces in graph_padding_line
+      clone: detect errors in normalize_path_copy
+      files_read_raw_ref: avoid infinite loop on broken symlinks
+      files_read_raw_ref: prevent infinite retry loops in general
+      merge-base: handle --fork-point without reflog
+      fetch: use "quick" has_sha1_file for tag following
+      test-lib: handle TEST_OUTPUT_DIRECTORY with spaces
+      test-lib: add --verbose-log option
+      travis: use --verbose-log test option
+      test-lib: bail out when "-v" used under "prove"
+
+Johannes Schindelin (1):
+      reset: fix usage
+
+Jonathan Tan (1):
+      fetch-pack: do not reset in_vain on non-novel acks
+
+Junio C Hamano (9):
+      streaming: make sure to notice corrupt object
+      unpack_sha1_header(): detect malformed object header
+      worktree: honor configuration variables
+      blame: use DEFAULT_ABBREV macro
+      diff_unique_abbrev(): document its assumption and limitation
+      Start preparing for 2.10.2
+      cocci: refactor common patterns to use xstrdup_or_null()
+      t3700: fix broken test under !SANITY
+      Git 2.10.2
+
+Kevin Daudt (2):
+      t5100-mailinfo: replace common path prefix with variable
+      mailinfo: unescape quoted-pair in header fields
+
+Nguyễn Thái Ngọc Duy (1):
+      git-commit.txt: clarify --patch mode with pathspec
+
+Philip Oakley (2):
+      doc: fix merge-base ASCII art tab spacing
+      doc: fix the 'revert a faulty merge' ASCII art tab spacing
+
+Pranit Bauva (2):
+      rev-list-options: clarify the usage of --reverse
+      t0040: convert all possible tests to use `test-parse-options --expect`
+
+Ralf Thielow (2):
+      l10n: de.po: fix translation of autostash
+      l10n: de.po: translate 260 new messages
+
+René Scharfe (17):
+      contrib/coccinelle: fix semantic patch for oid_to_hex_r()
+      add coccicheck make target
+      use strbuf_addstr() for adding constant strings to a strbuf, part 2
+      pretty: let %C(auto) reset all attributes
+      add COPY_ARRAY
+      use COPY_ARRAY
+      git-gui: stop using deprecated merge syntax
+      gitignore: ignore output files of coccicheck make target
+      use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
+      use strbuf_add_unique_abbrev() for adding short hashes, part 2
+      pretty: avoid adding reset for %C(auto) if output is empty
+      coccicheck: make transformation for strbuf_addf(sb, "...") more precise
+      remove unnecessary NULL check before free(3)
+      use strbuf_add_unique_abbrev() for adding short hashes, part 3
+      pretty: fix document link for color specification
+      avoid pointer arithmetic involving NULL in FLEX_ALLOC_MEM
+      inline xalloc_flex() into FLEXPTR_ALLOC_MEM
+
+SZEDER Gábor (1):
+      ref-filter: strip format option after a field name only once while parsing
+
+Stefan Beller (1):
+      documentation: improve submodule.<name>.{url, path} description
+
+Younes Khoudli (1):
+      doc: remove reference to the traditional layout in git-tag.txt
+
+Дилян Палаузов (1):
+      ./configure.ac: detect SSL in libcurl using curl-config
+
+
+Version v2.10.1; changes since v2.10.0:
+---------------------------------------
+
+Alex Henrie (5):
+      am: put spaces around pipe in usage string
+      cat-file: put spaces around pipes in usage string
+      git-rebase--interactive: fix English grammar
+      git-merge-octopus: do not capitalize "octopus"
+      unpack-trees: do not capitalize "working"
+
+Beat Bolli (1):
+      SubmittingPatches: use gitk's "Copy commit summary" format
+
+Brandon Williams (1):
+      pathspec: remove unnecessary function prototypes
+
+Brian Henderson (3):
+      diff-highlight: add some tests
+      diff-highlight: add failing test for handling --graph output
+      diff-highlight: add support for --graph output
+
+Elia Pinto (5):
+      t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
+      test-lib.sh: preserve GIT_TRACE_CURL from the environment
+      t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
+      t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
+      git-check-ref-format.txt: fixup documentation
+
+Eric Wong (3):
+      http: warn on curl_multi_add_handle failures
+      http: consolidate #ifdefs for curl_multi_remove_handle
+      http: always remove curl easy from curlm session on release
+
+Jeff King (20):
+      rebase-interactive: drop early check for valid ident
+      gc: default aggressive depth to 50
+      test-lib: drop PID from test-results/*.count
+      diff-highlight: ignore test cruft
+      diff-highlight: add multi-byte tests
+      diff-highlight: avoid highlighting combined diffs
+      error_errno: use constant return similar to error()
+      color_parse_mem: initialize "struct color" temporary
+      t5305: move cleanup into test block
+      t5305: drop "dry-run" of unpack-objects
+      t5305: use "git -C"
+      t5305: simplify packname handling
+      pack-objects: walk tag chains for --include-tag
+      remote-curl: handle URLs without protocol
+      patch-ids: turn off rename detection
+      patch-ids: refuse to compute patch-id for merge commit
+      docs/cvsimport: prefer cvs-fast-export to parsecvs
+      docs/cvs-migration: update link to cvsps homepage
+      docs/cvs-migration: mention cvsimport caveats
+      ident: handle NULL ai_canonname
+
+Jiang Xin (1):
+      l10n: zh_CN: fixed some typos for git 2.10.0
+
+Johannes Schindelin (4):
+      git-gui: respect commit.gpgsign again
+      regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails
+      regex: add regexec_buf() that can work on a non NUL-terminated string
+      regex: use regexec_buf()
+
+Johannes Sixt (4):
+      t9903: fix broken && chain
+      t6026-merge-attr: clean up background process at end of test case
+      t3700-add: create subdirectory gently
+      t3700-add: do not check working tree file mode without POSIXPERM
+
+Josh Triplett (1):
+      format-patch: show base info before email signature
+
+Junio C Hamano (6):
+      submodule: avoid auto-discovery in prepare_submodule_repo_env()
+      symbolic-ref -d: do not allow removal of HEAD
+      Prepare for 2.9.4
+      Start preparing for 2.10.1
+      Prepare for 2.10.1
+      Git 2.10.1
+
+Kirill Smelkov (1):
+      t/perf/run: copy config.mak.autogen & friends to build area
+
+Lars Schneider (1):
+      travis-ci: ask homebrew for its path instead of hardcoding it
+
+Matthieu Moy (1):
+      Documentation/config: default for color.* is color.ui
+
+Mike Ralphson (1):
+      vcs-svn/fast_export: fix timestamp fmt specifiers
+
+Nguyễn Thái Ngọc Duy (3):
+      checkout: add some spaces between code and comment
+      checkout.txt: document a common case that ignores ambiguation rules
+      checkout: fix ambiguity check in subdir
+
+Philip Oakley (12):
+      doc: use 'symmetric difference' consistently
+      doc: revisions - name the left and right sides
+      doc: show the actual left, right, and boundary marks
+      doc: revisions: give headings for the two and three dot notations
+      doc: revisions: extra clarification of <rev>^! notation effects
+      doc: revisions: single vs multi-parent notation comparison
+      doc: gitrevisions - use 'reachable' in page description
+      doc: gitrevisions - clarify 'latter case' is revision walk
+      doc: revisions - define `reachable`
+      doc: revisions - clarify reachability examples
+      doc: revisions: show revision expansion in examples
+      doc: revisions: sort examples and fix alignment of the unchanged
+
+Ralf Thielow (1):
+      rebase -i: improve advice on bad instruction lines
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.10.0 l10n
+
+René Scharfe (6):
+      compat: move strdup(3) replacement to its own file
+      introduce hex2chr() for converting two hexadecimal digits to a character
+      strbuf: use valid pointer in strbuf_remove()
+      checkout: constify parameters of checkout_stage() and checkout_merged()
+      unpack-trees: pass checkout state explicitly to check_updates()
+      xdiff: fix merging of hunks with -W context and -u context
+
+Satoshi Yasushima (6):
+      git-gui: consistently use the same word for "remote" in Japanese
+      git-gui: consistently use the same word for "blame" in Japanese
+      git-gui: apply po template to Japanese translation
+      git-gui: add Japanese language code
+      git-gui: update Japanese translation
+      git-gui: update Japanese information
+
+Stefan Beller (5):
+      xdiff: remove unneeded declarations
+      transport: report missing submodule pushes consistently on stderr
+      diff.c: use diff_options directly
+      diff: omit found pointer from emit_callback
+      diff: remove dead code
+
+Thomas Gummerer (4):
+      add: document the chmod option
+      update-index: add test for chmod flags
+      read-cache: introduce chmod_index_entry
+      add: modify already added files when --chmod is given
+
+Vasco Almeida (2):
+      l10n: pt_PT: update Portuguese translation
+      l10n: pt_PT: update Portuguese repository info
+
+
+Version v2.10.0; changes since v2.10.0-rc2:
+-------------------------------------------
+
+Alex Henrie (1):
+      l10n: ca.po: update translation
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Jean-Noël Avila (1):
+      l10n: fr.po v2.10.0-rc2
+
+Jiang Xin (3):
+      l10n: git.pot: v2.10.0 round 1 (248 new, 56 removed)
+      l10n: git.pot: v2.10.0 round 2 (12 new, 44 removed)
+      l10n: zh_CN: for git v2.10.0 l10n round 2
+
+Junio C Hamano (2):
+      A few more fixes before the final 2.10
+      Git 2.10
+
+Lars Schneider (1):
+      pack-protocol: fix maximum pkt-line size
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2757t0f0u)
+
+René Scharfe (1):
+      p3400: make test script executable
+
+Thomas Gummerer (1):
+      blame: fix segfault on untracked files
+
+Trần Ngọc Quân (2):
+      l10n: Updated Vietnamese translation for v2.10.0 (2789t)
+      l10n: Updated Vietnamese translation for v2.10.0-rc2 (2757t)
+
+Vasco Almeida (2):
+      l10n: pt_PT: merge git.pot
+      l10n: pt_PT: update Portuguese translation
+
+
+Version v2.10.0-rc2; changes since v2.10.0-rc1:
+-----------------------------------------------
+
+Ben Wijen (2):
+      t6026-merge-attr: child processes must not inherit index.lock handles
+      mingw: ensure temporary file handles are not inherited by child processes
+
+David Glasser (1):
+      doc: mention `git -c` in git-config(1)
+
+Heiko Voigt (1):
+      SubmittingPatches: document how to reference previous commits
+
+Jean-Noël Avila (3):
+      i18n: fix typos for translation
+      i18n: fix git rebase interactive commit messages
+      i18n: simplify numeric error reporting
+
+Johannes Schindelin (1):
+      Revert "display HTML in default browser using Windows' shell API"
+
+Junio C Hamano (2):
+      Prepare for 2.10.0-rc2
+      Git 2.10-rc2
+
+Torsten Bögershausen (2):
+      git ls-files: text=auto eol=lf is supported in Git 2.10
+      gitattributes: Document the unified "auto" handling
+
+
+Version v2.10.0-rc1; changes since v2.10.0-rc0:
+-----------------------------------------------
+
+Johannes Schindelin (2):
+      t/Makefile: ensure that paths are valid on platforms we care
+      rev-parse: respect core.hooksPath in --git-path
+
+John Keeping (1):
+      difftool: always honor fatal error exit codes
+
+Junio C Hamano (4):
+      Relnotes: decribe the updates to the "text=auto" attribute
+      relnotes: redo the description of text=auto fix
+      RelNotes: final batch of topics before -rc1
+      Git 2.10-rc1
+
+Linus Torvalds (1):
+      gpg-interface: prefer "long" key format output when verifying pgp signatures
+
+Matthieu Moy (1):
+      git-multimail: update to release 1.4.0
+
+René Scharfe (7):
+      correct FLEXPTR_* example in comment
+      mailinfo: recycle strbuf in check_header()
+      commit: use xstrdup() in get_merge_parent()
+      commit: factor out set_merge_remote_desc()
+      merge-recursive: fix verbose output for multiple base trees
+      commit: use FLEX_ARRAY in struct merge_remote_desc
+      receive-pack: use FLEX_ALLOC_MEM in queue_command()
+
+SZEDER Gábor (1):
+      t1410: remove superfluous 'git reflog' from the 'walk past root' test
+
+Stefan Beller (1):
+      checkout: do not mention detach advice for explicit --detach option
+
+Torsten Bögershausen (1):
+      convert: Correct NNO tests and missing `LF will be replaced by CRLF`
+
+Vasco Almeida (3):
+      t3404: become resilient to GETTEXT_POISON
+      t5520: become resilient to GETTEXT_POISON
+      t7411: become resilient to GETTEXT_POISON
+
+
+Version v2.10.0-rc0; changes since v2.9.5:
+------------------------------------------
+
+Alexander Hirsch (1):
+      pull: warn on --verify-signatures with --rebase
+
+Antoine Queru (1):
+      upload-pack.c: use parse-options API
+
+Christian Couder (50):
+      builtin/apply: make gitdiff_verify_name() return void
+      builtin/apply: avoid parameter shadowing 'p_value' global
+      builtin/apply: avoid parameter shadowing 'linenr' global
+      builtin/apply: avoid local variable shadowing 'len' parameter
+      builtin/apply: extract line_by_line_fuzzy_match() from match_fragment()
+      builtin/apply: move 'options' variable into cmd_apply()
+      builtin/apply: move 'read_stdin' global into cmd_apply()
+      builtin/apply: introduce 'struct apply_state' to start libifying
+      builtin/apply: move 'state' init into init_apply_state()
+      builtin/apply: move 'unidiff_zero' global into 'struct apply_state'
+      builtin/apply: move 'check' global into 'struct apply_state'
+      builtin/apply: move 'check_index' global into 'struct apply_state'
+      builtin/apply: move 'apply_in_reverse' global into 'struct apply_state'
+      builtin/apply: move 'apply_with_reject' global into 'struct apply_state'
+      builtin/apply: move 'apply_verbosely' global into 'struct apply_state'
+      builtin/apply: move 'update_index' global into 'struct apply_state'
+      builtin/apply: move 'allow_overlap' global into 'struct apply_state'
+      builtin/apply: move 'cached' global into 'struct apply_state'
+      builtin/apply: move 'diffstat' global into 'struct apply_state'
+      builtin/apply: move 'numstat' global into 'struct apply_state'
+      builtin/apply: move 'summary' global into 'struct apply_state'
+      builtin/apply: move 'threeway' global into 'struct apply_state'
+      builtin/apply: move 'no_add' global into 'struct apply_state'
+      builtin/apply: move 'unsafe_paths' global into 'struct apply_state'
+      builtin/apply: move 'line_termination' global into 'struct apply_state'
+      builtin/apply: move 'fake_ancestor' global into 'struct apply_state'
+      builtin/apply: move 'p_context' global into 'struct apply_state'
+      builtin/apply: move 'apply' global into 'struct apply_state'
+      builtin/apply: move 'patch_input_file' global into 'struct apply_state'
+      builtin/apply: move 'limit_by_name' global into 'struct apply_state'
+      builtin/apply: move 'has_include' global into 'struct apply_state'
+      builtin/apply: move 'p_value' global into 'struct apply_state'
+      builtin/apply: move 'p_value_known' global into 'struct apply_state'
+      builtin/apply: move 'root' global into 'struct apply_state'
+      builtin/apply: move 'whitespace_error' global into 'struct apply_state'
+      builtin/apply: move 'whitespace_option' into 'struct apply_state'
+      builtin/apply: remove whitespace_option arg from set_default_whitespace_mode()
+      builtin/apply: move 'squelch_whitespace_errors' into 'struct apply_state'
+      builtin/apply: move 'applied_after_fixing_ws' into 'struct apply_state'
+      builtin/apply: move 'ws_error_action' into 'struct apply_state'
+      builtin/apply: move 'ws_ignore_action' into 'struct apply_state'
+      builtin/apply: move 'max_change' and 'max_len' into 'struct apply_state'
+      builtin/apply: move 'state_linenr' global into 'struct apply_state'
+      builtin/apply: move 'fn_table' global into 'struct apply_state'
+      builtin/apply: move 'symlink_changes' global into 'struct apply_state'
+      builtin/apply: move 'state' check into check_apply_state()
+      builtin/apply: move applying patches into apply_all_patches()
+      builtin/apply: add 'lock_file' pointer into 'struct apply_state'
+      builtin/apply: move 'newfd' global into 'struct apply_state'
+      .mailmap: use Christian Couder's Tuxfamily address
+
+Christopher Layne (1):
+      git-svn: clone: Fail on missing url argument
+
+David Aguilar (2):
+      subtree: adjust style to match CodingGuidelines
+      subtree: adjust function definitions to match CodingGuidelines
+
+David Turner (2):
+      refs: allow log-only updates
+      refs: don't dereference on rename
+
+Elia Pinto (2):
+      http.c: implement the GIT_TRACE_CURL environment variable
+      imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
+
+Eric Sunshine (1):
+      blame: drop strdup of string literal
+
+Eric Wong (17):
+      fast-import: implement unpack limit
+      fast-import: invalidate pack_id references after loosening
+      pretty: support "mboxrd" output format
+      mailsplit: support unescaping mboxrd messages
+      am: support --patch-format=mboxrd
+      git-svn: skip mergeinfo handling with --no-follow-parent
+      git-svn: warn instead of dying when commit data is missing
+      config.mak.uname: define NEEDS_LIBRT under Linux, for now
+      http-walker: remove unused parameter from fetch_object
+      http: avoid disconnecting on 404s for loose objects
+      http-walker: reduce O(n) ops with doubly-linked list
+      list: avoid incompatibility with *BSD sys/queue.h
+      git-svn: document svn.authorsProg in config
+      git-svn: allow --version to work anywhere
+      git svn: migrate tests to use lib-httpd
+      pager: move pager-specific setup into the build
+      http-backend: buffer headers before sending
+
+Ingo Brückl (3):
+      t3700: remove unwanted leftover files before running new tests
+      t3700: merge two tests into one
+      t3700: add a test_mode_in_index helper function
+
+Jacob Keller (1):
+      completion: add completion for --submodule=* diff option
+
+Jeff King (72):
+      git_config_with_options: drop "found" counting
+      git_config_parse_parameter: refactor cleanup code
+      config: set up config_source for command-line config
+      config: return configset value for current_config_ functions
+      config: add a notion of "scope"
+      upload-pack: provide a hook for running pack-objects
+      parse_opt_string_list: stop allocating new strings
+      interpret-trailers: don't duplicate option strings
+      blame,shortlog: don't make local option variables static
+      use string_list initializer consistently
+      repack: document --unpack-unreachable option
+      repack: add --keep-unreachable option
+      repack: extend --keep-unreachable to loose objects
+      gpg-interface: use child_process.args
+      verify_signed_buffer: drop pbuf variable
+      verify_signed_buffer: use tempfile object
+      run-command: add pipe_command helper
+      verify_signed_buffer: use pipe_command
+      sign_buffer: use pipe_command
+      t/perf: fix regression in testing older versions of git
+      p4211: explicitly disable renames in no-rename test
+      color: fix max-size comment
+      doc: refactor description of color format
+      add skip_prefix_mem helper
+      color: refactor parse_attr
+      color: allow "no-" for negating attributes
+      color: support "italic" attribute
+      color: support strike-through attribute
+      t9300: factor out portable "head -c" replacement
+      t5000: test tar files that overflow ustar headers
+      archive-tar: write extended headers for file sizes >= 8GB
+      archive-tar: write extended headers for far-future mtime
+      archive-tar: drop return value
+      config: fix bogus fd check when setting up default config
+      branch: use non-gentle write_file for branch description
+      write_file: drop "gently" form
+      write_file: use xopen
+      write_file: add pointer+len variant
+      write_file: add format attribute
+      use write_file_buf where applicable
+      branch: use write_file_buf instead of write_file
+      walker: let walker_say take arbitrary formats
+      avoid using sha1_to_hex output as printf format
+      check_everything_connected: always pass --quiet to rev-list
+      rev-list: add optional progress reporting
+      check_everything_connected: convert to argv_array
+      check_everything_connected: use a struct with named options
+      check_connected: relay errors to alternate descriptor
+      check_connected: add progress flag
+      clone: use a real progress meter for connectivity check
+      index-pack: add flag for showing delta-resolution progress
+      receive-pack: turn on index-pack resolving progress
+      receive-pack: relay connectivity errors to sideband
+      receive-pack: turn on connectivity progress
+      receive-pack: send keepalives during quiet periods
+      contrib/git-jump: fix greedy regex when matching hunks
+      contrib/git-jump: add whitespace-checking mode
+      contrib/git-jump: fix typo in README
+      t/perf: add tests for many-pack scenarios
+      sha1_file: drop free_pack_by_name
+      add generic most-recently-used list
+      find_pack_entry: replace last_found_pack with MRU cache
+      pack-objects: break out of want_object loop early
+      pack-objects: compute local/ignore_pack_keep early
+      trace: handle NULL argument in trace_disable()
+      trace: stop using write_or_whine_pipe()
+      trace: use warning() for printing trace errors
+      trace: cosmetic fixes for error messages
+      trace: correct variable name in write() error message
+      trace: disable key after write error
+      write_or_die: drop write_or_whine_pipe()
+      trace: do not fall back to stderr
+
+Johannes Schindelin (36):
+      log: prepare log/log-tree to reuse the diffopt.close_file attribute
+      log-tree: respect diffopt's configured output file stream
+      line-log: respect diffopt's configured output file stream
+      graph: respect the diffopt.file setting
+      shortlog: support outputting to streams other than stdout
+      format-patch: explicitly switch off color when writing to files
+      format-patch: avoid freopen()
+      format-patch: use stdout directly
+      shortlog: respect the --output=<file> setting
+      t4211: ensure that log respects --output=<file>
+      diff: do not color output when --color=auto and --output=<file> is given
+      t3404: add a test for the --gpg-sign option
+      rebase -i: demonstrate a bug with --autosquash
+      rebase -i: we allow extra spaces after fixup!/squash!
+      mingw: fix the shortlog --output=<file> test
+      mingw: fix regression in t1308-config-set
+      fsck: refactor how to describe objects
+      fsck_walk(): optionally name objects on the go
+      fsck: give the error function a chance to see the fsck_options
+      fsck: optionally show more helpful info for broken links
+      t5520: verify that `pull --rebase` shows the helpful advice when failing
+      die("bug"): report bugs consistently
+      die(_("BUG")): avoid translating bug messages
+      merge-recursive: clarify code in was_tracked()
+      prepare the builtins for a libified merge_recursive()
+      merge_recursive: abort properly upon errors
+      merge-recursive: avoid returning a wholesale struct
+      merge-recursive: allow write_tree_from_memory() to error out
+      merge-recursive: handle return values indicating errors
+      merge-recursive: switch to returning errors instead of dying
+      am -3: use merge_recursive() directly again
+      merge-recursive: flush output buffer before printing error messages
+      merge-recursive: write the commit title in one go
+      merge-recursive: offer an option to retain the output in 'obuf'
+      merge_trees(): ensure that the callers release output buffer
+      merge-recursive: flush output buffer even when erroring out
+
+Johannes Sixt (5):
+      git-submodule: forward exit code of git-submodule--helper more faithfully
+      submodule-helper: fix indexing in clone retry error reporting path
+      rebase-interactive: trim leading whitespace from progress count
+      config.c: avoid duplicated global static variables
+      commit-slab.h: avoid duplicated global static variables
+
+Jonathan Tan (1):
+      fetch-pack: grow stateless RPC windows exponentially
+
+Jordan DE GEA (1):
+      worktree: allow "-" short-hand for @{-1} in add command
+
+Josh Triplett (1):
+      format-patch: format.from gives the default for --from
+
+Junio C Hamano (21):
+      send-email: detect and offer to skip backup files
+      pathspec: rename free_pathspec() to clear_pathspec()
+      t1308: do not get fooled by symbolic links to the source tree
+      builtin/apply: remove misleading comment on lock_file field
+      Start the post-2.9 cycle
+      Second batch of topics for 2.10
+      Third batch of topics for 2.10
+      commit.c: remove print_commit_list()
+      Fourth batch of topics for 2.10
+      Fifth batch of topics for 2.10
+      archive-tar: huge offset and future timestamps would not work on 32-bit
+      Sixth batch of topics for 2.10
+      Seventh batch of topics for 2.10
+      t9100: portability fix
+      Eighth batch of topics for 2.10
+      Ninth batch of topics for 2.10
+      Tenth batch for 2.10
+      Eleventh batch for 2.10
+      Twelfth batch for 2.10
+      Final batch before 2.10-rc0
+      Git 2.10-rc0
+
+Kevin Willford (4):
+      patch-ids: stop using a hand-rolled hashmap implementation
+      patch-ids: replace the seen indicator with a commit pointer
+      patch-ids: add flag to create the diff patch id using header only data
+      rebase: avoid computing unnecessary patch IDs
+
+Lars Schneider (1):
+      git-p4: place temporary refs used for branch import under refs/git-p4-tmp
+
+Lukas Fleischer (1):
+      receive-pack: send auto-gc output over sideband 2
+
+Mehul Jain (3):
+      t4202: refactor test
+      log: add "--no-show-signature" command line option
+      log: add log.showSignature configuration variable
+
+Michael Haggerty (50):
+      t1404: demonstrate a bug resolving references
+      commit_ref(): if there is an empty dir in the way, delete it
+      read_raw_ref(): don't get confused by an empty directory
+      safe_create_leading_directories(): improve docstring
+      remove_dir_recursively(): add docstring
+      refname_is_safe(): use skip_prefix()
+      refname_is_safe(): don't allow the empty string
+      refname_is_safe(): insist that the refname already be normalized
+      commit_ref_update(): write error message to *err, not stderr
+      rename_ref(): remove unneeded local variable
+      ref_transaction_commit(): remove local variables n and updates
+      read_raw_ref(): rename flags argument to type
+      read_raw_ref(): clear *type at start of function
+      read_raw_ref(): rename symref argument to referent
+      read_raw_ref(): improve docstring
+      read_raw_ref(): move docstring to header file
+      lock_ref_sha1_basic(): remove unneeded local variable
+      refs: make error messages more consistent
+      ref_transaction_create(): disallow recursive pruning
+      ref_transaction_commit(): correctly report close_ref() failure
+      delete_branches(): use resolve_refdup()
+      verify_refname_available(): adjust constness in declaration
+      add_update(): initialize the whole ref_update
+      lock_ref_for_update(): new function
+      unlock_ref(): move definition higher in the file
+      ref_transaction_update(): check refname_is_safe() at a minimum
+      refs: resolve symbolic refs first
+      lock_ref_for_update(): don't re-read non-symbolic references
+      lock_ref_for_update(): don't resolve symrefs
+      commit_ref_update(): remove the flags parameter
+      lock_ref_sha1_basic(): only handle REF_NODEREF mode
+      refs: remove unnecessary "extern" keywords
+      do_for_each_ref(): move docstring to the header file
+      refs: use name "prefix" consistently
+      delete_refs(): add a flags argument
+      remote rm: handle symbolic refs correctly
+      get_ref_cache(): only create an instance if there is a submodule
+      entry_resolves_to_object(): rename function from ref_resolves_to_object()
+      ref_resolves_to_object(): new function
+      refs: introduce an iterator interface
+      do_for_each_ref(): reimplement using reference iteration
+      for_each_reflog(): don't abort for bad references
+      dir_iterator: new API for iterating over a directory tree
+      for_each_reflog(): reimplement using iterators
+      t1404: rename file to t1404-update-ref-errors.sh
+      t1404: remove "prefix" argument to test_update_rejected
+      t1404: document function test_update_rejected
+      t1404: add more tests of update-ref error handling
+      lock_ref_for_update(): make error handling more uniform
+      lock_ref_for_update(): avoid a symref resolution
+
+Michael J Gruber (2):
+      gpg-interface: check gpg signature creation status
+      t/t91*: do not say how to avoid the tests
+
+Nguyễn Thái Ngọc Duy (20):
+      completion: support git-worktree
+      worktree.c: rewrite mark_current_worktree() to avoid strbuf
+      git-worktree.txt: keep subcommand listing in alphabetical order
+      worktree.c: use is_dot_or_dotdot()
+      worktree: avoid 0{40}, too many zeroes, hard to read
+      worktree: simplify prefixing paths
+      worktree.c: add find_worktree()
+      worktree.c: add is_main_worktree()
+      lib-httpd.sh: print error.log on error
+      worktree.c: add is_worktree_locked()
+      git-fetch.txt: document fetch output
+      fetch: refactor ref update status formatting code
+      fetch: change flag code for displaying tag update and deleted ref
+      fetch: align all "remote -> local" output
+      fetch: reduce duplicate in ref update status lines with placeholder
+      connect: read $GIT_SSH_COMMAND from config file
+      worktree: add "lock" command
+      worktree: add "unlock" command
+      worktree.c: find_worktree() search by path suffix
+      log: decorate HEAD -> branch with the same color for arrow and HEAD
+
+René Scharfe (4):
+      am: ignore return value of write_file()
+      pass constants as first argument to st_mult()
+      use CHILD_PROCESS_INIT to initialize automatic variables
+      archive-tar: make write_extended_header() void
+
+Ronald Wampler (1):
+      Makefile: add NEEDS_LIBRT to optionally link with librt
+
+Stefan Beller (19):
+      submodule update: make use of the existing fetch_in_submodule function
+      submodule-config: keep shallow recommendation around
+      submodule update: learn `--[no-]recommend-shallow` option
+      submodule--helper: initial clone learns retry logic
+      submodule update: continue when a clone fails
+      push options: {pre,post}-receive hook learns about push options
+      receive-pack: implement advertising and receiving push options
+      push: accept push options
+      add a test for push options
+      t7406: future proof tests with hard coded depth
+      submodule update: respect depth in subsequent fetches
+      submodule update: narrow scope of local variable
+      submodule--helper: fix usage string for relative-path
+      submodule-config: keep configured branch around
+      gitmodules: document shallow recommendation
+      submodule--helper: add remote-branch helper
+      submodule update: allow '.' for branch value
+      submodule--helper: use parallel processor correctly
+      t7406: fix breakage on OSX
+
+Thomas Braun (3):
+      completion: factor out untracked file modes into a variable
+      completion: add __git_get_option_value helper
+      completion: add git status
+
+Vasco Almeida (44):
+      i18n: builtin/remote.c: fix mark for translation
+      i18n: advice: mark string about detached head for translation
+      i18n: advice: internationalize message for conflicts
+      i18n: transport: mark strings for translation
+      i18n: sequencer: mark entire sentences for translation
+      i18n: rebase-interactive: mark here-doc strings for translation
+      i18n: sequencer: mark string for translation
+      i18n: rebase-interactive: mark comments of squash for translation
+      i18n: merge-octopus: mark messages for translation
+      i18n: setup: mark strings for translation
+      merge-octopus: use die shell function from git-sh-setup.sh
+      tests: use test_i18n* functions to suppress false positives
+      i18n: rebase: fix marked string to use eval_gettext variant
+      tests: unpack-trees: update to use test_i18n* functions
+      i18n: rebase: mark placeholder for translation
+      t9003: become resilient to GETTEXT_POISON
+      i18n: bisect: simplify error message for i18n
+      t4153: fix negated test_i18ngrep call
+      t6030: update to use test_i18ncmp
+      t5523: use test_i18ngrep for negation
+      i18n: git-sh-setup.sh: mark strings for translation
+      i18n: bisect: mark strings for translation
+      i18n: rebase-interactive: mark strings for translation
+      i18n: transport-helper.c: change N_() call to _()
+      i18n: notes: mark strings for translation
+      i18n: notes: mark options for translation
+      i18n: merge: mark messages for translation
+      i18n: merge: change command option help to lowercase
+      i18n: sequencer: add period to error message
+      i18n: standardise messages
+      i18n: remote: mark URL fallback text for translation
+      i18n: remote: allow translations to reorder message
+      i18n: init-db: join message pieces
+      i18n: submodule: join strings marked for translation
+      i18n: submodule: escape shell variables inside eval_gettext
+      i18n: unmark die messages for translation
+      i18n: branch: mark comment when editing branch description for translation
+      t5541: become resilient to GETTEXT_POISON
+      t5510: skip tests under GETTEXT_POISON build
+      i18n: notes: mark comment for translation
+      i18n: config: unfold error messages marked for translation
+      i18n: setup: mark error messages for translation
+      i18n: archive: mark errors for translation
+      i18n: git-stash: mark messages for translation
+
+Ville Skyttä (2):
+      completion: complete --delete, --move, and --remotes for git branch
+      Spelling fixes
+
+William Duclot (1):
+      userdiff: add built-in pattern for CSS
+
+brian m. carlson (11):
+      hex: add oid_to_hex_r()
+      contrib/coccinelle: add basic Coccinelle transforms
+      coccinelle: convert hashcpy() with null_sha1 to hashclr()
+      coccinelle: apply object_id Coccinelle transformations
+      diff: convert struct diff_filespec to struct object_id
+      diff: rename struct diff_filespec's sha1_valid member
+      merge-recursive: convert struct stage_data to use object_id
+      merge-recursive: convert struct merge_file_info to object_id
+      merge-recursive: convert leaf functions to use struct object_id
+      merge-recursive: convert merge_recursive_generic() to object_id
+      diff: convert prep_temp_blob() to struct object_id
+
+
+Version v2.9.5; changes since v2.9.4:
+-------------------------------------
+
+Jeff King (4):
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (4):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+      Git 2.9.5
+
+
+Version v2.9.4; changes since v2.9.3:
+-------------------------------------
+
+Beat Bolli (1):
+      SubmittingPatches: use gitk's "Copy commit summary" format
+
+Ben Wijen (2):
+      t6026-merge-attr: child processes must not inherit index.lock handles
+      mingw: ensure temporary file handles are not inherited by child processes
+
+David Glasser (1):
+      doc: mention `git -c` in git-config(1)
+
+Heiko Voigt (1):
+      SubmittingPatches: document how to reference previous commits
+
+Jeff King (12):
+      add an extra level of indirection to main()
+      common-main: call git_extract_argv0_path()
+      common-main: call sanitize_stdfds()
+      common-main: call restore_sigpipe_to_default()
+      common-main: call git_setup_gettext()
+      doc/rev-list-options: clarify "commit@{Nth}" for "-g" option
+      doc/rev-list-options: explain "-g" output formats
+      doc/pretty-formats: describe index/time formats for %gd
+      doc/pretty-formats: explain shortening of %gd
+      date: document and test "raw-local" mode
+      date: add "unix" format
+      shell: disallow repo names beginning with dash
+
+Johannes Schindelin (6):
+      mingw: declare main()'s argv as const
+      import-tars: support hard links
+      t5533: make it pass on case-sensitive filesystems
+      git mv: do not keep slash in `git mv dir non-existing-dir/`
+      t/Makefile: ensure that paths are valid on platforms we care
+      Revert "display HTML in default browser using Windows' shell API"
+
+John Keeping (4):
+      Documentation/git-push: fix placeholder formatting
+      push: add shorthand for --force-with-lease branch creation
+      push: allow pushing new branches with --force-with-lease
+      difftool: always honor fatal error exit codes
+
+Junio C Hamano (9):
+      merge: avoid "safer crlf" during recording of merge results
+      date: clarify --date=raw description
+      Prepare for 2.9.4
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+      Git 2.9.4
+
+Lars Schneider (1):
+      pack-protocol: fix maximum pkt-line size
+
+Michael Stahl (1):
+      document git-repack interaction of pack.threads and pack.windowMemory
+
+René Scharfe (10):
+      merge-recursive: use STRING_LIST_INIT_NODUP
+      merge: use string_list_split() in add_strategies()
+      use strbuf_add_unique_abbrev() for adding short hashes
+      correct FLEXPTR_* example in comment
+      mailinfo: recycle strbuf in check_header()
+      commit: use xstrdup() in get_merge_parent()
+      commit: factor out set_merge_remote_desc()
+      merge-recursive: fix verbose output for multiple base trees
+      commit: use FLEX_ARRAY in struct merge_remote_desc
+      receive-pack: use FLEX_ALLOC_MEM in queue_command()
+
+SZEDER Gábor (1):
+      t1410: remove superfluous 'git reflog' from the 'walk past root' test
+
+Stefan Beller (1):
+      checkout: do not mention detach advice for explicit --detach option
+
+Torsten Bögershausen (1):
+      convert: unify the "auto" handling of CRLF
+
+
+Version v2.9.3; changes since v2.9.2:
+-------------------------------------
+
+Alex Henrie (1):
+      unpack-trees: fix English grammar in do-this-before-that messages
+
+Andreas Brauchli (1):
+      gitweb: escape link body in format_ref_marker
+
+Armin Kunaschik (1):
+      t7610: test for mktemp before test execution
+
+Charles Bailey (3):
+      t7810-grep.sh: fix duplicated test name
+      t7810-grep.sh: fix a whitespace inconsistency
+      grep: fix grepping for "intent to add" files
+
+Chris Packham (1):
+      completion: add option '--recurse-submodules' to 'git clone'
+
+David A. Greene (1):
+      contrib/subtree: Add a test for subtree rebase that loses commits
+
+David Aguilar (4):
+      t7900-subtree.sh: fix quoting and broken && chains
+      subtree: fix "git subtree split --rejoin"
+      difftool: avoid $GIT_DIR and $GIT_WORK_TREE
+      difftool: use Git::* functions instead of passing around state
+
+David Kastrup (1):
+      blame: require 0 context lines while finding moved lines with -M
+
+Eric Wong (6):
+      gc: fix off-by-one error with gc.autoPackLimit
+      xread: retry after poll on EAGAIN/EWOULDBLOCK
+      xwrite: poll on non-blocking FDs
+      hoist out handle_nonblock function for xread and xwrite
+      daemon: ignore ENOTSOCK from setsockopt
+      configure.ac: stronger test for pthread linkage
+
+Heiko Voigt (3):
+      submodule-config: passing name reference for .gitmodule blobs
+      submodule-config: combine early return code into one goto
+      submodule-config: fix test binary crashing when no arguments given
+
+Jeff King (14):
+      send-pack: use buffered I/O to talk to pack-objects
+      tests: factor portable signal check out of t0005
+      t0005: use test_match_signal as appropriate
+      test_must_fail: use test_match_signal
+      t/lib-git-daemon: use test_match_signal
+      parse_options: allocate a new array when concatenating
+      Makefile: drop extra dependencies for test helpers
+      Makefile: use VCSSVN_LIB to refer to svn library
+      push: anonymize URL in status output
+      t5541: fix url scrubbing test when GPG is not set
+      diff: do not reuse worktree files that need "clean" conversion
+      t4205: drop top-level &&-chaining
+      t4205: indent here documents
+      am: reset cached ident date for each patch
+
+Joey Hess (1):
+      clarify %f documentation
+
+Johannes Schindelin (13):
+      pretty: make the skip_blank_lines() function public
+      commit.c: make find_commit_subject() more robust
+      color.h: remove obsolete comment about limitations on Windows
+      t3404: fix a grammo (commands are ran -> commands are run)
+      commit -C: skip blank lines at the beginning of the message
+      sequencer: use skip_blank_lines() to find the commit subject
+      reset --hard: skip blank lines when reporting the commit subject
+      commit -S: avoid invalid pointer with empty message
+      am: counteract gender bias
+      diff: demonstrate a bug with --patience and --ignore-space-at-eol
+      diff: fix a double off-by-one with --ignore-space-at-eol
+      t/test-lib.sh: fix running tests with --valgrind
+      nedmalloc: fix misleading indentation
+
+Johannes Sixt (2):
+      Windows: add missing definition of ENOTSOCK
+      t4130: work around Windows limitation
+
+John Keeping (1):
+      difftool: fix argument handling in subdirs
+
+Junio C Hamano (7):
+      diff: document diff-filter exclusion
+      grep: further simplify setting the pattern type
+      Some fixes for 2.9.3
+      hashmap: clarify that hashmap_entry can safely be discarded
+      Hopefully final batch for 2.9.3
+      Yet another batch for 2.9.3
+      Git 2.9.3
+
+Lars Schneider (1):
+      travis-ci: enable web server tests t55xx on Linux
+
+Lukas Fleischer (3):
+      sideband.c: make send_sideband() return void
+      upload-pack.c: make send_client_data() return void
+      sideband.c: refactor recv_sideband()
+
+Matthieu Moy (8):
+      Documentation/git-mv.txt: fix whitespace indentation
+      doc: typeset short command-line options as literal
+      doc: typeset long command-line options as literal
+      doc: typeset '--' as literal
+      doc: typeset long options with argument as literal
+      CodingGuidelines: formatting HEAD in documentation
+      doc: typeset HEAD and variants as literal
+      status: suggest 'git merge --abort' when appropriate
+
+Mike Hommey (2):
+      blame: allow to blame paths freshly added to the index
+      t/t8003-blame-corner-cases.sh: Use here documents
+
+Nguyễn Thái Ngọc Duy (26):
+      new-command.txt: correct the command description file
+      grep: break down an "if" stmt in preparation for next changes
+      test-regex: isolate the bug test code
+      test-regex: expose full regcomp() to the command line
+      grep/icase: avoid kwsset on literal non-ascii strings
+      grep/icase: avoid kwsset when -F is specified
+      grep: rewrite an if/else condition to avoid duplicate expression
+      grep/pcre: prepare locale-dependent tables for icase matching
+      gettext: add is_utf8_locale()
+      grep/pcre: support utf-8
+      diffcore-pickaxe: Add regcomp_or_die()
+      diffcore-pickaxe: support case insensitive match on non-ascii
+      grep.c: reuse "icase" variable
+      pack-objects: pass length to check_pack_crc() without truncation
+      sha1_file.c: use type off_t* for object_info->disk_sizep
+      index-pack: correct "len" type in unpack_data()
+      index-pack: report correct bad object offsets even if they are large
+      index-pack: correct "offset" type in unpack_entry_data()
+      pack-objects: do not truncate result in-pack object size on 32-bit systems
+      fsck: use streaming interface for large blobs in pack
+      test-lib.sh: introduce and use $EMPTY_TREE
+      test-lib.sh: introduce and use $EMPTY_BLOB
+      cache-tree.c: fix i-t-a entry skipping directory updates sometimes
+      cache-tree: do not generate empty trees as a result of all i-t-a subentries
+      config.mak.uname: correct perl path on FreeBSD
+      t7063: work around FreeBSD's lazy mtime update feature
+
+Nicolas Pitre (1):
+      sideband.c: small optimization of strbuf usage
+
+Orgad Shaneh (1):
+      commit: describe that --no-verify skips the commit-msg hook in the help text
+
+Parker Moore (2):
+      contrib/persistent-https: update ldflags syntax for Go 1.7+
+      contrib/persistent-https: use Git version for build label
+
+Patrick Steinhardt (1):
+      rebase -i: restore autostash on abort
+
+Pranit Bauva (1):
+      builtin/commit.c: memoize git-path for COMMIT_EDITMSG
+
+Ramsay Jones (1):
+      write_or_die: remove the unused write_or_whine() function
+
+René Scharfe (10):
+      .gitattributes: set file type for C files
+      notes-merge: use O_EXCL to avoid overwriting existing files
+      rm: reuse strbuf for all remove_dir_recursively() calls
+      worktree: use strbuf_add_absolute_path() directly
+      use strbuf_addbuf() for appending a strbuf to another
+      submodule-config: use explicit empty string instead of strbuf in config_from()
+      strbuf: avoid calling strbuf_grow() twice in strbuf_addbuf()
+      use strbuf_addstr() for adding constant strings to a strbuf
+      use strbuf_addstr() instead of strbuf_addf() with "%s"
+      nedmalloc: work around overzealous GCC 6 warning
+
+Stefan Beller (2):
+      Documentation: pack-protocol correct NAK response
+      submodule deinit: remove outdated comment
+
+
+Version v2.9.2; changes since v2.9.1:
+-------------------------------------
+
+Jeff King (1):
+      t0006: skip "far in the future" test when unsigned long is not long enough
+
+Junio C Hamano (1):
+      Git 2.9.2
+
+
+Version v2.9.1; changes since v2.9.0:
+-------------------------------------
+
+Alfred Perlstein (1):
+      git-svn: document the 'git svn propset' command
+
+Andrew Oakley (1):
+      git-p4: correct hasBranchPrefix verbose output
+
+Armin Kunaschik (1):
+      t7800: readlink may not be available
+
+Charles Bailey (1):
+      t7810: fix duplicated test title
+
+Dave Nicolson (1):
+      Documentation: GPG capitalization
+
+David Turner (1):
+      mailmap: use main email address for dturner
+
+Ed Maste (1):
+      rebase: update comment about FreeBSD /bin/sh
+
+Edward Thomson (2):
+      format_commit_message: honor `color=auto` for `%C(auto)`
+      add: add --chmod=+x / --chmod=-x options
+
+Eric Wong (1):
+      daemon: enable SO_KEEPALIVE for all sockets
+
+Heiko Becker (1):
+      gnome-keyring: Don't hard-code pkg-config executable
+
+Jeff King (9):
+      rev-list: "adjust" results of "--count --use-bitmap-index -n"
+      rev-list: disable bitmaps when "-n" is used with listing objects
+      tree-diff: avoid alloca for large allocations
+      fetch: document that pruning happens before fetching
+      add--interactive: respect diff.compactionHeuristic
+      bisect: always call setup_revisions after init_revisions
+      t0006: rename test-date's "show" to "relative"
+      t0006: test various date formats
+      local_tzoffset: detect errors from tm_to_time_t
+
+Johannes Schindelin (3):
+      mingw: let the build succeed with DEVELOPER=1
+      perf: accommodate for MacOSX
+      t2300: "git --exec-path" is not usable in $PATH on Windows as-is
+
+Jonathan Nieder (1):
+      doc: git-htmldocs.googlecode.com is no more
+
+Josef Kufner (1):
+      pretty: pass graph width to pretty formatting for use in '%>|(N)'
+
+Junio C Hamano (5):
+      blame, line-log: do not loop around deref_tag()
+      clone: do not let --depth imply --shallow-submodules
+      Start preparing for 2.9.1
+      More fixes for 2.9.1
+      Git 2.9.1
+
+Keith McGuigan (1):
+      builtin/fetch.c: don't free remote->name after fetch
+
+LE Manh Cuong (1):
+      sh-setup: enclose setting of ${VAR=default} in double-quotes
+
+Lars Vogel (1):
+      Use "working tree" instead of "working directory" for git status
+
+Michael J Gruber (5):
+      cherry-pick: allow to pick to unborn branches
+      Documentation/technical: describe signature formats
+      Documentation/technical: signed tag format
+      Documentation/technical: signed commit format
+      Documentation/technical: signed merge tag format
+
+Nguyễn Thái Ngọc Duy (1):
+      pretty.c: support <direction>|(<negative number>) forms
+
+Peter Colberg (2):
+      refs.h: fix misspelt "occurred" in a comment
+      config.c: fix misspelt "occurred" in an error message
+
+Pranit Bauva (1):
+      strbuf: describe the return value of strbuf_read_file
+
+Ramsay Jones (1):
+      regex: fix a SIZE_MAX macro redefinition warning
+
+René Scharfe (9):
+      t4051: rewrite, add more tests
+      xdiff: factor out match_func_rec()
+      xdiff: handle appended chunks better with -W
+      xdiff: ignore empty lines before added functions with -W
+      xdiff: -W: don't include common trailing empty lines in context
+      xdiff: don't trim common tail with -W
+      t7810: add test for grep -W and trailing empty context lines
+      grep: -W: don't extend context to trailing empty lines
+      xdiff: fix merging of appended hunk with -W
+
+SZEDER Gábor (1):
+      reflog: continue walking the reflog past root commits
+
+Stefan Beller (1):
+      t5614: don't use subshells
+
+Tom Russello (4):
+      doc: clearer rule about formatting literals
+      doc: change environment variables format
+      doc: more consistency in environment variables format
+      doc: change configuration variables format
+
+Ville Skyttä (1):
+      git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
+
+
+Version v2.9.0; changes since v2.9.0-rc2:
+-----------------------------------------
+
+Alexander Shopov (1):
+      l10n: Updated Bulgarian translation of git (2597t,0f,0u)
+
+Antonin (1):
+      l10n: fr.po Fixed grammar mistake
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jean-Noël Avila (1):
+      l10n: fr.po v2.9.0rnd1
+
+Jeff King (1):
+      test-lib: add in-shell "env" replacement
+
+Jiang Xin (2):
+      l10n: git.pot: v2.9.0 round 1 (104 new, 37 removed)
+      l10n: zh_CN: for git v2.9.0 l10n round 1
+
+Junio C Hamano (5):
+      t5500 & t7403: lose bash-ism "local"
+      t2300: run git-sh-setup in an environment that better mimics the real life
+      diff: disable compaction heuristic for now
+      Hopefully the final last-minute update before 2.9 final
+      Git 2.9
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2597t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 104 new messages
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.9.0 l10n round 1
+
+Trần Ngọc Quân (1):
+      l10n: Updated Vietnamese translation (2597t)
+
+Vasco Almeida (3):
+      l10n: pt_PT: merge git.pot file
+      l10n: pt_PT: update according to git-gui glossary
+      l10n: pt_PT: update Portuguese translation
+
+
+Version v2.9.0-rc2; changes since v2.9.0-rc1:
+---------------------------------------------
+
+Benjamin Dopplinger (1):
+      README.md: format CLI commands with code syntax
+
+Erwan Mathoniere (1):
+      Documentation: bold literals in man
+
+Johannes Sixt (1):
+      rebase -i: remove an unnecessary 'rerere' invocation
+
+Junio C Hamano (3):
+      Almost ready for 2.9-rc2
+      Git 2.8.4
+      Git 2.9-rc2
+
+Matthieu Moy (2):
+      Makefile: move 'ifdef DEVELOPER' after config.mak* inclusion
+      Makefile: add $(DEVELOPER_CFLAGS) variable
+
+Pablo Santiago Blum de Aguiar (1):
+      git-cherry-pick.txt: correct a small typo
+
+René Scharfe (3):
+      apply: remove unused parameters from name_terminate()
+      patch-id: use starts_with() and skip_prefix()
+      perf: make the tests work without a worktree
+
+SZEDER Gábor (1):
+      Documentation/git-send-email: fix typo in gmail 2FA section
+
+Stefan Beller (2):
+      submodule--helper: offer a consistent API
+      submodule: remove bashism from shell script
+
+
+Version v2.9.0-rc1; changes since v2.9.0-rc0:
+---------------------------------------------
+
+Armin Kunaschik (1):
+      t0008: 4 tests fail with ksh88
+
+Eric Sunshine (5):
+      t1500: be considerate to future potential tests
+      t1500: test_rev_parse: facilitate future test enhancements
+      t1500: avoid changing working directory outside of tests
+      t1500: avoid setting configuration options outside of tests
+      t1500: avoid setting environment variables outside of tests
+
+Felipe Contreras (1):
+      fast-import: do not truncate exported marks file
+
+Jeff King (3):
+      cat-file: avoid noop calls to sha1_object_info_extended
+      cat-file: default to --buffer when --batch-all-objects is used
+      archive-tar: convert snprintf to xsnprintf
+
+Johannes Sixt (1):
+      t6044: replace seq by test_seq
+
+Junio C Hamano (5):
+      t4204: do not let $name variable clobbered
+      Start preparing for 2.8.4
+      Final batch before 2.9-rc1
+      More topics for 2.8.4
+      Git 2.9-rc1
+
+Karsten Blees (1):
+      mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*)
+
+Michael Rappazzo (1):
+      Documentation: add instructions to help setup gmail 2FA
+
+Ramsay Jones (1):
+      log: document the --decorate=auto option
+
+
+Version v2.9.0-rc0; changes since v2.8.6:
+-----------------------------------------
+
+Ben Woosley (1):
+      git-rebase--merge: don't include absent parent as a base
+
+Christian Couder (1):
+      Git/SVN: die when there is no commit metadata
+
+David Turner (5):
+      refs: move head_ref{,_submodule} to the common code
+      refs: move for_each_*ref* functions into common code
+      files-backend: break out ref reading
+      refs: move resolve_ref_unsafe into common code
+      refs: on symref reflog expire, lock symref not referrent
+
+Dennis Kaarsemaker (1):
+      Makefile: remove dependency on git.spec
+
+Elijah Newren (6):
+      merge-recursive: remove duplicate code
+      merge-recursive: do not check working copy when creating a virtual merge base
+      t7605: add a testcase demonstrating a bug with trivial merges
+      builtin/merge.c: fix a bug with trivial merges
+      t6044: new merge testcases for when index doesn't match HEAD
+      merge-octopus: abort if index does not match HEAD
+
+Eric Sunshine (4):
+      lib-gpg: drop unnecessary "missing GPG" warning
+      t6302: normalize names and descriptions of signed tags
+      t6302: also test annotated in addition to signed tags
+      t6302: skip only signed tags rather than all tests when GPG is missing
+
+Jacob Keller (7):
+      submodule: don't pass empty string arguments to submodule--helper clone
+      submodule: check argc count for git submodule--helper clone
+      submodule: fix submodule--helper clone usage
+      submodule: fix segmentation fault in submodule--helper clone
+      quote: implement sq_quotef()
+      git: submodule honor -c credential.* from command line
+      xdiff: add recs_match helper function
+
+Jacob Nisnevich (2):
+      mergetools: create mergetool_find_win32_cmd() helper function for winmerge
+      mergetools: add support for ExamDiff
+
+Jan Durovec (2):
+      git-p4: clean-up code style in tests
+      git-p4: add P4 jobs to git commit message
+
+Jeff King (16):
+      credential: let empty credential specs reset helper list
+      add--interactive: allow custom diff highlighting programs
+      git_config_push_parameter: handle empty GIT_CONFIG_PARAMETERS
+      t5550: fix typo in $HTTPD_URL
+      t5550: break submodule config test into multiple sub-tests
+      submodule: export sanitized GIT_CONFIG_PARAMETERS
+      submodule--helper: move config-sanitizing to submodule.c
+      submodule: use prepare_submodule_repo_env consistently
+      submodule: stop sanitizing config options
+      t6302: simplify non-gpg cases
+      t/lib-git-svn: drop $remote_git_svn and $git_svn_id
+      t9100,t3419: enclose all test code in single-quotes
+      t9107: use "return 1" instead of "exit 1"
+      t9107: switch inverted single/double quotes in test
+      t9103: modernize test style
+      always quote shell arguments to test -z/-n
+
+Johannes Schindelin (8):
+      http: support sending custom HTTP headers
+      tests: adjust the configuration for Apache 2.2
+      t5551: make the test for extra HTTP headers more robust
+      t3404: fix typo
+      submodule: ensure that -c http.extraheader is heeded
+      perf: let's disable symlinks when they are not available
+      perf: make the tests work in worktrees
+      perf: run "rebase -i" under perf
+
+Junio C Hamano (45):
+      rerere: split conflict ID further
+      rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
+      rerere: handle leftover rr-cache/$ID directory and postimage files
+      rerere: delay the recording of preimage
+      rerere: allow multiple variants to exist
+      t4200: rerere a merge with two identical conflicts
+      rerere: do use multiple variants
+      merge: refuse to create too cool a merge by default
+      pretty: enable --expand-tabs by default for selected pretty formats
+      pretty: allow tweaking tabwidth in --expand-tabs
+      First batch for post 2.8 cycle
+      pretty: test --expand-tabs
+      Second batch for post 2.8 cycle
+      Makefile: stop pretending to support rpmbuild
+      rerere: gc and clear
+      rerere: move code related to "forget" together
+      rerere: split code to call ll_merge() further
+      rerere: adjust 'forget' to multi-variant world order
+      Third batch for post 2.8 cycle
+      Fourth batch for post 2.8 cycle
+      ll-merge: fix typo in comment
+      Makefile: clean *.o files we create
+      Fifth batch for post 2.8 cycle
+      t3033: avoid 'ambiguous refs' warning
+      pull: pass --allow-unrelated-histories to "git merge"
+      Sixth batch for post 2.8 cycle
+      Seventh batch for post 2.8 cycle
+      Eighth batch for 2.9
+      diff: undocument the compaction heuristic knobs for experimentation
+      commit-tree: do not pay attention to commit.gpgsign
+      Ninth batch for 2.9
+      Tenth batch for 2.9
+      ll-merge: use a longer conflict marker for internal merge
+      t6036: remove pointless test that expects failure
+      ci: validate "linkgit:" in documentation
+      test-parse-options: fix output when callback option fails
+      test-parse-options: --expect=<string> option to simplify tests
+      t0040: remove unused test helpers
+      t0040: convert a few tests to use test-parse-options --expect
+      Eleventh batch for 2.9
+      rerere: plug memory leaks upon "rerere forget" failure
+      Twelfth batch for 2.9
+      Thirteenth batch for 2.9
+      rerere: remove an null statement
+      Git 2.9-rc0
+
+Lars Schneider (2):
+      git-p4: map a P4 user to Git author name and email address
+      travis-ci: enable Git SVN tests t91xx on Linux
+
+Laurent Arnoud (1):
+      tag: add the option to force signing of annotated tags
+
+Linus Torvalds (1):
+      pretty: expand tabs in indented logs to make things line up properly
+
+Matthieu Moy (7):
+      Documentation/diff-config: fix description of diff.renames
+      t4001-diff-rename: wrap file creations in a test
+      t: add tests for diff.renames (true/false/unset)
+      log: introduce init_log_defaults()
+      diff: activate diff.renames by default
+      README.md: don't take 'commandname' literally
+      git-multimail: update to release 1.3.1
+
+Mehul Jain (9):
+      git-pull.c: introduce git_pull_config()
+      pull --rebase: add --[no-]autostash flag
+      t5520: use consistent capitalization in test titles
+      t5520: ensure consistent test conditions
+      t5520: use better test to check stderr output
+      t5520: factor out common "successful autostash" code
+      t5520: factor out common "failing autostash" code
+      t5520: reduce commom lines of code
+      t5520: test --[no-]autostash with pull.rebase=true
+
+Michael Haggerty (19):
+      t1430: test the output and error of some commands more carefully
+      t1430: clean up broken refs/tags/shadow
+      t1430: don't rely on symbolic-ref for creating broken symrefs
+      t1430: test for-each-ref in the presence of badly-named refs
+      t1430: improve test coverage of deletion of badly-named refs
+      resolve_missing_loose_ref(): simplify semantics
+      resolve_ref_unsafe(): use for loop to count up to MAXDEPTH
+      resolve_ref_unsafe(): ensure flags is always set
+      resolve_ref_1(): eliminate local variable
+      resolve_ref_1(): reorder code
+      resolve_ref_1(): eliminate local variable "bad_name"
+      read_raw_ref(): manage own scratch space
+      files-backend: inline resolve_ref_1() into resolve_ref_unsafe()
+      read_raw_ref(): change flags parameter to unsigned int
+      fsck_head_link(): remove unneeded flag variable
+      cmd_merge(): remove unneeded flag variable
+      checkout_paths(): remove unneeded flag variable
+      check_aliased_update(): check that dst_name is non-NULL
+      show_head_ref(): check the result of resolve_ref_namespace()
+
+Michael J Gruber (1):
+      completion: complete --cherry-mark for git log
+
+Nguyễn Thái Ngọc Duy (57):
+      apply: report patch skipping in verbose mode
+      test helpers: move test-* to t/helper/ subdirectory
+      dir.c: rename str(n)cmp_icase to fspath(n)cmp
+      path.c: add git_common_path() and strbuf_git_common_path()
+      worktree.c: store "id" instead of "git_dir"
+      worktree.c: make find_shared_symref() return struct worktree *
+      worktree.c: mark current worktree
+      path.c: refactor and add worktree_git_path()
+      wt-status.c: split rebase detection out of wt_status_get_state()
+      wt-status.c: make wt_status_check_rebase() work on any worktree
+      worktree.c: avoid referencing to worktrees[i] multiple times
+      worktree.c: check whether branch is rebased in another worktree
+      wt-status.c: split bisect detection out of wt_status_get_state()
+      worktree.c: check whether branch is bisected in another worktree
+      branch: do not rename a branch under bisect or rebase
+      usage.c: move format processing out of die_errno()
+      usage.c: add warning_errno() and error_errno()
+      bisect.c: use die_errno() and warning_errno()
+      builtin/am.c: use error_errno()
+      builtin/branch.c: use error_errno()
+      builtin/fetch.c: use error_errno()
+      builtin/help.c: use warning_errno()
+      builtin/mailsplit.c: use error_errno()
+      builtin/merge-file.c: use error_errno()
+      builtin/pack-objects.c: use die_errno() and warning_errno()
+      builtin/rm.c: use warning_errno()
+      builtin/update-index.c: prefer "err" to "errno" in process_lstat_error
+      builtin/upload-archive.c: use error_errno()
+      builtin/worktree.c: use error_errno()
+      check-racy.c: use error_errno()
+      combine-diff.c: use error_errno()
+      compat/win32/syslog.c: use warning_errno()
+      config.c: use error_errno()
+      connected.c: use error_errno()
+      copy.c: use error_errno()
+      credential-cache--daemon.c: use warning_errno()
+      diff-no-index.c: use error_errno()
+      editor.c: use error_errno()
+      entry.c: use error_errno()
+      fast-import.c: use error_errno()
+      gpg-interface.c: use error_errno()
+      grep.c: use error_errno()
+      http.c: use error_errno() and warning_errno()
+      ident.c: use warning_errno()
+      mailmap.c: use error_errno()
+      reachable.c: use error_errno()
+      rerere.c: use error_errno() and warning_errno()
+      run-command.c: use error_errno()
+      sequencer.c: use error_errno()
+      server-info.c: use error_errno()
+      sha1_file.c: use {error,die,warning}_errno()
+      transport-helper.c: use error_errno()
+      unpack-trees.c: use error_errno()
+      upload-pack.c: use error_errno()
+      vcs-svn: use error_errno()
+      wrapper.c: use warning_errno()
+      wrap-for-bin.sh: regenerate bin-wrappers when switching branches
+
+Pranit Bauva (7):
+      t0040-test-parse-options.sh: fix style issues
+      test-parse-options: print quiet as integer
+      t0040-parse-options: improve test coverage
+      t/t7507: improve test coverage
+      parse-options.c: make OPTION_COUNTUP respect "unspecified" values
+      t7507-commit-verbose: improve test coverage by testing number of diffs
+      commit: add a commit.verbose config variable
+
+Ralf Thielow (3):
+      completion: add option '--guides' to 'git help'
+      completion: add 'revisions' and 'everyday' to 'git help'
+      rebase-i: print an abbreviated hash when stop for editing
+
+Ray Zhang (1):
+      worktree: add: introduce --checkout option
+
+Santiago Torres (6):
+      builtin/verify-tag.c: ignore SIGPIPE in gpg-interface
+      t7030: test verifying multiple tags
+      verify-tag: update variable name and type
+      verify-tag: prepare verify_tag for libification
+      verify-tag: move tag verification code to tag.c
+      tag -v: verify directly rather than exec-ing verify-tag
+
+Sidhant Sharma (1):
+      builtin/receive-pack.c: use parse_options API
+
+Stefan Beller (20):
+      submodule-config: keep update strategy around
+      submodule-config: drop check against NULL
+      fetching submodules: respect `submodule.fetchJobs` config option
+      submodule update: direct error message to stderr
+      run_processes_parallel: treat output of children as byte array
+      run_processes_parallel: rename parameters for the callbacks
+      git submodule update: have a dedicated helper for cloning
+      submodule helper: remove double 'fatal: ' prefix
+      submodule update: expose parallelism to the user
+      clone: allow an explicit argument for parallel submodule clones
+      rebase: decouple --exec from --interactive
+      t3404: cleanup double empty lines between tests
+      submodule: port resolve_relative_url from shell to C
+      submodule: port init from shell to C
+      xdiff: implement empty line chunk heuristic
+      clone: add `--shallow-submodules` flag
+      submodule init: fail gracefully with a missing .gitmodules file
+      submodule--helper update-clone: abort gracefully on missing .gitmodules
+      submodule deinit test: fix broken && chain in subshell
+      submodule init: redirect stdout to stderr
+
+Stephen P. Smith (1):
+      wt-status.c: set commitable bit if there is a meaningful merge.
+
+Xiaolong Ye (4):
+      patch-ids: make commit_patch_id() a public helper function
+      format-patch: add '--base' option to record base tree info
+      format-patch: introduce --base=auto option
+      format-patch: introduce format.useAutoBase configuration
+
+brian m. carlson (6):
+      sha1-name: introduce a get_oid() function
+      test-match-trees: convert to use struct object_id
+      match-trees: convert shift_tree() and shift_tree_by() to use object_id
+      struct name_entry: use struct object_id instead of unsigned char sha1[20]
+      tree-walk: convert tree_entry_extract() to use struct object_id
+      match-trees: convert several leaf functions to use struct object_id
+
+Ævar Arnfjörð Bjarmason (4):
+      githooks.txt: improve the intro section
+      githooks.txt: amend dangerous advice about 'update' hook ACL
+      githooks.txt: minor improvements to the grammar & phrasing
+      hooks: allow customizing where the hook directory is
+
+
+Version v2.8.6; changes since v2.8.5:
+-------------------------------------
+
+Jeff King (4):
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (3):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+      Git 2.8.6
+
+
+Version v2.8.5; changes since v2.8.4:
+-------------------------------------
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (5):
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+      Git 2.8.5
+
+
+Version v2.8.4; changes since v2.8.3:
+-------------------------------------
+
+Alexander Rinass (1):
+      diff: run arguments through precompose_argv
+
+Armin Kunaschik (1):
+      t4151: make sure argument to 'test -z' is given
+
+Brian Norris (3):
+      Documentation: config: improve word ordering for http.cookieFile
+      http: expand http.cookieFile as a path
+      config: consistently format $variables in monospaced font
+
+David Aguilar (2):
+      difftool: initialize variables for readability
+      difftool: handle unmerged files in dir-diff mode
+
+Jeff King (3):
+      rebase--interactive: avoid empty list in shell for-loop
+      test-lib: set BASH_XTRACEFD automatically
+      archive-tar: convert snprintf to xsnprintf
+
+Johannes Schindelin (3):
+      name-rev: include taggerdate in considering the best name
+      mingw: introduce the 'core.hideDotFiles' setting
+      mingw: remove unnecessary definition
+
+Junio C Hamano (9):
+      fsck_commit_buffer(): do not special case the last validation
+      config: describe 'pathname' value type
+      test-lib-functions.sh: remove misleading comment on test_seq
+      test-lib-functions.sh: rewrite test_seq without Perl
+      Documentation: fix linkgit references
+      fsck: detect and warn a commit with embedded NUL
+      Start preparing for 2.8.4
+      More topics for 2.8.4
+      Git 2.8.4
+
+Karsten Blees (1):
+      mingw: make isatty() recognize MSYS2's pseudo terminals (/dev/pty*)
+
+Keller Fuchs (1):
+      Documentation: clarify signature verification
+
+Lars Schneider (1):
+      travis-ci: build documentation
+
+Li Peng (1):
+      typofix: assorted typofixes in comments, documentation and messages
+
+Nguyễn Thái Ngọc Duy (1):
+      remote.c: specify correct plural form in "commit diverge" message
+
+Stefan Beller (3):
+      submodule deinit: require '--all' instead of '.' for all submodules
+      t3513: do not compress backup tar file
+      t6041: do not compress backup tar file
+
+Torsten Bögershausen (5):
+      t0027: make commit_chk_wrnNNO() reliable
+      convert: allow core.autocrlf=input and core.eol=crlf
+      t0027: test cases for combined attributes
+      convert.c: ident + core.autocrlf didn't work
+      t5601: Remove trailing space in sed expression
+
+Vasco Almeida (12):
+      i18n: index-pack: use plural string instead of normal one
+      i18n: builtin/branch.c: mark option for translation
+      i18n: unpack-trees: mark strings for translation
+      i18n: builtin/rm.c: remove a comma ',' from string
+      i18n: branch: unmark string for translation
+      i18n: branch: move comment for translators
+      i18n: git-parse-remote.sh: mark strings for translation
+      i18n: builtin/pull.c: mark placeholders for translation
+      i18n: builtin/pull.c: split strings marked for translation
+      i18n: remote: add comment for translators
+      Documentation/git-mailinfo: fix typo
+      i18n: unpack-trees: avoid substituting only a verb in sentences
+
+
+Version v2.8.3; changes since v2.8.2:
+-------------------------------------
+
+Adam Dinwoodie (2):
+      config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
+      commit: --amend -m '' silently fails to wipe message
+
+Christian Couder (3):
+      builtin/apply: get rid of useless 'name' variable
+      builtin/apply: handle parse_binary() failure
+      builtin/apply: free patch when parse_chunk() fails
+
+Eric Sunshine (1):
+      git-format-patch.txt: don't show -s as shorthand for multiple options
+
+Eric Wong (4):
+      send-email: more meaningful Message-ID
+      send-email: do not load Data::Dumper
+      pack-objects: warn on split packs disabling bitmaps
+      .mailmap: update to my shorter email address
+
+Jeff King (22):
+      setup: document check_repository_format()
+      wrap shared_repository global in get/set accessors
+      lazily load core.sharedrepository
+      check_repository_format_gently: stop using git_config_early
+      config: drop git_config_early
+      setup: refactor repo format reading and verification
+      init: use setup.c's repo version verification
+      setup: unify repository version callbacks
+      setup: drop repository_format_version global
+      verify_repository_format: mark messages for translation
+      branch: fix shortening of non-remote symrefs
+      commit: do not ignore an empty message given by -m ''
+      config: lower-case first word of error strings
+      git_config_set_multivar_in_file: all non-zero returns are errors
+      git_config_set_multivar_in_file: handle "unset" errors
+      t5532: use write_script
+      send-pack: close demux pipe before finishing async process
+      run-command: teach async threads to ignore SIGPIPE
+      send-pack: isolate sigpipe in demuxer thread
+      fetch-pack: isolate sigpipe in demuxer thread
+      t5504: drop sigpipe=ok from push tests
+      remote.c: spell __attribute__ correctly
+
+Johannes Schindelin (5):
+      replace --edit: respect core.editor
+      win32mmap: set errno appropriately
+      mmap(win32): avoid copy-on-write when it is unnecessary
+      mmap(win32): avoid expensive fstat() call
+      Windows: only add a no-op pthread_sigmask() when needed
+
+Johannes Sixt (1):
+      Windows: add pthread_sigmask() that does nothing
+
+Junio C Hamano (10):
+      apply: remove unused call to free() in gitdiff_{old,new}name()
+      submodule--helper: do not borrow absolute_path() result for too long
+      setup.c: do not feed NULL to "%.*s" even with precision 0
+      http: differentiate socks5:// and socks5h://
+      t1020: do not overuse printf and use write_script
+      t3404: use write_script
+      send-email: fix grammo in the prompt that asks e-mail recipients
+      Start preparing for 2.8.3
+      Almost ready for 2.8.3
+      Git 2.8.3
+
+Kazuki Yamaguchi (10):
+      branch -d: refuse deleting a branch which is currently checked out
+      refs: add a new function set_worktree_head_symref
+      branch -m: update all per-worktree HEADs
+      set_worktree_head_symref(): fix error message
+      imap-send: use HMAC() function provided by OpenSSL
+      imap-send: check NULL return of SSL_CTX_new()
+      imap-send: avoid deprecated TLSv1_method()
+      configure: remove checking for HMAC_CTX_cleanup
+      imap-send: check for NOLOGIN capability only when using LOGIN command
+      imap-send: fix CRAM-MD5 response calculation
+
+Lars Schneider (5):
+      travis-ci: update Git-LFS and P4 to the latest version
+      travis-ci: express Linux/OS X dependency versions more clearly
+      git-p4: fix Git LFS pointer parsing
+      t9824: fix wrong reference value
+      Documentation: add setup instructions for Travis CI
+
+Luke Diamand (3):
+      git-p4 tests: cd to / before running python
+      git-p4 tests: work with python3 as well as python2
+      git-p4 tests: time_in_seconds should use $PYTHON_PATH
+
+Marios Titas (2):
+      ident: check for useConfigOnly before auto-detection of name/email
+      ident: give "please tell me" message upon useConfigOnly error
+
+Matthieu Moy (1):
+      git-multimail: update to release 1.3.0
+
+Nguyễn Thái Ngọc Duy (2):
+      dir.c: remove dead function fnmatch_icase()
+      wrapper.c: delete dead function git_mkstemps()
+
+Nikola Forró (1):
+      difftool/mergetool: make the form of yes/no questions consistent
+
+Ralf Thielow (1):
+      string_list: use string-list API in unsorted_string_list_lookup()
+
+René Nyffenegger (1):
+      Documentation: fix typo 'In such these cases'
+
+SZEDER Gábor (4):
+      for-each-ref: fix description of '--contains' in manpage
+      test-lib: simplify '--option=value' parsing
+      t9824: fix broken &&-chain in a subshell
+      t5510: run auto-gc in the foreground
+
+Shin Kojima (1):
+      gitweb: apply fallback encoding before highlight
+
+Stefan Beller (20):
+      submodule foreach: correct path display in recursive submodules
+      submodule update --init: correct path handling in recursive submodules
+      submodule status: correct path handling in recursive submodules
+      submodule update: align reporting path for custom command execution
+      submodule update: test recursive path reporting from subdirectory
+      t7407: make expectation as clear as possible
+      recursive submodules: test for relative paths
+      submodule--helper: fix potential NULL-dereference
+      submodule--helper clone: create the submodule path just once
+      notes: don't leak memory in git_config_get_notes_strategy
+      abbrev_sha1_in_line: don't leak memory
+      bundle: don't leak an fd in case of early return
+      credential-cache, send_request: close fd when done
+      submodule--helper, module_clone: always operate on absolute paths
+      submodule--helper, module_clone: catch fprintf failure
+      mv: allow moving nested submodules
+      config doc: improve exit code listing
+      config.c: drop local variable
+      submodule-config: don't shadow `cache`
+      t7300: mark test with SANITY
+
+
+Version v2.8.2; changes since v2.8.1:
+-------------------------------------
+
+Alexander Kuleshov (1):
+      submodule-config: use hashmap_iter_first()
+
+Christian Couder (1):
+      Documentation: talk about pager in api-trace.txt
+
+David Aguilar (2):
+      mergetool: support delete/delete conflicts
+      mergetool: honor tempfile configuration when resolving delete conflicts
+
+Elia Pinto (1):
+      api-trace.txt: fix typo
+
+Gabriel Souza Franco (2):
+      fetch-pack: fix object_id of exact sha1
+      fetch-pack: update the documentation for "<refs>..." arguments
+
+Jeff King (12):
+      t1515: add tests for rev-parse out-of-repo helpers
+      rev-parse: let some options run outside repository
+      strbuf_getwholeline: NUL-terminate getdelim buffer on error
+      setup: make startup_info available everywhere
+      setup: set startup_info->have_repository more reliably
+      remote: don't resolve HEAD in non-repository
+      mailmap: do not resolve blobs in a non-repository
+      grep: turn off gitlink detection for --no-index
+      use setup_git_directory() in test-* programs
+      send-email: ignore trailing whitespace in mailrc alias file
+      credential-cache--daemon: clarify "exit" action semantics
+      t/lib-httpd: pass through GIT_CONFIG_NOSYSTEM env
+
+Johannes Sixt (1):
+      Windows: shorten code by re-using convert_slashes()
+
+John Keeping (3):
+      config: fail if --get-urlmatch finds no value
+      Documentation/git-config: use bulleted list for exit codes
+      Documentation/git-config: fix --get-all description
+
+Junio C Hamano (7):
+      index-pack: correct --keep[=<msg>]
+      index-pack: add a helper function to derive .idx/.keep filename
+      merge: fix NULL pointer dereference when merging nothing into void
+      Makefile: fix misdirected redirections
+      Start preparing for 2.8.2
+      Prepare for 2.8.2
+      Git 2.8.2
+
+Matthieu Moy (2):
+      lockfile: mark strings for translation
+      lockfile: improve error message when lockfile exists
+
+Michael Procter (1):
+      upload-pack: use argv_array for pack_objects
+
+Nguyễn Thái Ngọc Duy (2):
+      git-apply.txt: remove a space
+      git-apply.txt: mention the behavior inside a subdir
+
+Ori Avtalion (1):
+      Documentation: git diff --check detects conflict markers
+
+Pranit Bauva (2):
+      t/t7502 : drop duplicate test
+      api-parse-options.txt: document OPT_CMDMODE()
+
+Ramsay Jones (2):
+      xdiff/xprepare: use the XDF_DIFF_ALG() macro to access flag bits
+      xdiff/xprepare: fix a memory leak
+
+SZEDER Gábor (1):
+      diffcore: fix iteration order of identical files during rename detection
+
+Saurav Sachidanand (1):
+      dir: store EXC_FLAG_* values in unsigned integers
+
+Stanislav Kolotinskiy (1):
+      git-send-pack: fix --all option when used with directory
+
+Stefan Beller (1):
+      clone tests: rename t57* => t56*
+
+Sven Strickroth (3):
+      commit: do not lose SQUASH_MSG contents
+      MSVC: vsnprintf in Visual Studio 2015 doesn't need SNPRINTF_SIZE_CORR any more
+      MSVC: use shipped headers instead of fallback definitions
+
+Torsten Bögershausen (1):
+      correct blame for files commited with CRLF
+
+Vasco Almeida (4):
+      l10n: fr: fix transcation of "dir"
+      l10n: fr: fix wrongly translated option name
+      l10n: fr: change "id de clé" to match "id-clé"
+      l10n: fr: don't translate "merge" as a parameter
+
+
+Version v2.8.1; changes since v2.8.0:
+-------------------------------------
+
+Junio C Hamano (1):
+      Git 2.8.1
+
+Matthieu Moy (1):
+      git.spec.in: use README.md, not README
+
+
+Version v2.8.0; changes since v2.8.0-rc4:
+-----------------------------------------
+
+Alex Henrie (1):
+      l10n: ca.po: update translation
+
+Johannes Schindelin (4):
+      config --show-origin: report paths with forward slashes
+      t1300-repo-config: make it resilient to being run via 'sh -x'
+      t1300: fix the new --show-origin tests on Windows
+      mingw: skip some tests in t9115 due to file name issues
+
+Junio C Hamano (1):
+      Git 2.8
+
+Lars Schneider (2):
+      Documentation: use ASCII quotation marks in git-p4
+      Documentation: fix git-p4 AsciiDoc formatting
+
+Stefan Beller (1):
+      submodule: fix regression for deinit without submodules
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2530t): Update translation
+
+Vasco Almeida (1):
+      l10n: pt_PT: Update and add new translations
+
+
+Version v2.8.0-rc4; changes since v2.8.0-rc3:
+---------------------------------------------
+
+Alexander Shopov (1):
+      gitk: Update Bulgarian translation (311t)
+
+Changwoo Ryu (1):
+      l10n: ko.po: Update Korean translation
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Eric Sunshine (2):
+      git-compat-util: st_add4: work around gcc 4.2.x compiler crash
+      Revert "config.mak.uname: use clang for Mac OS X 10.6"
+
+Guillermo S. Romero (1):
+      gitk: Follow themed bgcolor in help dialogs
+
+Jean-Noël Avila (3):
+      l10n: fr.po v2.8.0 round 3
+      gitk: Update French translation (311t)
+      gitk: fr.po: Sync translations with git
+
+Junio C Hamano (8):
+      Git 2.4.11
+      Git 2.5.5
+      Git 2.6.6
+      Git 2.7.4
+      Revert "Merge branch 'jc/exclusion-doc'"
+      Revert "Merge branch 'nd/exclusion-regression-fix'"
+      RelNotes: remove the mention of !reinclusion
+      Git 2.8-rc4
+
+Matthieu Moy (1):
+      Documentation: fix broken linkgit to git-config
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2530t0f0u)
+
+Ralf Thielow (3):
+      l10n: de.po: translate 22 new messages
+      l10n: de.po: add missing newlines
+      gitk: Update German translation
+
+Ray Chen (1):
+      l10n: zh_CN: review for git v2.8.0 l10n round 2
+
+
+Version v2.8.0-rc3; changes since v2.8.0-rc2:
+---------------------------------------------
+
+Adam Dinwoodie (1):
+      t9117: test specifying full url to git svn init -T
+
+Audric Schiltknecht (1):
+      l10n: fr.po: Correct case in sentence
+
+Carlos Martín Nieto (1):
+      Disown ssh+git and git+ssh
+
+Changwoo Ryu (2):
+      l10n: ko.po: Update Korean translation
+      l10n: ko: Update Korean translation
+
+Christoph Hoopmann (1):
+      l10n: de.po: fix typo
+
+Dimitriy Ryazantcev (2):
+      l10n: ru.po: update Russian translation
+      l10n: ru.po: update Russian translation
+
+Eric Wong (2):
+      git-svn: shorten glob error message
+      git-svn: fix URL canonicalization during init w/ SVN 1.7+
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.8.0 round 1 2509t
+      l10n: fr.po v2.8.0 round 2
+
+Jeff King (7):
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+
+Jiang Xin (6):
+      l10n: git.pot: v2.8.0 round 1 (48 new, 16 removed)
+      l10n: zh_CN: for git v2.8.0 l10n round 1
+      l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)
+      l10n: zh_CN: for git v2.8.0 l10n round 2
+      l10n: git.pot: Add one new message for Git 2.8.0
+      l10n: zh_CN: for git v2.8.0 l10n round 3
+
+Junio C Hamano (4):
+      sane_grep: pass "-a" if grep accepts it
+      rebase-i: clarify "is this commit relevant?" test
+      RelNotes for 2.8.0: typofix
+      Git 2.8-rc3
+
+Michael J Gruber (1):
+      wt-status: allow "ahead " to be picked up by l10n
+
+Peter Krefting (2):
+      l10n: sv.po: Fix inconsistent translation of "progress meter"
+      l10n: sv.po: Update Swedish translation (2509t0f0u)
+
+Ralf Thielow (5):
+      l10n: TEAMS: update Ralf Thielow's email address
+      l10n: de.po: add space to abbreviation "z. B."
+      l10n: de.po: fix interactive rebase message
+      l10n: de.po: translate "command" as "Befehl"
+      l10n: de.po: translate 48 new messages
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2509t): Updated Vietnamese translation
+
+Victor Leschuk (1):
+      git-svn: loosen config globs limitations
+
+
+Version v2.8.0-rc2; changes since v2.8.0-rc1:
+---------------------------------------------
+
+Jiang Xin (1):
+      http: honor no_http env variable to bypass proxy
+
+Junio C Hamano (3):
+      gitignore: document that unignoring a directory unignores everything in it
+      Git 2.7.3
+      Git 2.8-rc2
+
+Michael J Gruber (1):
+      t5510: do not leave changed cwd
+
+Stefan Beller (1):
+      Documentation: reword rebase summary
+
+
+Version v2.8.0-rc1; changes since v2.8.0-rc0:
+---------------------------------------------
+
+Jeff King (5):
+      t5313: test bounds-checks of corrupted/malicious pack/idx files
+      nth_packed_object_offset: bounds-check extended offset
+      use_pack: handle signed off_t overflow
+      compat/mingw: brown paper bag fix for 50a6c8e
+      t9700: fix test for perl older than 5.14
+
+Johannes Schindelin (1):
+      Mark win32's pthread_exit() as NORETURN
+
+Johannes Sixt (1):
+      t0001: fix GIT_* environment variable check under --valgrind
+
+Junio C Hamano (1):
+      Git 2.8-rc1
+
+Michael J Gruber (1):
+      t/lib-httpd: load mod_unixd
+
+Nguyễn Thái Ngọc Duy (5):
+      sha1_file.c: mark strings for translation
+      builtin/checkout.c: mark strings for translation
+      builtin/clone.c: mark strings for translation
+      ref-filter.c: mark strings for translation
+      trailer.c: mark strings for translation
+
+Stefan Beller (1):
+      run-command: do not pass child process data into callbacks
+
+Thomas Ackermann (1):
+      documentation: fix some typos
+
+Torsten Bögershausen (1):
+      config.mak.uname: use clang for Mac OS X 10.6
+
+
+Version v2.8.0-rc0; changes since v2.7.6:
+-----------------------------------------
+
+Alexander Kuleshov (1):
+      format-patch: introduce format.outputDirectory configuration
+
+Christian Couder (11):
+      dir: free untracked cache when removing it
+      update-index: use enum for untracked cache options
+      update-index: add --test-untracked-cache
+      update-index: add untracked cache notifications
+      update-index: move 'uc' var declaration
+      dir: add {new,add}_untracked_cache()
+      dir: add remove_untracked_cache()
+      dir: simplify untracked cache "ident" field
+      config: add core.untrackedCache
+      test-dump-untracked-cache: don't modify the untracked cache
+      t7063: add tests for core.untrackedCache
+
+Christoph Egger (1):
+      http: implement public key pinning
+
+Dan Aloni (1):
+      ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
+
+David A. Greene (1):
+      contrib/subtree: Make testing easier
+
+David Turner (2):
+      do_compare_entry: use already-computed path
+      unpack-trees: fix accidentally quadratic behavior
+
+Edmundo Carmona Antoranz (1):
+      blame: add support for --[no-]progress option
+
+Elia Pinto (92):
+      Makefile: add missing phony target
+      contrib/examples/git-commit.sh: use the $( ... ) construct for command substitution
+      contrib/examples/git-fetch.sh: use the $( ... ) construct for command substitution
+      contrib/examples/git-merge.sh: use the $( ... ) construct for command substitution
+      contrib/examples/git-repack.sh: use the $( ... ) construct for command substitution
+      contrib/examples/git-revert.sh: use the $( ... ) construct for command substitution
+      contrib/thunderbird-patch-inline/appp.sh: use the $( ... ) construct for command substitution
+      git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command substitution
+      t/lib-httpd.sh: use the $( ... ) construct for command substitution
+      test-sha1.sh: use the $( ... ) construct for command substitution
+      unimplemented.sh: use the $( ... ) construct for command substitution
+      t/t1100-commit-tree-options.sh: use the $( ... ) construct for command substitution
+      t/t1401-symbolic-ref.sh: use the $( ... ) construct for command substitution
+      t/t1410-reflog.sh: use the $( ... ) construct for command substitution
+      t/t1511-rev-parse-caret.sh: use the $( ... ) construct for command substitution
+      t/t1512-rev-parse-disambiguation.sh: use the $( ... ) construct for command substitution
+      t/t1700-split-index.sh: use the $( ... ) construct for command substitution
+      t/t2025-worktree-add.sh: use the $( ... ) construct for command substitution
+      t/t2102-update-index-symlinks.sh: use the $( ... ) construct for command substitution
+      t/t3030-merge-recursive.sh: use the $( ... ) construct for command substitution
+      t/t3100-ls-tree-restrict.sh: use the $( ... ) construct for command substitution
+      t/t3101-ls-tree-dirname.sh: use the $( ... ) construct for command substitution
+      t/t3210-pack-refs.sh: use the $( ... ) construct for command substitution
+      t/t3403-rebase-skip.sh: use the $( ... ) construct for command substitution
+      t/t3511-cherry-pick-x.sh: use the $( ... ) construct for command substitution
+      t/t3600-rm.sh: use the $( ... ) construct for command substitution
+      t/t3700-add.sh: use the $( ... ) construct for command substitution
+      t/t5100-mailinfo.sh: use the $( ... ) construct for command substitution
+      t/t5300-pack-object.sh: use the $( ... ) construct for command substitution
+      t/t5301-sliding-window.sh: use the $( ... ) construct for command substitution
+      t/t5302-pack-index.sh: use the $( ... ) construct for command substitution
+      t/t5303-pack-corruption-resilience.sh: use the $( ... ) construct for command substitution
+      t/t5304-prune.sh: use the $( ... ) construct for command substitution
+      t/t5305-include-tag.sh: use the $( ... ) construct for command substitution
+      t/t5500-fetch-pack.sh: use the $( ... ) construct for command substitution
+      t/t5505-remote.sh: use the $( ... ) construct for command substitution
+      t/t5506-remote-groups.sh: use the $( ... ) construct for command substitution
+      t/t5510-fetch.sh: use the $( ... ) construct for command substitution
+      t/t5515-fetch-merge-logic.sh: use the $( ... ) construct for command substitution
+      t/t5516-fetch-push.sh: use the $( ... ) construct for command substitution
+      t/t5517-push-mirror.sh: use the $( ... ) construct for command substitution
+      t/t5522-pull-symlink.sh: use the $( ... ) construct for command substitution
+      t/t5530-upload-pack-error.sh: use the $( ... ) construct for command substitution
+      t/t5532-fetch-proxy.sh: use the $( ... ) construct for command substitution
+      t/t5537-fetch-shallow.sh: use the $( ... ) construct for command substitution
+      t/t5538-push-shallow.sh: use the $( ... ) construct for command substitution
+      t/t5550-http-fetch-dumb.sh: use the $( ... ) construct for command substitution
+      t/t5570-git-daemon.sh: use the $( ... ) construct for command substitution
+      t/t5601-clone.sh: use the $( ... ) construct for command substitution
+      t/t5700-clone-reference.sh: use the $( ... ) construct for command substitution
+      t/t5710-info-alternate.sh: use the $( ... ) construct for command substitution
+      t/t5900-repo-selection.sh: use the $( ... ) construct for command substitution
+      t/t6001-rev-list-graft.sh: use the $( ... ) construct for command substitution
+      t/t6002-rev-list-bisect.sh: use the $( ... ) construct for command substitution
+      t/t6015-rev-list-show-all-parents.sh: use the $( ... ) construct for command substitution
+      t/t6032-merge-large-rename.sh: use the $( ... ) construct for command substitution
+      t/t6132-pathspec-exclude.sh: use the $( ... ) construct for command substitution
+      t/t7001-mv.sh: use the $( ... ) construct for command substitution
+      t/t7003-filter-branch.sh: use the $( ... ) construct for command substitution
+      t/t7004-tag.sh: use the $( ... ) construct for command substitution
+      t/t7006-pager.sh: use the $( ... ) construct for command substitution
+      t/t7103-reset-bare.sh: use the $( ... ) construct for command substitution
+      t/t7406-submodule-update.sh: use the $( ... ) construct for command substitution
+      t/t7408-submodule-reference.sh: use the $( ... ) construct for command substitution
+      t/t7504-commit-msg-hook.sh: use the $( ... ) construct for command substitution
+      t/t7505-prepare-commit-msg-hook.sh: use the $( ... ) construct for command substitution
+      t/t7602-merge-octopus-many.sh: use the $( ... ) construct for command substitution
+      t/t7700-repack.sh: use the $( ... ) construct for command substitution
+      t/t8003-blame-corner-cases.sh: use the $( ... ) construct for command substitution
+      t/t9001-send-email.sh: use the $( ... ) construct for command substitution
+      t9100-git-svn-basic.sh: use the $( ... ) construct for command substitution
+      t9101-git-svn-props.sh: use the $( ... ) construct for command substitution
+      t9104-git-svn-follow-parent.sh: use the $( ... ) construct for command substitution
+      t9105-git-svn-commit-diff.sh: use the $( ... ) construct for command substitution
+      t9107-git-svn-migrate.sh: use the $( ... ) construct for command substitution
+      t9108-git-svn-glob.sh: use the $( ... ) construct for command substitution
+      t9109-git-svn-multi-glob.sh: use the $( ... ) construct for command substitution
+      t9110-git-svn-use-svm-props.sh: use the $( ... ) construct for command substitution
+      t9114-git-svn-dcommit-merge.sh: use the $( ... ) construct for command substitution
+      t9118-git-svn-funky-branch-names.sh: use the $( ... ) construct for command substitution
+      t9119-git-svn-info.sh: use the $( ... ) construct for command substitution
+      t9129-git-svn-i18n-commitencoding.sh: use the $( ... ) construct for command substitution
+      t9130-git-svn-authors-file.sh: use the $( ... ) construct for command substitution
+      t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitution
+      t9137-git-svn-dcommit-clobber-series.sh: use the $( ... ) construct for command substitution
+      t9138-git-svn-authors-prog.sh: use the $( ... ) construct for command substitution
+      t9145-git-svn-master-branch.sh: use the $( ... ) construct for command substitution
+      t9150-svk-mergetickets.sh: use the $( ... ) construct for command substitution
+      t9300-fast-import.sh: use the $( ... ) construct for command substitution
+      t9350-fast-export.sh: use the $( ... ) construct for command substitution
+      t9501-gitweb-standalone-http-status.sh: use the $( ... ) construct for command substitution
+      t9901-git-web--browse.sh: use the $( ... ) construct for command substitution
+
+Eric Wong (5):
+      pass transport verbosity down to git_connect
+      connect & http: support -4 and -6 switches for remote operations
+      t5570: add tests for "git {clone,fetch,pull} -v"
+      git-svn: hoist out utf8 prep from t9129 to lib-git-svn
+      tests: remove no-op full-svn-test target
+
+Felipe Gonçalves Assis (7):
+      merge-recursive: option to disable renames
+      merge-recursive: more consistent interface
+      merge-strategies.txt: fix typo
+      merge-recursive: find-renames resets threshold
+      t3034: add rename threshold tests
+      t3034: test option to disable renames
+      t3034: test deprecated interface
+
+Jacob Keller (1):
+      notes: allow merging from arbitrary references
+
+Jeff King (33):
+      pack-revindex: drop hash table
+      pack-revindex: store entries directly in packed_git
+      create_symref: modernize variable names
+      create_symref: use existing ref-lock code
+      create_symref: write reflog while holding lock
+      run-command: don't warn on SIGPIPE deaths
+      checkout,clone: check return value of create_symref
+      lock_ref_sha1_basic: always fill old_oid while holding lock
+      lock_ref_sha1_basic: handle REF_NODEREF with invalid refs
+      shortlog: match both "Author:" and "author" on stdin
+      shortlog: use strbufs to read from stdin
+      shortlog: replace hand-parsing of author with pretty-printer
+      shortlog: optimize "--summary" mode
+      shortlog: optimize out useless "<none>" normalization
+      shortlog: optimize out useless string list
+      shortlog: don't warn on empty author
+      transport: drop support for git-over-rsync
+      give "nbuf" strbuf a more meaningful name
+      checkout-index: simplify "-z" option parsing
+      checkout-index: handle "--no-prefix" option
+      checkout-index: handle "--no-index" option
+      checkout-index: disallow "--no-stage" option
+      apply, ls-files: simplify "-z" parsing
+      fmt_ident: refactor strictness checks
+      test-path-utils: use xsnprintf in favor of strcpy
+      rerere: replace strcpy with xsnprintf
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+      git-config: better document default behavior for `--include`
+      ref-filter: use string_list_split over strbuf_split
+
+Johannes Schindelin (31):
+      config.mak.uname: support MSys2
+      config.mak.uname: supporting 64-bit MSys2
+      pull: allow interactive rebase with --rebase=interactive
+      remote: handle the config setting branch.*.rebase=interactive
+      completion: add missing branch.*.rebase values
+      nedmalloc: allow compiling with MSys2's compiler
+      compat/mingw: support MSys2-based MinGW build
+      compat/winansi: support compiling with MSys2
+      mingw: avoid redefining S_* constants
+      mingw: avoid warnings when casting HANDLEs to int
+      mingw: squash another warning about a cast
+      mingw: uglify (a, 0) definitions to shut up warnings
+      mingw: let's use gettext with MSYS2
+      mingw: do not trust MSYS2's MinGW gettext.sh
+      Git.pm: stop assuming that absolute paths start with a slash
+      mingw: prepare the TMPDIR environment variable for shell scripts
+      mingw: let lstat() fail with errno == ENOTDIR when appropriate
+      mingw: fix t5601-clone.sh
+      mingw: accomodate t0060-path-utils for MSYS2
+      mingw: disable mkfifo-based tests
+      tests: turn off git-daemon tests if FIFOs are not available
+      mingw: skip test in t1508 that fails due to path conversion
+      mingw: fix t9700's assumption about directory separators
+      mingw: work around pwd issues in the tests
+      mingw: mark t9100's test cases with appropriate prereqs
+      mingw: avoid illegal filename in t9118
+      mingw: handle the missing POSIXPERM prereq in t9124
+      mingw: skip a test in t9130 that cannot pass on Windows
+      mingw: do not bother to test funny file names
+      gitignore: ignore generated test-fake-ssh executable
+      t5505: 'remote add x y' should work when url.y.insteadOf = x
+
+Johannes Sixt (1):
+      t/t5100: no need to use 'echo' command substitutions for globbing
+
+Jon Griffiths (3):
+      credential-cache--daemon: refactor check_socket_directory
+      credential-cache--daemon: disallow relative socket path
+      credential-cache--daemon: change to the socket dir on startup
+
+Jonathan Nieder (1):
+      submodule.c: write "Fetching submodule <foo>" to stderr
+
+Junio C Hamano (35):
+      First batch for post 2.7 cycle
+      strbuf: miniscule style fix
+      strbuf: make strbuf_getline_crlf() global
+      strbuf: introduce strbuf_getline_{lf,nul}()
+      mktree: there are only two possible line terminations
+      check-attr: there are only two possible line terminations
+      check-ignore: there are only two possible line terminations
+      update-index: there are only two possible line terminations
+      checkout-index: there are only two possible line terminations
+      strbuf: give strbuf_getline() to the "most text friendly" variant
+      hash-object: read --stdin-paths with strbuf_getline()
+      revision: read --stdin with strbuf_getline()
+      rev-parse: read parseopt spec with strbuf_getline()
+      ident.c: read /etc/mailname with strbuf_getline()
+      remote.c: read $GIT_DIR/remotes/* with strbuf_getline()
+      clone/sha1_file: read info/alternates with strbuf_getline()
+      transport-helper: read helper response with strbuf_getline()
+      cat-file: read batch stream with strbuf_getline()
+      column: read lines with strbuf_getline()
+      send-pack: read list of refs with strbuf_getline()
+      grep: read -f file with strbuf_getline()
+      test-sha1-array: read command stream with strbuf_getline()
+      Second batch for 2.8 cycle
+      Third batch for 2.8 cycle
+      git: remove an early return from save_env_before_alias()
+      git: protect against unbalanced calls to {save,restore}_env()
+      git: simplify environment save/restore logic
+      Fourth batch for 2.8.cycle
+      Getting closer to 2.7.1
+      restore_env(): free the saved environment variable once we are done
+      Fifth batch for 2.8 cycle
+      Sixth batch for the 2.8 cycle
+      Seventh batch for the 2.8 cycle
+      Eighth batch for 2.8
+      Git 2.8-rc0
+
+Karsten Blees (1):
+      mingw: factor out Windows specific environment setup
+
+Karthik Nayak (10):
+      ref-filter: bump 'used_atom' and related code to the top
+      ref-filter: introduce struct used_atom
+      ref-filter: introduce parsing functions for each valid atom
+      ref-filter: introduce color_atom_parser()
+      ref-filter: introduce parse_align_position()
+      ref-filter: introduce align_atom_parser()
+      ref-filter: align: introduce long-form syntax
+      ref-filter: introduce remote_ref_atom_parser()
+      ref-filter: introduce contents_atom_parser()
+      ref-filter: introduce objectname_atom_parser()
+
+Kazutoshi Satoda (2):
+      git-svn: enable "svn.pathnameencoding" on dcommit
+      git-svn: apply "svn.pathnameencoding" before URL encoding
+
+Knut Franke (2):
+      http: allow selection of proxy authentication method
+      http: use credential API to handle proxy authentication
+
+Lars Schneider (8):
+      travis-ci: run previously failed tests first, then slowest to fastest
+      travis-ci: explicity use container-based infrastructure
+      convert: treat an empty string for clean/smudge filters as "cat"
+      t: do not hide Git's exit code in tests using 'nul_to_q'
+      rename git_config_from_buf to git_config_from_mem
+      config: add 'origin_type' to config_source struct
+      config: add '--show-origin' option to print the origin of a config value
+      add DEVELOPER makefile knob to check for acknowledged warnings
+
+Matthew Kraai (1):
+      Documentation: remove unnecessary backslashes
+
+Matthieu Moy (6):
+      README: use markdown syntax
+      README.md: add hyperlinks on filenames
+      README.md: move the link to git-scm.com up
+      README.md: don't call git stupid in the title
+      README.md: move down historical explanation about the name
+      push: remove "push.default is unset" warning message
+
+Michael J Gruber (1):
+      t9100: fix breakage when SHELL_PATH is not /bin/sh
+
+Mike Hommey (1):
+      notes: allow treeish expressions as notes ref
+
+Nguyễn Thái Ngọc Duy (9):
+      git.c: make it clear save_env() is for alias handling only
+      setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
+      git.c: make sure we do not leak GIT_* to alias scripts
+      dir.c: fix match_pathname()
+      dir.c: support tracing exclude
+      dir.c: support marking some patterns already matched
+      dir.c: don't exclude whole dir prematurely
+      worktree: fix "add -B"
+      worktree add -B: do the checkout test before update branch
+
+Pat Thoyts (1):
+      t0008: avoid absolute path
+
+Patrick Steinhardt (2):
+      push: add '--delete' flag to synopsis
+      push: add '-d' as shorthand for '--delete'
+
+Rob Mayoff (1):
+      contrib/subtree: unwrap tag refs
+
+Romain Picard (1):
+      git-p4.py: add support for filetype change
+
+Stefan Beller (7):
+      xread: poll on non blocking fds
+      strbuf: add strbuf_read_once to read without blocking
+      sigchain: add command to pop all common signals
+      run-command: add an asynchronous parallel child processor
+      fetch_populated_submodules: use new parallel job processing
+      submodules: allow parallel fetching, add tests and documentation
+      submodule: try harder to fetch needed sha1 by direct fetching sha1
+
+Thomas Gummerer (11):
+      t7810: correct --no-index test
+      builtin/grep: add grep.fallbackToNoIndex config
+      ls-remote: document --quiet option
+      ls-remote: document --refs option
+      ls-remote: fix synopsis
+      ls-remote: use parse-options api
+      ls-remote: add support for showing symrefs
+      remote: use parse_config_key
+      remote: simplify remote_is_configured()
+      remote: actually check if remote exits
+      remote: use remote_is_configured() for add and rename
+
+Tobias Klauser (2):
+      trailer: allow to write to files other than stdout
+      interpret-trailers: add option for in-place editing
+
+Torsten Bögershausen (8):
+      ls-files: add eol diagnostics
+      t0027: add tests for get_stream_filter()
+      convert.c: remove unused parameter 'path'
+      convert.c: remove input_crlf_action()
+      convert.c: use text_eol_is_crlf()
+      convert.c: refactor crlf_action
+      convert.c: simplify text_stat
+      convert.c: correct attr_action()
+
+Victor Leschuk (3):
+      grep: allow threading even on a single-core machine
+      grep: slight refactoring to the code that disables threading
+      grep: add --threads=<num> option and grep.threads configuration
+
+Will Palmer (2):
+      test for '!' handling in rev-parse's named commits
+      object name: introduce '^{/!-<negative pattern>}' notation
+
+brian m. carlson (1):
+      http: add option to try authentication without username
+
+마누엘 (1):
+      mingw: try to delete target directory before renaming
+
+
+Version v2.7.6; changes since v2.7.5:
+-------------------------------------
+
+Jeff King (4):
+      t5813: add test for hostname starting with dash
+      connect: factor out "looks like command line option" check
+      connect: reject dashed arguments for proxy commands
+      connect: reject paths that look like command line options
+
+Junio C Hamano (2):
+      connect: reject ssh hostname that begins with a dash
+      Git 2.7.6
+
+
+Version v2.7.5; changes since v2.7.4:
+-------------------------------------
+
+Eric Sunshine (1):
+      git-compat-util: st_add4: work around gcc 4.2.x compiler crash
+
+Jeff King (2):
+      archive-tar: convert snprintf to xsnprintf
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (4):
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+      Git 2.7.5
+
+Matthieu Moy (1):
+      Documentation: fix broken linkgit to git-config
+
+
+Version v2.7.4; changes since v2.7.3:
+-------------------------------------
+
+Jeff King (7):
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+
+Junio C Hamano (4):
+      Git 2.4.11
+      Git 2.5.5
+      Git 2.6.6
+      Git 2.7.4
+
+
+Version v2.7.3; changes since v2.7.2:
+-------------------------------------
+
+Alexander Kuleshov (2):
+      exec_cmd.c: use find_last_dir_sep() for code simplification
+      git.c: simplify stripping extension of a file in handle_builtin()
+
+David Turner (1):
+      refs: document transaction semantics
+
+Jeff King (37):
+      checkout: reorder check_filename conditional
+      check_filename: tighten dwim-wildcard ambiguity
+      get_sha1: don't die() on bogus search strings
+      reflog_expire_cfg: NUL-terminate pattern field
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      diff: clarify textconv interface
+      harden REALLOC_ARRAY and xcalloc against size_t overflow
+      add helpers for allocating flex-array structs
+      argv-array: add detach function
+      convert manual allocations to argv_array
+      convert trivial cases to ALLOC_ARRAY
+      use xmallocz to avoid size arithmetic
+      convert trivial cases to FLEX_ARRAY macros
+      use st_add and st_mult for allocation size computation
+      prepare_{git,shell}_cmd: use argv_array
+      write_untracked_extension: use FLEX_ALLOC helper
+      fast-import: simplify allocation in start_packfile
+      fetch-pack: simplify add_sought_entry
+      test-path-utils: fix normalize_path_copy output buffer size
+      sequencer: simplify memory allocation of get_message
+      git-compat-util: drop mempcpy compat code
+      transport_anonymize_url: use xstrfmt
+      diff_populate_gitlink: use a strbuf
+      convert ewah/bitmap code to use xmalloc
+      ewah: convert to REALLOC_ARRAY, etc
+      merge-one-file: use empty blob for add/add base
+      merge-tree: drop generate_common strategy
+      xdiff: drop XDL_EMIT_COMMON
+      t5313: test bounds-checks of corrupted/malicious pack/idx files
+      nth_packed_object_offset: bounds-check extended offset
+      use_pack: handle signed off_t overflow
+      write_or_die: handle EPIPE in async threads
+      fetch-pack: ignore SIGPIPE in sideband demuxer
+      test_must_fail: report number of unexpected signal
+      t5504: handle expected output from SIGPIPE death
+      compat/mingw: brown paper bag fix for 50a6c8e
+
+Johannes Schindelin (1):
+      git config: report when trying to modify a non-existing repo config
+
+John Keeping (2):
+      t8005: avoid grep on non-ASCII data
+      t9200: avoid grep on non-ASCII data
+
+Junio C Hamano (4):
+      pager: lose a separate argv[]
+      pager: factor out a helper to prepare a child process to run the pager
+      am -i: fix "v"iew
+      Git 2.7.3
+
+Martin Amdisen (1):
+      templates/hooks: fix minor typo in the sample update-hook
+
+Matthieu Moy (1):
+      Documentation/git-push: document that 'simple' is the default
+
+Michael J Gruber (1):
+      tests: rename work-tree tests to *work-tree*
+
+Nguyễn Thái Ngọc Duy (2):
+      rev-parse: take prefix into account in --git-common-dir
+      sha1_file.c: mark strings for translation
+
+Patrick Steinhardt (16):
+      config: introduce set_or_die wrappers
+      branch: report errors in tracking branch setup
+      branch: die on config error when unsetting upstream
+      branch: die on config error when editing branch description
+      submodule: die on config error when linking modules
+      submodule--helper: die on config error when cloning module
+      remote: die on config error when setting URL
+      remote: die on config error when setting/adding branches
+      remote: die on config error when manipulating remotes
+      clone: die on config error in cmd_clone
+      init-db: die on config errors when initializing empty repo
+      sequencer: die on config error when saving replay opts
+      compat: die when unable to set core.precomposeunicode
+      config: rename git_config_set to git_config_set_gently
+      config: rename git_config_set_or_die to git_config_set
+      xdiff/xmerge: fix memory leak in xdl_merge
+
+Shawn O. Pearce (1):
+      remote-curl: include curl_errorstr on SSL setup failures
+
+Stefan Beller (1):
+      submodule helper list: respect correct path prefix
+
+
+Version v2.7.2; changes since v2.7.1:
+-------------------------------------
+
+Alex Henrie (1):
+      stripspace: call U+0020 a "space" instead of a "blank"
+
+Andrew Wheeler (1):
+      push: fix ref status reporting for --force-with-lease
+
+Dickson Wong (1):
+      mergetool: reorder vim/gvim buffers in three-way diffs
+
+GyuYong Jung (1):
+      git-cvsserver.perl: fix typo
+
+Johannes Schindelin (3):
+      merge-file: let conflict markers match end-of-line style of the context
+      merge-file: ensure that conflict sections match eol style
+      test-lib: limit the output of the yes utility
+
+Junio C Hamano (2):
+      Start preparing for 2.7.2
+      Git 2.7.2
+
+Matt McCutchen (1):
+      Documentation/git-clean.txt: don't mention deletion of .git/modules/*
+
+Nguyễn Thái Ngọc Duy (5):
+      blame: remove obsolete comment
+      add and use a convenience macro ce_intent_to_add()
+      grep: make it clear i-t-a entries are ignored
+      worktree.c: fix indentation
+      worktree: stop supporting moving worktrees manually
+
+SZEDER Gábor (1):
+      completion: fix mis-indentation in _git_stash()
+
+
+Version v2.7.1; changes since v2.7.0:
+-------------------------------------
+
+Changwoo Ryu (1):
+      l10n: ko.po: Add Korean translation
+
+Dave Ware (1):
+      contrib/subtree: fix "subtree split" skipped-merge bug
+
+David A. Wheeler (1):
+      Expand documentation describing --signoff
+
+Dennis Kaarsemaker (1):
+      reflog-walk: don't segfault on non-commit sha1's in the reflog
+
+Eric Wong (3):
+      git-send-email: do not double-escape quotes from mutt
+      for-each-ref: document `creatordate` and `creator` fields
+      git-svn: fix auth parameter handling on SVN 1.9.0+
+
+Jeff King (8):
+      avoid shifting signed integers 31 bits
+      bswap: add NO_UNALIGNED_LOADS define
+      rebase: ignore failures from "gc --auto"
+      filter-branch: resolve $commit^{tree} in no-index case
+      clean: make is_git_repository a public function
+      resolve_gitlink_ref: ignore non-repository paths
+      t6300: use test_atom for some un-modern tests
+      tag: do not show ambiguous tag names as "tags/foo"
+
+Johannes Schindelin (11):
+      commit: allow editing the commit message even in shared repos
+      Handle more file writes correctly in shared repos
+      Refactor skipping DOS drive prefixes
+      compat/basename: make basename() conform to POSIX
+      compat/basename.c: provide a dirname() compatibility function
+      t0060: verify that basename() and dirname() work as expected
+      fetch: release pack files before garbage-collecting
+      am: release pack files before garbage-collecting
+      merge: release pack files before garbage-collecting
+      receive-pack: release pack files before garbage-collecting
+      t0060: loosen overly strict expectations
+
+Johannes Sixt (1):
+      mingw: avoid linking to the C library's isalpha()
+
+John Keeping (1):
+      completion: add missing git-rebase options
+
+Junio C Hamano (2):
+      test-lib: clarify and tighten SANITY
+      Git 2.7.1
+
+Lars Vogel (1):
+      git-add doc: do not say working directory when you mean working tree
+
+Nguyễn Thái Ngọc Duy (5):
+      Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
+      dir.c: clean the entire struct in clear_exclude_list()
+      Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match"
+      diff-no-index: do not take a redundant prefix argument
+      diff: make -O and --output work in subdirectory
+
+Paul Wagland (2):
+      completion: complete show-branch "--date-order"
+      completion: update completion arguments for stash
+
+SZEDER Gábor (1):
+      t6050-replace: make failing editor test more robust
+
+Sebastian Schuberth (3):
+      docs: clarify that passing --depth to git-clone implies --single-branch
+      docs: say "commits" in the --depth option wording for git-clone
+      docs: clarify that --depth for git-fetch works with newly initialized repos
+
+Stephen P. Smith (4):
+      user-manual: remove temporary branch entry from todo list
+      glossary: define the term shallow clone
+      user-manual: add section documenting shallow clones
+      user-manual: add addition gitweb information
+
+Thomas Braun (1):
+      completion: complete "diff --word-diff-regex="
+
+Øyvind A. Holm (1):
+      gitweb: squelch "uninitialized value" warning
+
+
+Version v2.7.0; changes since v2.7.0-rc3:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Git 2.6.5
+      Git 2.7
+
+Ralf Thielow (2):
+      l10n: de.po: improve some translations
+      l10n: de.po: translate 68 new messages
+
+
+Version v2.7.0-rc3; changes since v2.7.0-rc2:
+---------------------------------------------
+
+Alex Henrie (2):
+      l10n: ca.po: update translation
+      l10n: ca.po: update translation
+
+Alexander Shopov (2):
+      l10n: Updated Bulgarian translation of git (2477t,0f,0u)
+      l10n: Updated Bulgarian translation of git (2477t,0f,0u)
+
+Audric Schiltknecht (1):
+      l10n: fr.po: Fix typo
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Jean-Noël Avila (2):
+      l10n: fr v2.7.0 round 1 (2477t)
+      l10n: fr.po v2.7.0 round 2 (2477t)
+
+Jeff King (3):
+      revision.c: propagate tag names from pending array
+      symbolic-ref: propagate error code from create_symref()
+      t1401: test reflog creation for git-symbolic-ref
+
+Jiang Xin (4):
+      l10n: git.pot: v2.7.0 round 1 (66 new, 29 removed)
+      l10n: zh_CN: for git v2.7.0 l10n round 1
+      l10n: git.pot: v2.7.0 round 2 (2 new, 2 removed)
+      l10n: zh_CN: for git v2.7.0 l10n round 2
+
+Junio C Hamano (1):
+      Git 2.7-rc3
+
+Luke Diamand (1):
+      git-p4: failing test case for skipping changes with multiple depots
+
+Peter Krefting (3):
+      l10n: sv.po: Update Swedish translation (2477t0f0u)
+      l10n: sv: Fix bad translation
+      l10n: sv.po: Update Swedish translation (2477t0f0u)
+
+Sam Hocevar (2):
+      git-p4: support multiple depot paths in p4 submit
+      git-p4: reduce number of server queries for fetches
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: Updated translation (2477t)
+
+Élie Bouttier (1):
+      l10n: fr.po: Fix typo
+
+
+Version v2.7.0-rc2; changes since v2.7.0-rc1:
+---------------------------------------------
+
+Fabian Ruch (1):
+      rebase -i: remember merge options beyond continue actions
+
+Giuseppe Bilotta (2):
+      gitk: Match ttk fonts to gitk fonts
+      gitk: Let .bleft.mid widgets 'breathe'
+
+Jeff King (3):
+      ident: make xgetpwuid_self() a static local helper
+      ident: keep a flag for bogus default_email
+      ident: loosen getpwuid error in non-strict mode
+
+Johannes Schindelin (1):
+      mingw: emulate write(2) that fails with a EPIPE
+
+John Keeping (1):
+      send-email: enable SSL level 1 debug output
+
+Junio C Hamano (2):
+      Update release notes to 2.7
+      Git 2.7-rc2
+
+Mike Crowe (3):
+      push: add recurseSubmodules config option
+      push: test that --recurse-submodules on command line overrides config
+      push: follow the "last one wins" convention for --recurse-submodules
+
+Peter Krefting (1):
+      gitk: sv.po: Update Swedish translation (311t)
+
+Ralf Thielow (1):
+      push: don't mark options of recurse-submodules for translation
+
+SZEDER Gábor (2):
+      completion: remove 'git column' from porcelain commands
+      credential-store: don't pass strerror to die_errno()
+
+YOKOTA Hiroshi (16):
+      gitk: Color name update
+      gitk: Re-sync line number in Japanese message catalogue
+      gitk: Update Japanese message catalog
+      gitk: Translate more to Japanese catalog
+      gitk: Translate Japanese catalog
+      gitk: Fix wrong translation
+      gitk: Update Japanese translation
+      gitk: Fix translation around copyright sign
+      gitk: Update Japanese translation
+      gitk: Update fuzzy messages
+      gitk: Change last translator line
+      gitk: Update year
+      gitk: Remove unused line
+      gitk: Improve translation message
+      gitk: Update "Language:" header
+      gitk: Update revision date in Japanese PO file
+
+brian m. carlson (3):
+      sha1_file.c: introduce a null_oid constant
+      format-patch: add an option to suppress commit hash
+      format-patch: check that header line has expected format
+
+
+Version v2.7.0-rc1; changes since v2.7.0-rc0:
+---------------------------------------------
+
+Charles Bailey (1):
+      t3404: fix quoting of redirect for some versions of bash
+
+Jeff King (1):
+      ident: fix undefined variable when NO_IPV6 is set
+
+Johannes Sixt (1):
+      prune: close directory earlier during loose-object directory traversal
+
+Junio C Hamano (4):
+      Prepare for 2.6.5
+      Update release notes to 2.7
+      Update draft release notes to 2.6.5
+      Git 2.7-rc1
+
+Lars Schneider (1):
+      git-p4: add option to keep empty commits
+
+SZEDER Gábor (2):
+      Make error message after failing commit_lock_file() less confusing
+      completion: fix completing unstuck email alias arguments
+
+Stefan Beller (1):
+      document submodule sync --recursive
+
+Stefan Naewe (1):
+      revision.c: fix possible null pointer arithmetic
+
+
+Version v2.7.0-rc0; changes since v2.6.7:
+-----------------------------------------
+
+Alex Henrie (1):
+      gitk: l10n: Update Catalan translation
+
+Alex Riesen (1):
+      clone: allow "--dissociate" without reference
+
+Antoine Delaite (1):
+      bisect: add the terms old/new
+
+Beat Bolli (1):
+      gitk: Add missing accelerators
+
+Ben Boeckel (1):
+      remote: add get-url subcommand
+
+Dair Grant (1):
+      git-svn: improve rebase/mkdirs performance
+
+David Turner (8):
+      refs: clean up common_list
+      path: optimize common dir checking
+      refs: make refs/bisect/* per-worktree
+      http.c: use CURLOPT_RANGE for range requests
+      copy_msg(): rename to copy_reflog_msg()
+      initdb: make safe_create_dir public
+      files_log_ref_write: new function
+      refs: break out ref conflict checks
+
+Dennis Kaarsemaker (1):
+      git-p4: import the ctypes module
+
+Dimitriy Ryazantcev (1):
+      gitk: Update Russian translation
+
+Edmundo Carmona Antoranz (1):
+      checkout: add --progress option
+
+Fabio Porcedda (1):
+      contrib/subtree: remove "push" command from the "todo" file
+
+Gabor Bernat (1):
+      filter-branch: add passed/remaining seconds on progress
+
+Jacob Keller (2):
+      sendemail: teach git-send-email to dump alias names
+      completion: add support for completing email aliases
+
+Jeff King (77):
+      run-command: provide in_async query function
+      pkt-line: show packets in async processes as "sideband"
+      fast-import: switch crash-report date to iso8601
+      date: make "local" orthogonal to date format
+      show-branch: avoid segfault with --reflog of unborn branch
+      mailsplit: fix FILE* leak in split_maildir
+      archive-tar: fix minor indentation violation
+      fsck: don't fsck alternates for connectivity-only check
+      add xsnprintf helper function
+      add git_path_buf helper function
+      strbuf: make strbuf_complete_line more generic
+      add reentrant variants of sha1_to_hex and find_unique_abbrev
+      fsck: use strbuf to generate alternate directories
+      mailsplit: make PATH_MAX buffers dynamic
+      trace: use strbuf for quote_crnl output
+      progress: store throughput display in a strbuf
+      test-dump-cache-tree: avoid overflow of cache-tree name
+      compat/inet_ntop: fix off-by-one in inet_ntop4
+      convert trivial sprintf / strcpy calls to xsnprintf
+      archive-tar: use xsnprintf for trivial formatting
+      use xsnprintf for generating git object headers
+      find_short_object_filename: convert sprintf to xsnprintf
+      stop_progress_msg: convert sprintf to xsnprintf
+      compat/hstrerror: convert sprintf to snprintf
+      grep: use xsnprintf to format failure message
+      entry.c: convert strcpy to xsnprintf
+      add_packed_git: convert strcpy into xsnprintf
+      http-push: replace strcat with xsnprintf
+      receive-pack: convert strncpy to xsnprintf
+      replace trivial malloc + sprintf / strcpy calls with xstrfmt
+      config: use xstrfmt in normalize_value
+      fetch: replace static buffer with xstrfmt
+      use strip_suffix and xstrfmt to replace suffix
+      ref-filter: drop sprintf and strcpy calls
+      help: drop prepend function in favor of xstrfmt
+      mailmap: replace strcpy with xstrdup
+      read_branches_file: simplify string handling
+      read_remotes_file: simplify string handling
+      resolve_ref: use strbufs for internal buffers
+      upload-archive: convert sprintf to strbuf
+      remote-ext: simplify git pkt-line generation
+      http-push: use strbuf instead of fwrite_buffer
+      http-walker: store url in a strbuf
+      sha1_get_pack_name: use a strbuf
+      precompose_utf8: drop unused variable
+      probe_utf8_pathname_composition: use internal strbuf
+      init: use strbufs to store paths
+      apply: convert root string to strbuf
+      transport: use strbufs for status table "quickref" strings
+      merge-recursive: convert malloc / strcpy to strbuf
+      enter_repo: convert fixed-size buffers to strbufs
+      remove_leading_path: use a strbuf for internal storage
+      write_loose_object: convert to strbuf
+      diagnose_invalid_index_path: use strbuf to avoid strcpy/strcat
+      fetch-pack: use argv_array for index-pack / unpack-objects
+      http-push: use an argv_array for setup_revisions
+      stat_tracking_info: convert to argv_array
+      daemon: use cld->env_array when re-spawning
+      use sha1_to_hex_r() instead of strcpy
+      drop strcpy in favor of raw sha1_to_hex
+      color: add overflow checks for parsing colors
+      use alloc_ref rather than hand-allocating "struct ref"
+      avoid sprintf and strcpy with flex arrays
+      receive-pack: simplify keep_arg computation
+      help: clean up kfmclient munging
+      prefer memcpy to strcpy
+      color: add color_set helper for copying raw colors
+      notes: document length of fanout path with a constant
+      convert strncpy to memcpy
+      fsck: drop inode-sorting code
+      Makefile: drop D_INO_IN_DIRENT build knob
+      fsck: use for_each_loose_file_in_objdir
+      use strbuf_complete to conditionally append slash
+      name-rev: use strip_suffix to avoid magic numbers
+      http: use off_t to store partial file size
+      filter-branch: skip index read/write when possible
+      blame: fix object casting regression
+
+Johannes Schindelin (1):
+      test: facilitate debugging Git executables in tests with gdb
+
+Johannes Sixt (9):
+      read_branches_file: plug a FILE* leak
+      compat/mingw.c: remove printf format warning
+      modernize t9300: single-quote placement and indentation
+      modernize t9300: use test_must_fail
+      modernize t9300: use test_must_be_empty
+      modernize t9300: wrap lines after &&
+      modernize t9300: use test_when_finished for clean-up
+      modernize t9300: mark here-doc words to ignore tab indentation
+      modernize t9300: move test preparations into test_expect_success
+
+John Keeping (11):
+      Documentation/blame-options: don't list date formats
+      Documentation/config: don't list date formats
+      Documentation/git-for-each-ref: don't list date formats
+      Documentation/rev-list: don't list date formats
+      t6300: introduce test_date() helper
+      t6300: add test for "raw" date format
+      date: check for "local" before anything else
+      t6300: make UTC and local dates different
+      t6300: add tests for "-local" date formats
+      send-email: expand path in sendemail.smtpsslcertpath config
+      send-email: die if CA path doesn't exist
+
+Juerg Haefliger (1):
+      git-quiltimport: add commandline option --series <file>
+
+Junio C Hamano (71):
+      rerere: fix an off-by-one non-bug
+      rerere: handle conflicts with multiple stage #1 entries
+      rerere: plug conflict ID leaks
+      rerere: lift PATH_MAX limitation
+      rerere: write out each record of MERGE_RR in one go
+      rerere: report autoupdated paths only after actually updating them
+      rerere: drop want_sp parameter from is_cmarker()
+      rerere: stop looping unnecessarily
+      rerere: do not leak mmfile[] for a path with multiple stage #1 entries
+      rerere: explain the rerere I/O abstraction
+      rerere: fix benign off-by-one non-bug and clarify code
+      rerere: explain MERGE_RR management helpers
+      rerere: explain the primary codepath
+      rerere: explain "rerere forget" codepath
+      rerere: explain the remainder
+      rerere: refactor "replay" part of do_plain_rerere()
+      rerere: further de-dent do_plain_rerere()
+      rerere: further clarify do_rerere_one_path()
+      rerere: call conflict-ids IDs
+      rerere: use "struct rerere_id" instead of "char *" for conflict ID
+      rerere: un-nest merge() further
+      filter-branch: make report-progress more readable
+      Start cycle toward 2.7
+      Second batch for 2.7
+      Third batch for 2.7
+      Fourth batch for 2.7
+      Fifth batch for 2.7
+      mailinfo: remove a no-op call convert_to_utf8(it, "")
+      mailinfo: fold decode_header_bq() into decode_header()
+      mailinfo: fix an off-by-one error in the boundary stack
+      mailinfo: explicitly close file handle to the patch output
+      Sixth batch for 2.7
+      mailinfo: plug strbuf leak during continuation line handling
+      mailinfo: move handle_boundary() lower
+      mailinfo: move read_one_header_line() closer to its callers
+      mailinfo: move check_header() after the helpers it uses
+      mailinfo: move cleanup_space() before its users
+      mailinfo: move definition of MAX_HDR_PARSED closer to its use
+      mailinfo: get rid of function-local static states
+      mailinfo: do not let handle_body() touch global "line" directly
+      mailinfo: do not let handle_boundary() touch global "line" directly
+      mailinfo: do not let find_boundary() touch global "line" directly
+      mailinfo: move global "line" into mailinfo() function
+      mailinfo: introduce "struct mailinfo" to hold globals
+      mailinfo: move keep_subject & keep_non_patch_bracket to struct mailinfo
+      mailinfo: move global "FILE *fin, *fout" to struct mailinfo
+      mailinfo: move filter/header stage to struct mailinfo
+      mailinfo: move patch_lines to struct mailinfo
+      mailinfo: move add_message_id and message_id to struct mailinfo
+      mailinfo: move use_scissors and use_inbody_headers to struct mailinfo
+      mailinfo: move metainfo_charset to struct mailinfo
+      mailinfo: move check for metainfo_charset to convert_to_utf8()
+      mailinfo: move transfer_encoding to struct mailinfo
+      mailinfo: move charset to struct mailinfo
+      mailinfo: move cmitmsg and patchfile to struct mailinfo
+      mailinfo: move [ps]_hdr_data to struct mailinfo
+      mailinfo: move content/content_top to struct mailinfo
+      mailinfo: handle_commit_msg() shouldn't be called after finding patchbreak
+      mailinfo: keep the parsed log message in a strbuf
+      mailinfo: libify
+      mailinfo: handle charset conversion errors in the caller
+      am: make direct call to mailinfo
+      mailinfo: remove calls to exit() and die() deep in the callchain
+      Seventh batch for 2.7
+      Eighth batch for 2.7
+      Ninth batch for 2.7
+      Tenth batch for 2.7
+      Eleventh batch for 2.7
+      RelNotes update for 2.7
+      Update release notes to 2.7
+      Git 2.7-rc0
+
+Karthik Nayak (35):
+      t6302: for-each-ref tests for ref-filter APIs
+      tag: libify parse_opt_points_at()
+      ref-filter: implement '--points-at' option
+      for-each-ref: add '--points-at' option
+      ref-filter: add parse_opt_merge_filter()
+      ref-filter: implement '--merged' and '--no-merged' options
+      for-each-ref: add '--merged' and '--no-merged' options
+      parse-option: rename parse_opt_with_commit()
+      parse-options.h: add macros for '--contains' option
+      ref-filter: implement '--contains' option
+      for-each-ref: add '--contains' option
+      ref-filter: move `struct atom_value` to ref-filter.c
+      ref-filter: introduce ref_formatting_state and ref_formatting_stack
+      utf8: add function to align a string into given strbuf
+      ref-filter: introduce handler function for each atom
+      ref-filter: introduce match_atom_name()
+      ref-filter: implement an `align` atom
+      ref-filter: add option to filter out tags, branches and remotes
+      ref-filter: add support for %(contents:lines=X)
+      ref-filter: add support to sort by version
+      ref-filter: add option to match literal pattern
+      tag.c: use 'ref-filter' data structures
+      tag.c: use 'ref-filter' APIs
+      tag.c: implement '--format' option
+      tag.c: implement '--merged' and '--no-merged' options
+      branch: refactor width computation
+      branch: bump get_head_description() to the top
+      branch: roll show_detached HEAD into regular ref_list
+      branch: move 'current' check down to the presentation layer
+      branch: drop non-commit error reporting
+      branch.c: use 'ref-filter' data structures
+      branch.c: use 'ref-filter' APIs
+      branch: add '--points-at' option
+      tag.c: use the correct algorithm for the '--contains' option
+      ref-filter: fallback on alphabetical comparison
+
+Lars Schneider (18):
+      git-p4: add config git-p4.pathEncoding
+      git-p4: improve path encoding verbose output
+      git-p4: use replacement character for non UTF-8 characters in paths
+      git-p4: add optional type specifier to gitConfig reader
+      git-p4: add gitConfigInt reader
+      git-p4: return an empty list if a list config has no values
+      git-p4: add file streaming progress in verbose mode
+      git-p4: check free space during streaming
+      git-p4: add support for large file systems
+      git-p4: add Git LFS backend for large file system
+      git-p4: avoid "stat" command in t9815 git-p4-submit-fail
+      git-p4: skip t9819 test case on case insensitive file systems
+      git-p4: retry kill/cleanup operations in tests with timeout
+      git-p4: add p4d timeout in tests
+      git-p4: add trap to kill p4d on test exit
+      implement test_might_fail using a refactored test_must_fail
+      add "ok=sigpipe" to test_must_fail and use it to fix flaky tests
+      Add Travis CI support
+
+Lukas Fleischer (4):
+      config.txt: document the semantics of hideRefs with namespaces
+      upload-pack: strip refs before calling ref_is_hidden()
+      hideRefs: add support for matching full refs
+      t5509: add basic tests for hideRefs
+
+Matthieu Moy (5):
+      bisect: sanity check on terms
+      bisect: add 'git bisect terms' to view the current terms
+      bisect: allow setting any user-specified in 'git bisect start'
+      strtoul_ui: reject negative values
+      git-multimail: update to release 1.2.0
+
+Max Kirillov (3):
+      blame: test to describe use of blame --reverse --first-parent
+      blame: extract find_single_final
+      blame: allow blame --reverse --first-parent when it makes sense
+
+Michael Haggerty (4):
+      pack_if_possible_fn(): use ref_type() instead of is_per_worktree_ref()
+      refname_is_safe(): improve docstring
+      refs/refs-internal.h: new header file
+      refs: split filesystem-based refs code into a new file
+
+Michael Rappazzo (5):
+      worktree: add top-level worktree.c
+      worktree: refactor find_linked_symref function
+      worktree: add a function to get worktree details
+      worktree: add details to the worktree struct
+      worktree: add 'list' command
+
+Namhyung Kim (1):
+      stash: allow "stash show" diff output configurable
+
+Nguyễn Thái Ngọc Duy (3):
+      dir.c: make last_exclude_matching_from_list() run til the end
+      dir.c: don't exclude whole dir prematurely if neg pattern may match
+      mailinfo: fix passing wrong address to git_mailinfo_config
+
+Noam Postavsky (1):
+      credential-cache: new option to ignore sighup
+
+Ramsay Jones (1):
+      http: fix some printf format warnings
+
+René Scharfe (7):
+      parse-options: deduplicate parse_options_usage() calls
+      parse-options: inline parse_options_usage() at its only remaining caller
+      parse-options: allow -h as a short option
+      t1450: add tests for NUL in headers of commits and tags
+      grep: stop using PARSE_OPT_NO_INTERNAL_HELP
+      fsck: treat a NUL in a tag header as an error
+      show-ref: stop using PARSE_OPT_NO_INTERNAL_HELP
+
+Ronnie Sahlberg (2):
+      verify_refname_available(): rename function
+      verify_refname_available(): new function
+
+Stefan Beller (4):
+      submodule: rewrite `module_list` shell function in C
+      submodule: rewrite `module_name` shell function in C
+      submodule: rewrite `module_clone` shell function in C
+      submodule-config: "goto" removal in parse_config()
+
+Takashi Iwai (3):
+      gitk: Update msgid's for menu items with accelerator
+      gitk: Add accelerators to Japanese locale
+      gitk: Add accelerator to German locale
+
+Techlive Zheng (7):
+      contrib/subtree: Clean and refactor test code
+      contrib/subtree: Add test for missing subtree
+      contrib/subtree: Add tests for subtree add
+      contrib/subtree: Add merge tests
+      contrib/subtree: Add split tests
+      contrib/subtree: Make each test self-contained
+      contrib/subtree: Handle '--prefix' argument with a slash appended
+
+Tobias Klauser (4):
+      credential-cache--daemon: remove unused #include "sigchain.h"
+      diff: remove unused #include "sigchain.h"
+      read-cache: remove unused #include "sigchain.h"
+      shallow: remove unused #include "sigchain.h"
+
+Torsten Bögershausen (1):
+      t0027: improve test for not-normalized files
+
+Trần Ngọc Quân (1):
+      Updated Vietnamese translation
+
+brian m. carlson (12):
+      sha1_file: introduce has_object_file helper.
+      Convert struct ref to use object_id.
+      add_sought_entry_mem: convert to struct object_id
+      parse_fetch: convert to use struct object_id
+      get_remote_heads: convert to struct object_id
+      push_refs_with_export: convert to struct object_id
+      ref_newer: convert to use struct object_id
+      object: introduce get_object_hash macro.
+      Add several uses of get_object_hash.
+      Convert struct object to object_id
+      Remove get_object_hash.
+      remote: convert functions to struct object_id
+
+
+Version v2.6.7; changes since v2.6.6:
+-------------------------------------
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (3):
+      Git 2.4.12
+      Git 2.5.6
+      Git 2.6.7
+
+
+Version v2.6.6; changes since v2.6.5:
+-------------------------------------
+
+Jeff King (7):
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+
+Junio C Hamano (3):
+      Git 2.4.11
+      Git 2.5.5
+      Git 2.6.6
+
+
+Version v2.6.5; changes since v2.6.4:
+-------------------------------------
+
+Alexey Shumkin (2):
+      t7900-subtree: test the "space in a subdirectory name" case
+      contrib/subtree: respect spaces in a repository path
+
+Charles Bailey (1):
+      t3404: fix quoting of redirect for some versions of bash
+
+Christian Couder (1):
+      Documentation/git-update-index: add missing opts to synopsis
+
+David Turner (1):
+      verify_pack: do not ignore return value of verification function
+
+Elia Pinto (1):
+      ident.c: add support for IPv6
+
+Jeff King (7):
+      ident: make xgetpwuid_self() a static local helper
+      ident: keep a flag for bogus default_email
+      ident: loosen getpwuid error in non-strict mode
+      ident: fix undefined variable when NO_IPV6 is set
+      revision.c: propagate tag names from pending array
+      symbolic-ref: propagate error code from create_symref()
+      t1401: test reflog creation for git-symbolic-ref
+
+Johannes Sixt (1):
+      prune: close directory earlier during loose-object directory traversal
+
+John Keeping (6):
+      t7610: don't use test_config in a subshell
+      t5801: don't use test_when_finished in a subshell
+      test-lib-functions: support "test_config -C <dir> ..."
+      t7800: don't use test_config in a subshell
+      test-lib-functions: detect test_when_finished in subshell
+      send-email: enable SSL level 1 debug output
+
+Junio C Hamano (3):
+      Prepare for 2.6.5
+      Update draft release notes to 2.6.5
+      Git 2.6.5
+
+Lars Schneider (1):
+      git-p4: add option to keep empty commits
+
+Nguyễn Thái Ngọc Duy (1):
+      git-check-ref-format.txt: typo, s/avoids/avoid/
+
+René Scharfe (2):
+      use pop_commit() for consuming the first entry of a struct commit_list
+      show-branch: use argv_array for default arguments
+
+SZEDER Gábor (3):
+      Make error message after failing commit_lock_file() less confusing
+      completion: remove 'git column' from porcelain commands
+      credential-store: don't pass strerror to die_errno()
+
+Stefan Beller (1):
+      document submodule sync --recursive
+
+Stefan Naewe (1):
+      revision.c: fix possible null pointer arithmetic
+
+
+Version v2.6.4; changes since v2.6.3:
+-------------------------------------
+
+Atousa Pahlevan Duprat (2):
+      sha1: provide another level of indirection for the SHA-1 functions
+      sha1: allow limiting the size of the data passed to SHA1_Update()
+
+Charles Bailey (1):
+      http: treat config options sslCAPath and sslCAInfo as paths
+
+Christian Couder (1):
+      Documentation/git-update-index: add missing opts to synopsys
+
+Clemens Buchacher (1):
+      allow hooks to ignore their standard input stream
+
+Daniel Knittl-Frank (1):
+      Escape Git's exec path in contrib/rerere-train.sh script
+
+David Aguilar (1):
+      difftool: ignore symbolic links in use_wt_file
+
+Dennis Kaarsemaker (2):
+      t5813: avoid creating urls that break on cygwin
+      check-ignore: correct documentation about output
+
+Doug Kelly (2):
+      t5304: test cleaning pack garbage
+      gc: remove garbage .idx files from pack dir
+
+Fredrik Medley (1):
+      rebase-i-exec: Allow space in SHELL_PATH
+
+GIRARD Etienne (1):
+      git-p4: clean up after p4 submit failure
+
+John Keeping (3):
+      interpret-trailers: allow running outside a repository
+      rebase: support --no-autostash
+      Documentation/git-rebase: fix --no-autostash formatting
+
+Junio C Hamano (3):
+      prepare_packed_git(): refactor garbage reporting in pack directory
+      Prepare for 2.6.4
+      Git 2.6.4
+
+Luke Diamand (3):
+      git-p4: add failing test for submit from detached head
+      git-p4: add option to system() to return subshell status
+      git-p4: work with a detached head
+
+Michael J Gruber (1):
+      Documentation/diff: give --word-diff-regex=. example
+
+Pat Thoyts (1):
+      remote-http(s): support SOCKS proxies
+
+Rainer M. Canavan (1):
+      configure.ac: use $LIBS not $CFLAGS when testing -lpthread
+
+René Scharfe (1):
+      wt-status: correct and simplify check for detached HEAD
+
+SZEDER Gábor (4):
+      bash prompt: test dirty index and worktree while on an orphan branch
+      bash prompt: remove a redundant 'git diff' option
+      bash prompt: indicate dirty index even on orphan branches
+      filter-branch: deal with object name vs. pathname ambiguity in tree-filter
+
+Андрей Рыбак (1):
+      Documentation: make environment variable formatting more consistent
+
+
+Version v2.6.3; changes since v2.6.2:
+-------------------------------------
+
+David Turner (2):
+      t7063: fix flaky untracked-cache test
+      name-hash: don't reuse cache_entry in dir_entry
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+James McCoy (1):
+      filter-branch: remove multi-line headers in msg filter
+
+Jeff King (7):
+      introduce "extensions" form of core.repositoryformatversion
+      introduce "preciousObjects" repository extension
+      t6031: move triple-rename test to t3030
+      t6031: generalize for recursive and resolve strategies
+      merge: detect delete/modechange conflict
+      add_submodule_odb: initialize alt_odb list earlier
+      merge-file: clamp exit code to maximum 127
+
+Johannes Schindelin (10):
+      t5700: demonstrate a Windows file locking issue with `git clone --dissociate`
+      sha1_file: consolidate code to close a pack's file descriptor
+      gc: demonstrate failure with stale remote HEAD
+      sha1_file.c: add a function to release all packs
+      clone --dissociate: avoid locking pack files
+      pack-objects: do not get distracted by broken symrefs
+      imap-send: only use CURLOPT_LOGIN_OPTIONS if it is actually available
+      Squelch warning about an integer overflow
+      Silence GCC's "cast of pointer to integer of a different size" warning
+      t3404: "rebase -i" gets broken when insn sheet uses CR/LF line endings
+
+Junio C Hamano (10):
+      am -3: do not let failed merge from completing the error codepath
+      Documentation/gc: warn against --prune=<now>
+      usage: do not insist that standard input must come from a file
+      Documentation/everyday: match undefline with the text
+      Documentation: match underline with the text
+      Documentation: match undefline with the text in old release notes
+      Documentation: AsciiDoc spells em-dash as double-dashes, not triple
+      add: simplify -u/-A without pathspec
+      rebase-i: work around Windows CRLF line endings
+      Git 2.6.3
+
+Lars Schneider (2):
+      git-p4: add test case for "Translation of file content failed" error
+      git-p4: handle "Translation of file content failed"
+
+Luke Diamand (3):
+      git-p4: failing test for ignoring invalid p4 labels
+      git-p4: do not terminate creating tag for unknown commit
+      git-p4: fix P4 label import for unprocessed commits
+
+Max Kirillov (3):
+      submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
+      path: implement common_dir handling in git_pathdup_submodule()
+      blame: fix option name in error message
+
+Nguyễn Thái Ngọc Duy (7):
+      path.c: delete an extra space
+      gc: save log from daemonized gc --auto and print it next time
+      t0002: add test for enter_repo(), non-strict mode
+      enter_repo: avoid duplicating logic, use is_git_directory() instead
+      enter_repo: allow .git files in strict mode
+      clone: allow --local from a linked checkout
+      clone: better error when --reference is a linked checkout
+
+Ralf Thielow (1):
+      am, credential-cache: add angle brackets to usage string
+
+Ray Donnelly (1):
+      test-path-utils.c: remove incorrect assumption
+
+Remi Pommarel (3):
+      Makefile: link libcurl before zlib
+      Makefile: make curl-config path configurable
+      configure.ac: detect ssl need with libcurl
+
+René Scharfe (7):
+      t7060: add test for status --branch on a detached HEAD
+      wt-status: exit early using goto in wt_shortstatus_print_tracking()
+      wt-status: avoid building bogus branch name with detached HEAD
+      wt-status: don't skip a magical number of characters blindly
+      wt-status: use skip_prefix() to get rid of magic string length constants
+      run-command: factor out child_process_clear()
+      daemon: plug memory leak
+
+Sidhant Sharma (1):
+      worktree: usage: denote <branch> as optional with 'add'
+
+Stefan Agner (1):
+      git-send-email.perl: Fixed sending of many/huge changes/patches
+
+Tobias Klauser (2):
+      strbuf: make stripspace() part of strbuf
+      stripspace: use parse-options for command-line parsing
+
+Waldek Maleska (1):
+      Correct fscanf formatting string for I64u values
+
+Xue Fuqiao (2):
+      Documentation: fix header markup
+      user-manual: fix the description of fast-forward
+
+
+Version v2.6.2; changes since v2.6.1:
+-------------------------------------
+
+Alex Henrie (2):
+      merge: grammofix in please-commit-before-merge message
+      pull: enclose <options> in brackets in the usage string
+
+Christian Couder (2):
+      quote: fix broken sq_quote_buf() related comment
+      quote: move comment before sq_quote_buf()
+
+Eric N. Vander Weele (1):
+      log: Update log.follow doc and add to config.txt
+
+Jacob Keller (1):
+      notes: correct documentation of DWIMery for notes references
+
+Jeff King (3):
+      git_connect: clear GIT_* environment for ssh
+      git_connect: clarify conn->use_shell flag
+      blame: handle --first-parent
+
+Johannes Schindelin (1):
+      setup: fix "inside work tree" detection on case-insensitive filesystems
+
+John Keeping (2):
+      Makefile: fix MAKEFLAGS tests with multiple flags
+      Documentation: fix section header mark-up
+
+Junio C Hamano (3):
+      Makefile: allow $(ARFLAGS) specified from the command line
+      fsck: exit with non-zero when problems are found
+      Git 2.6.2
+
+Matthieu Moy (7):
+      Documentation: use 'keyid' consistently, not 'key-id'
+      Documentation/grep: fix documentation of -O
+      Documentation: explain optional arguments better
+      t3203: test 'detached at' after checkout --detach
+      status: don't say 'HEAD detached at HEAD'
+      rebase-i: explicitly accept tab as separator in commands
+      rebase-i: loosen over-eager check_bad_cmd check
+
+Michael J Gruber (1):
+      t2026: rename worktree prune test
+
+Nguyễn Thái Ngọc Duy (1):
+      ls-remote.txt: delete unsupported option
+
+Renee Margaret McConahy (1):
+      am: configure gpg at startup
+
+Stephan Beyer (2):
+      t5561: get rid of racy appending to logfile
+      t/perf: make runner work even if Git is not installed
+
+Takashi Iwai (1):
+      pager: don't use unsafe functions in signal handlers
+
+Tobias Klauser (2):
+      connect: fix typo in result string of prot_name()
+      Documentation/interpret-trailers: Grammar fix
+
+
+Version v2.6.1; changes since v2.6.0:
+-------------------------------------
+
+Blake Burkhart (2):
+      http: limit redirection to protocol-whitelist
+      http: limit redirection depth
+
+Jeff King (6):
+      transport: add a protocol-whitelist environment variable
+      submodule: allow only certain protocols for submodule fetches
+      transport: refactor protocol whitelist code
+      react to errors in xdi_diff
+      xdiff: reject files larger than ~1GB
+      merge-file: enforce MAX_XDIFF_SIZE on incoming files
+
+Junio C Hamano (4):
+      Git 2.3.10
+      Git 2.4.10
+      Git 2.5.4
+      Git 2.6.1
+
+
+Version v2.6.0; changes since v2.6.0-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 2.6
+
+
+Version v2.6.0-rc3; changes since v2.6.0-rc2:
+---------------------------------------------
+
+Alejandro R. Sedeño (1):
+      Makefile: use SHELL_PATH when running generate-cmdlist.sh
+
+Alex Henrie (2):
+      show-ref: place angle brackets around variables in usage string
+      l10n: ca.po: update translation
+
+Andreas Schwab (1):
+      Documentation/config: fix formatting for branch.*.rebase and pull.rebase
+
+Brian Norris (1):
+      send-email: fix uninitialized var warning for $smtp_auth
+
+Edward Thomson (1):
+      poll: honor the timeout on Win32
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.6.0 round 1 (2441t)
+      l10n: fr.po v2.6.0 round 2 (2440t)
+
+Jiang Xin (6):
+      l10n: TEAMS: stash inactive zh_CN team members
+      l10n: zh_CN: Add translations for Git glossary
+      l10n: git.pot: v2.6.0 round 1 (123 new, 41 removed)
+      l10n: zh_CN: for git v2.6.0 l10n round 1
+      l10n: git.pot: v2.6.0 round 2 (3 improvements)
+      l10n: zh_CN: for git v2.6.0 l10n round 2
+
+Johannes Schindelin (1):
+      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
+
+Junio C Hamano (4):
+      Update RelNotes to 2.6 to describe leftover bits since -rc2
+      Git 2.5.3
+      Update RelNotes to 2.6
+      Git 2.6-rc3
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2441t0f0u)
+
+Philip Oakley (1):
+      doc: show usage of branch description
+
+Phillip Sz (1):
+      l10n: de.po: better language for one string
+
+Ralf Thielow (4):
+      pull: don't mark values for option "rebase" for translation
+      tag, update-ref: improve description of option "create-reflog"
+      l10n: de.po: translate 123 new messages
+      l10n: de.po: translate 2 messages
+
+Ramsay Jones (1):
+      mailmap: update my entry with new email address
+
+Ray Chen (10):
+      l10n: zh_CN: Update Translation: "tag object"
+      l10n: zh_CN: Unify Translation of "packfile"
+      l10n: zh_CN: Update Translation of "tag"
+      l10n: zh_CN: Add Surrounding Spaces
+      l10n: zh_CN: Update Git Glossary: SHA-1
+      l10n: zh_CN: Update Git Glossary: "dumb", "smart"
+      l10n: zh_CN: Update Git Glossary: tag
+      l10n: zh_CN: Update Git Glossary: fork
+      l10n: zh_CN: Update Git Glossary: pickaxe
+      l10n: zh_CN: Update Git Glossary: "commit message"
+
+Trần Ngọc Quân (2):
+      l10n: Updated Vietnamese translation (2441t)
+      l10n: Update and review Vietnamese translation (2440t)
+
+
+Version v2.6.0-rc2; changes since v2.6.0-rc1:
+---------------------------------------------
+
+Alex Henrie (2):
+      gitk: Fix bad English grammar "Matches none Commit Info"
+      gitk: Remove mc parameter from proc show_error
+
+Alexander Shopov (2):
+      gitk: Update Bulgarian translation (304t)
+      gitk: Update Bulgarian translation (307t)
+
+Beat Bolli (2):
+      gitk: Add a "Copy commit summary" command
+      gitk: Adjust the menu line numbers to compensate for the new entry
+
+Giuseppe Bilotta (2):
+      apply: comment grammar fix
+      gitk: Accelerators for the main menu
+
+Ismael Luceno (1):
+      gitk: Make it easier to go quickly to a specific commit
+
+Jeff King (5):
+      pack-protocol: clarify LF-handling in PKT-LINE()
+      verify_absent: allow filenames longer than PATH_MAX
+      notes: use a strbuf in add_non_note
+      read_info_alternates: handle paths larger than PATH_MAX
+      show-branch: use a strbuf for reflog descriptions
+
+Junio C Hamano (6):
+      Git 2.2.3
+      Git 2.3.9
+      Git 2.4.9
+      Git 2.5.2
+      Release Notes: typofix
+      Git 2.6-rc2
+
+Marc Branchaud (3):
+      gitk: Rearrange window title to be more conventional
+      gitk: Show the current view's name in the window title
+      gitk: Use translated version of "Command line" in getcommitlines
+
+Matthieu Prat (1):
+      t7060: actually test "git diff-index --cached -M"
+
+Michael J Gruber (1):
+      git-svn: parse authors file more leniently
+
+Michael Rappazzo (1):
+      gitk: Add mouse right-click options to copy path and branch name
+
+Paul Mackerras (3):
+      gitk: Replace catch {unset foo} with unset -nocomplain foo
+      gitk: Fix error when changing colors after closing "List references" window
+      gitk: Update .po files
+
+Peter Krefting (1):
+      gitk: sv.po: Update Swedish translation (305t0f0u)
+
+
+Version v2.6.0-rc1; changes since v2.6.0-rc0:
+---------------------------------------------
+
+Jeff King (1):
+      rerere: release lockfile in non-writing functions
+
+Junio C Hamano (2):
+      am: match --signoff to the original scripted version
+      Git 2.6-rc1
+
+
+Version v2.6.0-rc0; changes since v2.5.6:
+-----------------------------------------
+
+Alex Henrie (3):
+      reflog: add missing single quote to error message
+      pack-objects: place angle brackets around placeholders in usage strings
+      read-tree: replace bracket set with parentheses to clarify usage
+
+Antoine Delaite (3):
+      bisect: correction of typo
+      bisect: replace hardcoded "bad|good" by variables
+      bisect: simplify the addition of new bisect terms
+
+Brian Degenhardt (1):
+      unpack-trees: populate cache-tree on successful merge
+
+Charles Bailey (2):
+      test-parse-options: update to handle negative ints
+      parse-options: move unsigned long option parsing out of pack-objects.c
+
+Dave Borowitz (9):
+      Documentation/git-push.txt: document when --signed may fail
+      Documentation/git-send-pack.txt: wrap long synopsis line
+      Documentation/git-send-pack.txt: document --signed
+      gitremote-helpers.txt: document pushcert option
+      transport: remove git_transport_options.push_cert
+      config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
+      builtin/send-pack.c: use parse_options API
+      push: support signing pushes iff the server supports it
+      push: add a config option push.gpgSign for default signed pushes
+
+David Turner (18):
+      log: add "log.follow" configuration variable
+      refs.c: add err arguments to reflog functions
+      refs: break out check for reflog autocreation
+      refs: new public ref function: safe_create_reflog
+      git-reflog: add exists command
+      refs: add REF_FORCE_CREATE_REFLOG flag
+      update-ref and tag: add --create-reflog arg
+      git-stash: use update-ref --create-reflog instead of creating files
+      t/t7509: remove unnecessary manipulation of reflog
+      tests: remove some direct access to .git/logs
+      refs: introduce pseudoref and per-worktree ref concepts
+      refs: add ref_type function
+      pseudorefs: create and use pseudoref update and delete functions
+      bisect: use update_ref
+      sequencer: replace write_cherry_pick_head with update_ref
+      worktrees: add find_shared_symref
+      notes: handle multiple worktrees
+      pseudoref: check return values from read_ref()
+
+Elia Pinto (1):
+      http: add support for specifying the SSL version
+
+Eric Sunshine (25):
+      config: rename "gc.pruneWorktreesExpire" to "gc.worktreePruneExpire"
+      checkout: avoid resolving HEAD unnecessarily
+      checkout: name check_linked_checkouts() more meaningfully
+      checkout: improve die_if_checked_out() robustness
+      checkout: die_if_checked_out: simplify strbuf management
+      checkout: generalize die_if_checked_out() branch name argument
+      checkout: check_linked_checkout: improve "already checked out" aesthetic
+      checkout: check_linked_checkout: simplify symref parsing
+      checkout: teach check_linked_checkout() about symbolic link HEAD
+      branch: publish die_if_checked_out()
+      worktree: improve worktree setup message
+      worktree: simplify new branch (-b/-B) option checking
+      worktree: introduce options container
+      worktree: make --detach mutually exclusive with -b/-B
+      worktree: add: suppress auto-vivication with --detach and no <branch>
+      worktree: make branch creation distinct from worktree population
+      worktree: elucidate environment variables intended for child processes
+      worktree: add_worktree: construct worktree-population command locally
+      worktree: detect branch-name/detached and error conditions locally
+      worktree: make setup of new HEAD distinct from worktree population
+      worktree: avoid resolving HEAD unnecessarily
+      worktree: populate via "git reset --hard" rather than "git checkout"
+      checkout: drop intimate knowledge of newly created worktree
+      Documentation/git-worktree: fix broken 'linkgit' invocation
+      Documentation/config: mention "now" and "never" for 'expire' settings
+
+Erik Elfström (5):
+      setup: add gentle version of read_gitfile
+      setup: sanity check file size in read_gitfile_gently
+      t7300: add tests to document behavior of clean and nested git
+      p7300: add performance tests for clean
+      clean: improve performance when removing lots of directories
+
+Galan Rémi (3):
+      git-rebase -i: add command "drop" to remove a commit
+      git rebase -i: warn about removed commits
+      git rebase -i: add static check for commands and SHA-1
+
+Guillaume Pagès (4):
+      status: factor two rebase-related messages together
+      status: differentiate interactive from non-interactive rebases
+      status: give more information during rebase -i
+      status: add new tests for status during rebase -i
+
+Heiko Voigt (4):
+      submodule: implement a config API for lookup of .gitmodules values
+      submodule: extract functions for config set and lookup
+      submodule: use new config API for worktree configurations
+      submodule: allow erroneous values for the fetchRecurseSubmodules option
+
+Jacob Keller (8):
+      refs: cleanup comments regarding check_refname_component()
+      refs: loosen restriction on wildcard "*" refspecs
+      notes: document cat_sort_uniq rewriteMode
+      notes: extract enum notes_merge_strategy to notes-utils.h
+      notes: extract parse_notes_merge_strategy to notes-utils
+      notes: add tests for --commit/--abort/--strategy exclusivity
+      notes: add notes.mergeStrategy option to select default strategy
+      notes: teach git-notes about notes.<name>.mergeStrategy option
+
+Jan Viktorin (1):
+      send-email: provide whitelist of SMTP AUTH mechanisms
+
+Jeff King (36):
+      pkt-line: simplify starts_with checks in packet tracing
+      pkt-line: tighten sideband PACK check when tracing
+      pkt-line: support tracing verbatim pack contents
+      cat-file: minor style fix in options list
+      cat-file: move batch_options definition to top of file
+      cat-file: add --buffer option
+      cat-file: stop returning value from batch_one_object
+      cat-file: split batch_one_object into two stages
+      cat-file: add --batch-all-objects option
+      read_gitfile_gently: fix use-after-free
+      cat-file: sort and de-dup output of --batch-all-objects
+      show-branch: use DATE_RELATIVE instead of magic number
+      convert "enum date_mode" into a struct
+      introduce "format" date-mode
+      strbuf: make strbuf_addftime more robust
+      docs/config.txt: reorder hideRefs config
+      refs: support negative transfer.hideRefs
+      cache.h: clarify documentation for git_path, et al
+      cache.h: complete set of git_path_submodule helpers
+      t5700: modernize style
+      add_to_alternates_file: don't add duplicate entries
+      prefer git_pathdup to git_path in some possibly-dangerous cases
+      prefer mkpathdup to mkpath in assignments
+      remote.c: drop extraneous local variable from migrate_file
+      refs.c: remove extra git_path calls from read_loose_refs
+      path.c: drop git_path_submodule
+      refs.c: simplify strbufs in reflog setup and writing
+      refs.c: avoid repeated git_path calls in rename_tmp_log
+      refs.c: avoid git_path assignment in lock_ref_sha1_basic
+      refs.c: remove_empty_directories can take a strbuf
+      find_hook: keep our own static buffer
+      get_repo_path: refactor path-allocation
+      memoize common git-path "constant" files
+      format_config: don't init strbuf
+      format_config: simplify buffer handling
+      get_urlmatch: avoid useless strbuf write
+
+Jiang Xin (1):
+      i18n: am: fix typo in description of -b option
+
+Johannes Schindelin (19):
+      fsck: introduce fsck options
+      fsck: introduce identifiers for fsck messages
+      fsck: provide a function to parse fsck message IDs
+      fsck: offer a function to demote fsck errors to warnings
+      fsck (receive-pack): allow demoting errors to warnings
+      fsck: report the ID of the error/warning
+      fsck: make fsck_ident() warn-friendly
+      fsck: make fsck_commit() warn-friendly
+      fsck: handle multiple authors in commits specially
+      fsck: make fsck_tag() warn-friendly
+      fsck: add a simple test for receive.fsck.<msg-id>
+      fsck: disallow demoting grave fsck errors to warnings
+      fsck: optionally ignore specific fsck issues completely
+      fsck: allow upgrading fsck warnings to errors
+      fsck: document the new receive.fsck.<msg-id> options
+      fsck: support demoting errors to warnings
+      fsck: introduce `git fsck --connectivity-only`
+      fsck: git receive-pack: support excluding objects from fsck'ing
+      fsck: support ignoring objects in `git fsck` via fsck.skiplist
+
+Johannes Sixt (1):
+      t7300-clean: require POSIXPERM for chmod 0 test
+
+Junio C Hamano (21):
+      commit-slab: introduce slabname##_peek() function
+      First batch for 2.6
+      sha1_file.c: rename move_temp_to_file() to finalize_object_file()
+      Second batch for 2.6
+      Third batch for 2.6
+      Fourth batch for 2.6
+      log: rename "tweak" helpers
+      log: when --cc is given, default to -p unless told otherwise
+      log: show merge commit when --cc is given
+      builtin/am: introduce write_state_*() helper functions
+      builtin/am: make sure state files are text
+      write_file(): drop "fatal" parameter
+      write_file_v(): do not leave incomplete line at the end
+      write_file(): drop caller-supplied LF from calls to create a one-liner file
+      builtin/log.c: minor reformat
+      Fifth batch for 2.6
+      Sixth batch for 2.6
+      Seventh batch for 2.6
+      Eighth batch for 2.6
+      Ninth batch for 2.6
+      Git 2.6-rc0
+
+Karsten Blees (1):
+      Documentation/i18n.txt: clarify character encoding support
+
+Karthik Nayak (11):
+      for-each-ref: extract helper functions out of grab_single_ref()
+      for-each-ref: clean up code
+      for-each-ref: rename 'refinfo' to 'ref_array_item'
+      for-each-ref: introduce new structures for better organisation
+      for-each-ref: introduce 'ref_array_clear()'
+      for-each-ref: rename some functions and make them public
+      for-each-ref: rename variables called sort to sorting
+      ref-filter: add 'ref-filter.h'
+      ref-filter: move code from 'for-each-ref'
+      for-each-ref: introduce filter_refs()
+      ref-filter: make 'ref_array_item' use a FLEX_ARRAY for refname
+
+Kevin Daudt (1):
+      pull: allow dirty tree when rebase.autostash enabled
+
+Lars Schneider (1):
+      git-p4: honor core.ignorecase when using P4 client specs
+
+Matthieu Moy (2):
+      Documentation/bisect: move getting help section to the end
+      bisect: don't mix option parsing and non-trivial code
+
+Michael Haggerty (41):
+      delete_ref(): move declaration to refs.h
+      remove_branches(): remove temporary
+      delete_ref(): handle special case more explicitly
+      delete_refs(): new function for the refs API
+      delete_refs(): make error message more generic
+      delete_refs(): bail early if the packed-refs file cannot be rewritten
+      prune_remote(): use delete_refs()
+      prune_refs(): use delete_refs()
+      repack_without_refs(): make function private
+      initial_ref_transaction_commit(): function for initial ref creation
+      refs: remove some functions from the module's public interface
+      initial_ref_transaction_commit(): check for duplicate refs
+      initial_ref_transaction_commit(): check for ref D/F conflicts
+      refs: move the remaining ref module declarations to refs.h
+      refs.h: add some parameter names to function declarations
+      check_branch_commit(): make first parameter const
+      update_ref(): don't read old reference value before delete
+      cmd_update_ref(): make logic more straightforward
+      delete_ref(): use the usual convention for old_sha1
+      Documentation/bisect: revise overall content
+      fast-import: add a get-mark command
+      Documentation/git-worktree: consistently use term "linked working tree"
+      Documentation/git-worktree: fix incorrect reference to file "locked"
+      Documentation/config: fix stale "git prune --worktree" reference
+      Documentation/git-worktree: wordsmith worktree-related manpages
+      lockfile: move documentation to lockfile.h and lockfile.c
+      create_bundle(): duplicate file descriptor to avoid closing it twice
+      lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
+      lockfile: add accessor get_lock_file_path()
+      commit_lock_file(): use get_locked_file_path()
+      tempfile: a new module for handling temporary files
+      prepare_tempfile_object(): new function, extracted from create_tempfile()
+      tempfile: add several functions for creating temporary files
+      register_tempfile(): new function to handle an existing temporary file
+      write_shared_index(): use tempfile module
+      setup_temporary_shallow(): use tempfile module
+      diff: use tempfile module
+      lock_repo_for_gc(): compute the path to "gc.pid" only once
+      gc: use tempfile module to handle gc.pid file
+      credential-cache--daemon: delete socket from main()
+      credential-cache--daemon: use tempfile module
+
+Michael Rappazzo (1):
+      git-rebase--interactive.sh: add config option for custom instruction format
+
+Mike Hommey (1):
+      Allow to control where the replace refs are looked for
+
+Patrick Steinhardt (4):
+      Documentation/git-worktree: fix duplicated 'from'
+      clone: do not include authentication data in guessed dir
+      clone: do not use port number as dir name
+      clone: abort if no dir name could be guessed
+
+Paul Tan (85):
+      t4150: test applying StGit patch
+      am: teach StGit patch parser how to read from stdin
+      t4150: test applying StGit series
+      am: use gmtime() to parse mercurial patch date
+      am: teach mercurial patch parser how to read from stdin
+      parse-options-cb: implement parse_opt_passthru()
+      parse-options-cb: implement parse_opt_passthru_argv()
+      argv-array: implement argv_array_pushv()
+      pull: implement skeletal builtin pull
+      pull: implement fetch + merge
+      pull: pass verbosity, --progress flags to fetch and merge
+      pull: pass git-merge's options to git-merge
+      pull: pass git-fetch's options to git-fetch
+      pull: error on no merge candidates
+      pull: support pull.ff config
+      pull: check if in unresolved merge state
+      pull: fast-forward working tree if head is updated
+      pull: implement pulling into an unborn branch
+      pull: set reflog message
+      pull: teach git pull about --rebase
+      pull: configure --rebase via branch.<name>.rebase or pull.rebase
+      pull --rebase: exit early when the working directory is dirty
+      pull --rebase: error on no merge candidate cases
+      pull: remove redirection to git-pull.sh
+      t4150: am.messageid really adds the message id
+      t4150: am fails if index is dirty
+      t4151: am --abort will keep dirty index intact
+      t4150: am refuses patches when paused
+      t4150: am --resolved fails if index has no changes
+      t4150: am --resolved fails if index has unmerged entries
+      t4150: am with applypatch-msg hook
+      t4150: am with pre-applypatch hook
+      t4150: am with post-applypatch hook
+      t4150: tests for am --[no-]scissors
+      t3418: non-interactive rebase --continue with rerere enabled
+      t3901: test git-am encoding conversion
+      wrapper: implement xopen()
+      wrapper: implement xfopen()
+      builtin-am: implement skeletal builtin am
+      builtin-am: implement patch queue mechanism
+      builtin-am: split out mbox/maildir patches with git-mailsplit
+      builtin-am: auto-detect mbox patches
+      builtin-am: extract patch and commit info with git-mailinfo
+      builtin-am: apply patch with git-apply
+      builtin-am: implement committing applied patch
+      builtin-am: refuse to apply patches if index is dirty
+      builtin-am: implement --resolved/--continue
+      builtin-am: don't parse mail when resuming
+      builtin-am: implement --skip
+      builtin-am: implement --abort
+      builtin-am: reject patches when there's a session in progress
+      builtin-am: implement -q/--quiet
+      builtin-am: exit with user friendly message on failure
+      builtin-am: implement -s/--signoff
+      cache-tree: introduce write_index_as_tree()
+      builtin-am: implement --3way
+      builtin-am: implement --rebasing mode
+      builtin-am: bypass git-mailinfo when --rebasing
+      builtin-am: handle stray state directory
+      builtin-am: implement -u/--utf8
+      builtin-am: implement -k/--keep, --keep-non-patch
+      builtin-am: implement --[no-]message-id, am.messageid
+      builtin-am: support --keep-cr, am.keepcr
+      builtin-am: implement --[no-]scissors
+      builtin-am: pass git-apply's options to git-apply
+      builtin-am: implement --ignore-date
+      builtin-am: implement --committer-date-is-author-date
+      builtin-am: implement -S/--gpg-sign, commit.gpgsign
+      builtin-am: invoke post-rewrite hook
+      builtin-am: support automatic notes copying
+      builtin-am: invoke applypatch-msg hook
+      builtin-am: invoke pre-applypatch hook
+      builtin-am: invoke post-applypatch hook
+      builtin-am: rerere support
+      builtin-am: support and auto-detect StGit patches
+      builtin-am: support and auto-detect StGit series files
+      builtin-am: support and auto-detect mercurial patches
+      builtin-am: implement -i/--interactive
+      builtin-am: implement legacy -b/--binary option
+      builtin-am: check for valid committer ident
+      builtin-am: remove redirection to git-am.sh
+      test_terminal: redirect child process' stdin to a pty
+      am: let command-line options override saved options
+      am: let --signoff override --no-signoff
+      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
+
+Ralf Thielow (1):
+      lockfile: remove function "hold_lock_file_for_append"
+
+Remi Lespinet (11):
+      t9001-send-email: move script creation in a setup test
+      send-email: allow aliases in patch header and command script outputs
+      t9001-send-email: refactor header variable fields replacement
+      send-email: refactor address list process
+      send-email: allow use of aliases in the From field of --compose mode
+      send-email: minor code refactoring
+      send-email: reduce dependencies impact on parse_address_line
+      send-email: consider quote as delimiter instead of character
+      send-email: allow multiple emails using --cc, --to and --bcc
+      send-email: suppress meaningless whitespaces in from field
+      git-am: add am.threeWay config variable
+
+SZEDER Gábor (6):
+      bash prompt: test untracked files status indicator with untracked dirs
+      bash prompt: faster untracked status indicator with untracked directories
+      config: add '--name-only' option to list only variable names
+      completion: list variable names reliably with 'git config --name-only'
+      config: restructure format_config() for better control flow
+      describe --contains: default to HEAD when no commit-ish is given
+
+Stefan Beller (1):
+      read-cache: fix indentation in read_index_from
+
+Thomas Braun (1):
+      completion: offer '--edit-todo' during interactive rebase
+
+Zoë Blade (1):
+      userdiff: add support for Fountain documents
+
+brian m. carlson (7):
+      verify-tag: add tests
+      verify-tag: share code with verify-commit
+      verify-commit: add test for exit status on untrusted signature
+      gpg: centralize signature check
+      gpg: centralize printing signature buffers
+      verify-commit: add option to print raw gpg status information
+      verify-tag: add option to print raw gpg status information
+
+
+Version v2.5.6; changes since v2.5.5:
+-------------------------------------
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (2):
+      Git 2.4.12
+      Git 2.5.6
+
+
+Version v2.5.5; changes since v2.5.4:
+-------------------------------------
+
+Jeff King (7):
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+
+Junio C Hamano (2):
+      Git 2.4.11
+      Git 2.5.5
+
+
+Version v2.5.4; changes since v2.5.3:
+-------------------------------------
+
+Blake Burkhart (2):
+      http: limit redirection to protocol-whitelist
+      http: limit redirection depth
+
+Jeff King (6):
+      transport: add a protocol-whitelist environment variable
+      submodule: allow only certain protocols for submodule fetches
+      transport: refactor protocol whitelist code
+      react to errors in xdi_diff
+      xdiff: reject files larger than ~1GB
+      merge-file: enforce MAX_XDIFF_SIZE on incoming files
+
+Junio C Hamano (3):
+      Git 2.3.10
+      Git 2.4.10
+      Git 2.5.4
+
+
+Version v2.5.3; changes since v2.5.2:
+-------------------------------------
+
+Alex Henrie (1):
+      git-submodule: remove extraneous space from error message
+
+Brett Randall (1):
+      git-svn doc: mention "svn-remote.<name>.include-paths"
+
+David Turner (2):
+      untracked-cache: support sparse checkout
+      untracked-cache: fix subdirectory handling
+
+Johannes Schindelin (1):
+      am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
+
+Junio C Hamano (1):
+      Git 2.5.3
+
+Nguyễn Thái Ngọc Duy (2):
+      t7063: use --force-untracked-cache to speed up a bit
+      untracked cache: fix entry invalidation
+
+
+Version v2.5.2; changes since v2.5.1:
+-------------------------------------
+
+Andreas Schwab (1):
+      Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
+
+Christian Couder (3):
+      trailer: ignore first line of message
+      trailer: retitle a test and correct an in-comment message
+      trailer: support multiline title
+
+Clemens Buchacher (1):
+      git_open_noatime: return with errno=0 on success
+
+David Turner (1):
+      commit: don't rewrite shared index unnecessarily
+
+Eric Sunshine (1):
+      generate-cmdlist: re-implement as shell script
+
+Erik Elfström (1):
+      t7300: fix broken && chains
+
+Jeff King (9):
+      vreportf: report to arbitrary filehandles
+      vreportf: avoid intermediate buffer
+      config: silence warnings for command names with invalid keys
+      rev-list: make it obvious that we do not support notes
+      log: diagnose empty HEAD more clearly
+      verify_absent: allow filenames longer than PATH_MAX
+      notes: use a strbuf in add_non_note
+      read_info_alternates: handle paths larger than PATH_MAX
+      show-branch: use a strbuf for reflog descriptions
+
+Jim Hill (1):
+      strbuf_read(): skip unnecessary strbuf_grow() at eof
+
+Johannes Sixt (1):
+      t2019: skip test requiring '*' in a file name non Windows
+
+Junio C Hamano (5):
+      ps_matched: xcalloc() takes nmemb and then element size
+      Git 2.2.3
+      Git 2.3.9
+      Git 2.4.9
+      Git 2.5.2
+
+Michael Haggerty (4):
+      get_remote_group(): handle remotes with single-character names
+      get_remote_group(): rename local variable "space" to "wordlen"
+      get_remote_group(): eliminate superfluous call to strcspn()
+      get_remote_group(): use skip_prefix()
+
+Nguyễn Thái Ngọc Duy (1):
+      setup: update the right file in multiple checkouts
+
+Patrick Steinhardt (2):
+      tests: fix broken && chains in t1509-root-worktree
+      tests: fix cleanup after tests in t1509-root-worktree
+
+Philip Oakley (1):
+      po/README: Update directions for l10n contributors
+
+René Scharfe (3):
+      t5004: test ZIP archives with many entries
+      archive-zip: use a local variable to store the creator version
+      archive-zip: support more than 65535 entries
+
+SZEDER Gábor (2):
+      t3020: fix typo in test description
+      wt-status: move #include "pathspec.h" to the header
+
+Sven Strickroth (1):
+      config: close config file handle in case of error
+
+
+Version v2.5.1; changes since v2.5.0:
+-------------------------------------
+
+Charles Bailey (1):
+      untracked: fix detection of uname(2) failure
+
+David Aguilar (1):
+      contrib/subtree: ignore log.date configuration
+
+David Turner (1):
+      unpack-trees: don't update files with CE_WT_REMOVE set
+
+Eric Sunshine (5):
+      Documentation/git: drop outdated Cogito reference
+      Documentation/git-tools: improve discoverability of Git wiki
+      Documentation/git-tools: fix item text formatting
+      Documentation/git-tools: drop references to defunct tools
+      Documentation/git-tools: retire manually-maintained list
+
+Ilya Bobyr (1):
+      rev-parse --parseopt: allow [*=?!] in argument hints
+
+Jeff King (4):
+      test-lib: turn off "-x" tracing during chain-lint check
+      test-lib: disable trace when test is not verbose
+      clone: add tests for output directory
+      clone: use computed length in guess_dir_name
+
+Jiang Xin (1):
+      receive-pack: crash when checking with non-exist HEAD
+
+Jose F. Morales (1):
+      Mingw: verify both ends of the pipe () call
+
+Junio C Hamano (5):
+      builtin/send-pack.c: respect user.signingkey
+      Git 2.4.8
+      Start preparing for 2.5.1
+      pull: pass upload_pack only when it was given
+      Git 2.5.1
+
+Karthik Nayak (1):
+      Documentation/tag: remove double occurance of "<pattern>"
+
+Matthieu Moy (1):
+      pull.sh: quote $upload_pack when passing it to git-fetch
+
+Mike Hommey (1):
+      fast-import: do less work when given "from" matches current branch head
+
+Nguyễn Thái Ngọc Duy (1):
+      setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR
+
+Simon A. Eugster (1):
+      checkout: document subtlety around --ours/--theirs
+
+Stefan Beller (3):
+      parse-options: align curly braces for all options
+      add: remove dead code
+      transport-helper: die on errors reading refs.
+
+Thomas Ackermann (1):
+      typofix for index-format.txt
+
+
+Version v2.5.0; changes since v2.5.0-rc3:
+-----------------------------------------
+
+Junio C Hamano (4):
+      Revert "git-am: add am.threeWay config variable"
+      RelNotes: am.threeWay does not exist (yet)
+      Git 2.4.7
+      Git 2.5
+
+
+Version v2.5.0-rc3; changes since v2.5.0-rc2:
+---------------------------------------------
+
+Alex Henrie (2):
+      l10n: ca.po: update translation
+      l10n: ca.po: update translation
+
+Alexander Shopov (2):
+      l10n: Updated Bulgarian translation of git (2355t,0f,0u)
+      l10n: Updated Bulgarian translation of git (2359t,0f,0u)
+
+Dimitriy Ryazantcev (1):
+      l10n: ru.po: update Russian translation
+
+Eric Sunshine (2):
+      Documentation/git-worktree: fix stale "git checkout --to" references
+      Documentation/git: fix stale "MULTIPLE CHECKOUT MODE" reference
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.5.0-rc0 (2355t)
+      l10n: fr v2.5.0 round 2 (2359t)
+
+Jiang Xin (4):
+      l10n: git.pot: v2.5.0 round 1 (65 new, 15 removed)
+      l10n: zh_CN: for git v2.5.0 l10n round 1
+      l10n: git.pot: v2.5.0 round 2 (9 new, 5 removed)
+      l10n: zh_CN: for git v2.5.0 l10n round 2
+
+Junio C Hamano (3):
+      Git 2.4.6
+      worktree: caution that this is still experimental
+      Git 2.5.0-rc3
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (2355t0f0u)
+      l10n: sv.po: Update Swedish translation (2359t0f0u)
+
+Ralf Thielow (4):
+      l10n: de.po: fix translation of "head nodes"
+      l10n: de.po: translate "index" as "Index"
+      l10n: de.po: translate 65 new messages
+      l10n: de.po: translate 9 new messages
+
+René Scharfe (1):
+      diff: parse ws-error-highlight option more strictly
+
+Stefan Beller (1):
+      revision.c: remove unneeded check for NULL
+
+Tony Finch (1):
+      gitweb: fix typo in man page
+
+Trần Ngọc Quân (2):
+      l10n: Updated Vietnamese translation (2355t)
+      l10n: Updated Vietnamese translation (2359t)
+
+
+Version v2.5.0-rc2; changes since v2.5.0-rc1:
+---------------------------------------------
+
+Charles Bailey (3):
+      contrib/subtree: use tabs consitently for indentation in tests
+      contrib/subtree: fix broken &&-chains and revealed test error
+      contrib/subtree: small tidy-up to test
+
+Clemens Buchacher (1):
+      rebase: return non-zero error code if format-patch fails
+
+Enrique Tobis (1):
+      http: always use any proxy auth method available
+
+Eric Sunshine (23):
+      Documentation/git-checkout: fix incorrect worktree prune command
+      Documentation/git-worktree: associate options with commands
+      Documentation: move linked worktree description from checkout to worktree
+      Documentation/git-worktree: add BUGS section
+      Documentation/git-worktree: split technical info from general description
+      Documentation/git-worktree: add high-level 'lock' overview
+      Documentation/git-worktree: add EXAMPLES section
+      checkout: fix bug with --to and relative HEAD
+      checkout: relocate --to's "no branch specified" check
+      checkout: prepare_linked_checkout: drop now-unused 'new' argument
+      checkout: make --to unconditionally verbose
+      checkout: drop 'checkout_opts' dependency from prepare_linked_checkout
+      worktree: introduce "add" command
+      worktree: add --force option
+      worktree: add --detach option
+      worktree: add -b/-B options
+      tests: worktree: retrofit "checkout --to" tests for "worktree add"
+      checkout: retire --to option
+      checkout: require worktree unconditionally
+      worktree: extract basename computation to new function
+      worktree: add: make -b/-B default to HEAD when <branch> is omitted
+      worktree: add: auto-vivify new branch when <branch> is omitted
+      checkout: retire --ignore-other-worktrees in favor of --force
+
+Jeff King (4):
+      docs: clarify that --encoding can produce invalid sequences
+      for_each_packed_object: automatically open pack index
+      rev-list: disable --use-bitmap-index when pruning commits
+      check_and_freshen_file: fix reversed success-check
+
+Johannes Schindelin (2):
+      t3404: demonstrate CHERRY_PICK_HEAD bug
+      rebase -i: do not leave a CHERRY_PICK_HEAD file behind
+
+Junio C Hamano (6):
+      fsck: it is OK for a tag and a commit to lack the body
+      pager: do not leak "GIT_PAGER_IN_USE" to the pager
+      index-pack: fix allocation of sorted_by_pos array
+      The last minute bits of fixes
+      Revert "checkout: retire --ignore-other-worktrees in favor of --force"
+      Git 2.5.0-rc2
+
+Karsten Blees (2):
+      config.c: fix writing config files on Windows network shares
+      Makefile / racy-git.txt: clarify USE_NSEC prerequisites
+
+Lawrence Siebert (1):
+      rev-list: add --count to usage guide
+
+Matthieu Moy (3):
+      git-multimail: update to release 1.1.1
+      Documentation/branch: document -d --force and -m --force
+      Documentation/branch: document -M and -D in terms of --force
+
+Michael Haggerty (1):
+      strbuf: strbuf_read_file() should return ssize_t
+
+Nguyễn Thái Ngọc Duy (3):
+      checkout: don't check worktrees when not necessary
+      worktree: new place for "git prune --worktrees"
+      Add tests for wildcard "path vs ref" disambiguation
+
+Richard Hansen (2):
+      Revert "test-lib.sh: do tests for color support after changing HOME"
+      test-lib.sh: fix color support when tput needs ~/.terminfo
+
+Sebastian Schuberth (1):
+      clone: simplify string handling in guess_dir_name()
+
+Stefan Beller (1):
+      p5310: Fix broken && chain in performance test
+
+Torsten Bögershausen (1):
+      git-checkout.txt: document "git checkout <pathspec>" better
+
+
+Version v2.5.0-rc1; changes since v2.5.0-rc0:
+---------------------------------------------
+
+Joe Cridge (1):
+      git-prompt.sh: document GIT_PS1_STATESEPARATOR
+
+Junio C Hamano (1):
+      Git 2.5.0-rc1
+
+Matthieu Moy (1):
+      Documentation/describe: improve one-line summary
+
+Michael J Gruber (1):
+      mergetool-lib: fix default tool selection
+
+Mike Edgar (1):
+      fetch-pack: check for shallow if depth given
+
+
+Version v2.5.0-rc0; changes since v2.4.12:
+------------------------------------------
+
+Allen Hubbe (1):
+      send-email: add sendmail email aliases format
+
+Blair Holloway (1):
+      git-p4: fix filetype detection on files opened exclusively
+
+Christian Neukirchen (1):
+      cvsimport: silence regex warning appearing in Perl 5.22.
+
+Danny Lin (2):
+      contrib/subtree: there's no push --squash
+      contrib/subtree: portability fix for string printing
+
+David Aguilar (2):
+      mergetool--lib: set IFS for difftool and mergetool
+      mergetools: add winmerge as a builtin tool
+
+David Turner (3):
+      tree-walk: learn get_tree_entry_follow_symlinks
+      sha1_name: get_sha1_with_context learns to follow symlinks
+      cat-file: add --follow-symlinks to --batch
+
+Dennis Kaarsemaker (1):
+      checkout: don't require a work tree when checking out into a new one
+
+Eric Sunshine (14):
+      command-list: prepare machinery for upcoming "common groups" section
+      generate-cmdlist: parse common group commands
+      send-email: further document missing sendmail aliases functionality
+      send-email: visually distinguish sendmail aliases parser warnings
+      send-email: drop noise comments which merely repeat what code says
+      send-email: fix style: cuddle 'elsif' and 'else' with closing brace
+      send-email: refactor sendmail aliases parser
+      send-email: simplify sendmail aliases comment and blank line recognizer
+      send-email: implement sendmail aliases line continuation support
+      t9001: refactor sendmail aliases test infrastructure
+      t9001: add sendmail aliases line continuation tests
+      send-email: further warn about unsupported sendmail aliases features
+      config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
+      configure: add getdelim() check
+
+Fredrik Medley (3):
+      config.txt: clarify allowTipSHA1InWant with camelCase
+      upload-pack: prepare to extend allow-tip-sha1-in-want
+      upload-pack: optionally allow fetching reachable sha1
+
+Jeff King (29):
+      strbuf_getwholeline: use getc macro
+      git-compat-util: add fallbacks for unlocked stdio
+      strbuf_getwholeline: use getc_unlocked
+      config: use getc_unlocked when reading from file
+      strbuf_addch: avoid calling strbuf_grow
+      strbuf_getwholeline: avoid calling strbuf_grow
+      strbuf_getwholeline: use getdelim if it is available
+      read_packed_refs: avoid double-checking sane refs
+      t1430: add another refs-escape test
+      test-lib: turn on GIT_TEST_CHAIN_LINT by default
+      remote.c: drop default_remote_name variable
+      progress: treat "no terminal" as being in the foreground
+      remote.c: refactor setup of branch->merge list
+      remote.c: drop "remote" pointer from "struct branch"
+      remote.c: hoist branch.*.remote lookup out of remote_get_1
+      remote.c: provide per-branch pushremote name
+      remote.c: hoist read_config into remote_get_1
+      remote.c: introduce branch_get_upstream helper
+      remote.c: report specific errors from branch_get_upstream
+      remote.c: untangle error logic in branch_get_upstream
+      remote.c: return upstream name from stat_tracking_info
+      remote.c: add branch_get_push
+      sha1_name: refactor upstream_mark
+      sha1_name: refactor interpret_upstream_mark
+      sha1_name: implement @{push} shorthand
+      for-each-ref: use skip_prefix instead of starts_with
+      for-each-ref: accept "%(push)" format
+      t7063: hide stderr from setup inside prereq
+      index-pack: fix truncation of off_t in comparison
+
+Johannes Sixt (5):
+      compat/mingw: stubs for getpgid() and tcgetpgrp()
+      lockfile: replace random() by rand()
+      help.c: wrap wait-only poll() invocation in sleep_millisec()
+      lockfile: convert retry timeout computations to millisecond
+      lockfile: wait using sleep_millisec() instead of select()
+
+Jonathan Nieder (1):
+      config: use error() instead of fprintf(stderr, ...)
+
+Junio C Hamano (38):
+      t2026: fix broken &&-chain
+      test: validate prerequistes syntax
+      merge: test the top-level merge driver
+      merge: simplify code flow
+      t5520: style fixes
+      t5520: test pulling an octopus into an unborn branch
+      merge: clarify "pulling into void" special case
+      merge: do not check argc to determine number of remote heads
+      merge: small leakfix and code simplification
+      merge: clarify collect_parents() logic
+      merge: split reduce_parents() out of collect_parents()
+      merge: narrow scope of merge_names
+      merge: extract prepare_merge_message() logic out
+      merge: make collect_parents() auto-generate the merge message
+      merge: decide if we auto-generate the message early in collect_parents()
+      merge: handle FETCH_HEAD internally
+      merge: deprecate 'git merge <message> HEAD <commit>' syntax
+      First batch for 2.5 cycle
+      Second batch for 2.5 cycle
+      Third batch for 2.5 cycle
+      copy.c: make copy_fd() report its status silently
+      filter_buffer_or_fd(): ignore EPIPE
+      Fourth batch for 2.5 cycle
+      t4015: modernise style
+      t4015: separate common setup and per-test expectation
+      Fifth batch for 2.5 cycle
+      diff.c: add emit_del_line() and emit_context_line()
+      diff.c: --ws-error-highlight=<kind> option
+      t9001: write $HOME/, not ~/, to help shells without tilde expansion
+      apply: reject a hunk that does not do anything
+      Sixth batch for 2.5 cycle
+      ll-merge: pass the original path to external drivers
+      The first half of the seventh batch for 2.5
+      Second half of seventh batch
+      Eighth batch for 2.5
+      Revert "diff-lib.c: adjust position of i-t-a entries in diff"
+      Ninth batch for 2.5
+      Git 2.5.0-rc0
+
+Karthik Nayak (4):
+      sha1_file: support reading from a loose object of unknown type
+      cat-file: make the options mutually exclusive
+      cat-file: teach cat-file a '--allow-unknown-type' option
+      t1006: add tests for git cat-file --allow-unknown-type
+
+Lars Kellogg-Stedman (1):
+      http: add support for specifying an SSL cipher list
+
+Lex Spoon (1):
+      git-p4: use -m when running p4 changes
+
+Luke Diamand (11):
+      git-p4: fix small bug in locked test scripts
+      git-p4: small fix for locked-file-move-test
+      git-p4: t9814: prevent --chain-lint failure
+      git-p4: add failing tests for case-folding p4d
+      git-p4: add failing test for P4EDITOR handling
+      git-p4: fix handling of multi-word P4EDITOR
+      git-p4: tests: use test-chmtime in place of touch
+      git-p4: additional testing of --changes-block-size
+      git-p4: test with limited p4 server results
+      git-p4: add tests for non-numeric revision range
+      git-p4: fixing --changes-block-size handling
+
+Luke Mewburn (1):
+      progress: no progress in background
+
+Matthieu Moy (6):
+      t3701-add-interactive: simplify code
+      add -p: demonstrate failure when running 'edit' after a split
+      t3904-stash-patch: fix test description
+      t3904-stash-patch: factor PERL prereq at the top of the file
+      stash -p: demonstrate failure of split with mixed y/n
+      git-multimail: update to release 1.1.0
+
+Max Kirillov (3):
+      checkout: do not fail if target is an empty directory
+      git-common-dir: make "modules/" per-working-directory directory
+      prune --worktrees: fix expire vs worktree existence condition
+
+Michael Haggerty (62):
+      lockfile: allow file locking to be retried with a timeout
+      lock_packed_refs(): allow retries when acquiring the packed-refs lock
+      each_ref_fn: change to take an object_id parameter
+      builtin/rev-parse: rewrite to take an object_id argument
+      handle_one_ref(): rewrite to take an object_id argument
+      register_ref(): rewrite to take an object_id argument
+      append_ref(): rewrite to take an object_id argument
+      add_pending_uninteresting_ref(): rewrite to take an object_id argument
+      get_name(): rewrite to take an object_id argument
+      builtin/fetch: rewrite to take an object_id argument
+      grab_single_ref(): rewrite to take an object_id argument
+      name_ref(): rewrite to take an object_id argument
+      builtin/pack-objects: rewrite to take an object_id argument
+      show_ref_cb(): rewrite to take an object_id argument
+      builtin/reflog: rewrite ref functions to take an object_id argument
+      add_branch_for_removal(): rewrite to take an object_id argument
+      add_branch_for_removal(): don't set "util" field of string_list entries
+      builtin/remote: rewrite functions to take object_id arguments
+      show_reference(): rewrite to take an object_id argument
+      append_matching_ref(): rewrite to take an object_id argument
+      builtin/show-branch: rewrite functions to take object_id arguments
+      append_one_rev(): rewrite to work with object_id
+      builtin/show-branch: rewrite functions to work with object_id
+      cmd_show_branch(): fix error message
+      fsck: change functions to use object_id
+      builtin/show-ref: rewrite to use object_id
+      show_ref(): convert local variable peeled to object_id
+      builtin/show-ref: rewrite to take an object_id argument
+      append_similar_ref(): rewrite to take an object_id argument
+      http-backend: rewrite to take an object_id argument
+      show_head_ref(): convert local variable "unused" to object_id
+      add_ref_decoration(): rewrite to take an object_id argument
+      add_ref_decoration(): convert local variable original_sha1 to object_id
+      string_list_add_one_ref(): rewrite to take an object_id argument
+      add_one_ref(): rewrite to take an object_id argument
+      remote: rewrite functions to take object_id arguments
+      register_replace_ref(): rewrite to take an object_id argument
+      handle_one_reflog(): rewrite to take an object_id argument
+      add_info_ref(): rewrite to take an object_id argument
+      handle_one_ref(): rewrite to take an object_id argument
+      shallow: rewrite functions to take object_id arguments
+      submodule: rewrite to take an object_id argument
+      write_refs_to_temp_dir(): convert local variable sha1 to object_id
+      write_one_ref(): rewrite to take an object_id argument
+      find_symref(): rewrite to take an object_id argument
+      find_symref(): convert local variable "unused" to object_id
+      upload-pack: rewrite functions to take object_id arguments
+      send_ref(): convert local variable "peeled" to object_id
+      mark_complete(): rewrite to take an object_id argument
+      clear_marks(): rewrite to take an object_id argument
+      mark_complete_oid(): new function, taking an object_oid
+      mark_complete(): remove unneeded arguments
+      rev_list_insert_ref_oid(): new function, taking an object_oid
+      rev_list_insert_ref(): remove unneeded arguments
+      each_ref_fn_adapter(): remove adapter
+      warn_if_dangling_symref(): convert local variable "junk" to object_id
+      struct ref_lock: convert old_sha1 member to object_id
+      verify_lock(): return 0/-1 rather than struct ref_lock *
+      verify_lock(): on errors, let the caller unlock the lock
+      verify_lock(): report errors via a strbuf
+      verify_lock(): do not capitalize error messages
+      ref_transaction_commit(): do not capitalize error messages
+
+Miguel Torroja (1):
+      p4: retrieve the right revision of the file in UTF-16 codepath
+
+Mike Hommey (1):
+      show-branch: show all local heads when only giving one rev along --topics
+
+Nguyễn Thái Ngọc Duy (63):
+      path.c: make get_pathname() return strbuf instead of static buffer
+      path.c: make get_pathname() call sites return const char *
+      git_snpath(): retire and replace with strbuf_git_path()
+      path.c: rename vsnpath() to do_git_path()
+      path.c: group git_path(), git_pathdup() and strbuf_git_path() together
+      git_path(): be aware of file relocation in $GIT_DIR
+      *.sh: respect $GIT_INDEX_FILE
+      reflog: avoid constructing .lock path with git_path
+      fast-import: use git_path() for accessing .git dir instead of get_git_dir()
+      commit: use SEQ_DIR instead of hardcoding "sequencer"
+      $GIT_COMMON_DIR: a new environment variable
+      git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
+      *.sh: avoid hardcoding $GIT_DIR/hooks/...
+      git-stash: avoid hardcoding $GIT_DIR/logs/....
+      setup.c: convert is_git_directory() to use strbuf
+      setup.c: detect $GIT_COMMON_DIR in is_git_directory()
+      setup.c: convert check_repository_format_gently to use strbuf
+      setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
+      setup.c: support multi-checkout repo setup
+      wrapper.c: wrapper to open a file, fprintf then close
+      use new wrapper write_file() for simple file writing
+      checkout: support checking out into a new working directory
+      prune: strategies for linked checkouts
+      checkout: reject if the branch is already checked out elsewhere
+      checkout: clean up half-prepared directories in --to mode
+      gc: style change -- no SP before closing parenthesis
+      gc: factor out gc.pruneexpire parsing code
+      gc: support prune --worktrees
+      count-objects: report unused files in $GIT_DIR/worktrees/...
+      git_path(): keep "info/sparse-checkout" per work-tree
+      t2025: add a test to make sure grafts is working from a linked checkout
+      checkout: pass whole struct to parse_branchname_arg instead of individual flags
+      checkout: add --ignore-other-wortrees
+      git-checkout.txt: a note about multiple checkout support for submodules
+      index-pack: reduce object_entry size to save memory
+      dir.c: optionally compute sha-1 of a .gitignore file
+      untracked cache: record .gitignore information and dir hierarchy
+      untracked cache: initial untracked cache validation
+      untracked cache: invalidate dirs recursively if .gitignore changes
+      untracked cache: make a wrapper around {open,read,close}dir()
+      untracked cache: record/validate dir mtime and reuse cached output
+      untracked cache: mark what dirs should be recursed/saved
+      untracked cache: don't open non-existent .gitignore
+      ewah: add convenient wrapper ewah_serialize_strbuf()
+      untracked cache: save to an index extension
+      untracked cache: load from UNTR index extension
+      untracked cache: invalidate at index addition or removal
+      read-cache.c: split racy stat test to a separate function
+      untracked cache: avoid racy timestamps
+      untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
+      untracked cache: mark index dirty if untracked cache is updated
+      untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
+      status: enable untracked cache
+      update-index: manually enable or disable untracked cache
+      update-index: test the system before enabling untracked cache
+      t7063: tests for untracked cache
+      mingw32: add uname()
+      untracked cache: guard and disable on system changes
+      git-status.txt: advertisement for untracked cache
+      diff-lib.c: adjust position of i-t-a entries in diff
+      index-pack: kill union delta_base to save memory
+      pathspec: avoid the need of "--" when wildcard is used
+      read-cache: fix untracked cache invalidation when split-index is used
+
+Paul Tan (10):
+      t5520: prevent field splitting in content comparisons
+      t5520: test no merge candidates cases
+      t5520: test for failure if index has unresolved entries
+      t5520: test work tree fast-forward when fetch updates head
+      t5520: test --rebase with multiple branches
+      t5520: test --rebase failure on unborn branch with index
+      t5521: test --dry-run does not make any changes
+      t5520: check reflog action in fast-forward merge
+      pull: handle git-fetch's options as well
+      pull: use git-rev-parse --parseopt for option parsing
+
+Quentin Neill (1):
+      blame: add blame.showEmail configuration
+
+Ramsay Jones (1):
+      t7502-commit.sh: fix a broken and-chain
+
+Remi Lespinet (3):
+      git-am.sh: fix initialization of the threeway variable
+      t4150-am: refactor am -3 tests
+      git-am: add am.threeWay config variable
+
+SZEDER Gábor (4):
+      completion: remove redundant __git_compute_all_commands() call
+      completion: remove credential helpers from porcelain commands
+      completion: add a helper function to get config variables
+      completion: simplify query for config variables
+
+Stefan Beller (2):
+      prefix_path(): unconditionally free results in the callers
+      refs.c: remove lock_fd from struct ref_lock
+
+Sébastien Guimmara (4):
+      command-list.txt: fix whitespace inconsistency
+      command-list.txt: add the common groups block
+      command-list.txt: drop the "common" tag
+      help: respect new common command grouping
+
+Thomas Braun (1):
+      completion: suggest sequencer commands for revert
+
+Thomas Gummerer (1):
+      t1501: fix test with split index
+
+Thomas Schneider (1):
+      checkout: call a single commit "it" intead of "them"
+
+Torsten Bögershausen (4):
+      t2026 needs procondition SANITY
+      t0027: cleanup: rename functions; avoid non-leading TABs
+      t0027: support NATIVE_CRLF platforms
+      t0027: Add repoMIX and LF_nul
+
+Vitor Antunes (2):
+      t9801: check git-p4's branch detection with client spec enabled
+      git-p4: improve client path detection when branches are used
+
+brian m. carlson (11):
+      define a structure for object IDs
+      define utility functions for object IDs
+      bisect.c: convert leaf functions to use struct object_id
+      archive.c: convert to use struct object_id
+      zip: use GIT_SHA1_HEXSZ for trailers
+      bulk-checkin.c: convert to use struct object_id
+      diff: convert struct combine_diff_path to object_id
+      commit: convert parts to struct object_id
+      patch-id: convert to use struct object_id
+      apply: convert threeway_stage to object_id
+      refs: convert struct ref_entry to use struct object_id
+
+
+Version v2.4.12; changes since v2.4.11:
+---------------------------------------
+
+Jeff King (1):
+      shell: disallow repo names beginning with dash
+
+Junio C Hamano (1):
+      Git 2.4.12
+
+
+Version v2.4.11; changes since v2.4.10:
+---------------------------------------
+
+Jeff King (7):
+      add helpers for detecting size_t overflow
+      tree-diff: catch integer overflow in combine_diff_path allocation
+      http-push: stop using name_path
+      show_object_with_name: simplify by using path_name()
+      list-objects: convert name_path to a strbuf
+      list-objects: drop name_path entirely
+      list-objects: pass full pathname to callbacks
+
+Junio C Hamano (1):
+      Git 2.4.11
+
+
+Version v2.4.10; changes since v2.4.9:
+--------------------------------------
+
+Blake Burkhart (2):
+      http: limit redirection to protocol-whitelist
+      http: limit redirection depth
+
+Jeff King (6):
+      transport: add a protocol-whitelist environment variable
+      submodule: allow only certain protocols for submodule fetches
+      transport: refactor protocol whitelist code
+      react to errors in xdi_diff
+      xdiff: reject files larger than ~1GB
+      merge-file: enforce MAX_XDIFF_SIZE on incoming files
+
+Junio C Hamano (2):
+      Git 2.3.10
+      Git 2.4.10
+
+
+Version v2.4.9; changes since v2.4.8:
+-------------------------------------
+
+Jeff King (4):
+      verify_absent: allow filenames longer than PATH_MAX
+      notes: use a strbuf in add_non_note
+      read_info_alternates: handle paths larger than PATH_MAX
+      show-branch: use a strbuf for reflog descriptions
+
+Junio C Hamano (3):
+      Git 2.2.3
+      Git 2.3.9
+      Git 2.4.9
+
+
+Version v2.4.8; changes since v2.4.7:
+-------------------------------------
+
+Johannes Schindelin (2):
+      t3404: demonstrate CHERRY_PICK_HEAD bug
+      rebase -i: do not leave a CHERRY_PICK_HEAD file behind
+
+Junio C Hamano (1):
+      Git 2.4.8
+
+Michael Haggerty (4):
+      t6301: new tests of for-each-ref error handling
+      for-each-ref: report broken references correctly
+      read_loose_refs(): simplify function logic
+      read_loose_refs(): treat NULL_SHA1 loose references as broken
+
+Paul Tan (6):
+      am --skip: revert changes introduced by failed 3way merge
+      am -3: support 3way merge on unborn branch
+      am --skip: support skipping while on unborn branch
+      am --abort: revert changes introduced by failed 3way merge
+      am --abort: support aborting to unborn branch
+      am --abort: keep unrelated commits on unborn branch
+
+SZEDER Gábor (2):
+      completion: teach 'scissors' mode to 'git commit --cleanup='
+      commit: cope with scissors lines in commit message
+
+Sebastian Schuberth (1):
+      clone: simplify string handling in guess_dir_name()
+
+
+Version v2.4.7; changes since v2.4.6:
+-------------------------------------
+
+Clemens Buchacher (1):
+      rebase: return non-zero error code if format-patch fails
+
+Enrique Tobis (1):
+      http: always use any proxy auth method available
+
+Jeff King (4):
+      index-pack: avoid excessive re-reading of pack directory
+      docs: clarify that --encoding can produce invalid sequences
+      rev-list: disable --use-bitmap-index when pruning commits
+      check_and_freshen_file: fix reversed success-check
+
+Junio C Hamano (3):
+      fsck: it is OK for a tag and a commit to lack the body
+      pager: do not leak "GIT_PAGER_IN_USE" to the pager
+      Git 2.4.7
+
+Karsten Blees (1):
+      config.c: fix writing config files on Windows network shares
+
+Lawrence Siebert (1):
+      rev-list: add --count to usage guide
+
+Matthieu Moy (2):
+      Documentation/branch: document -d --force and -m --force
+      Documentation/branch: document -M and -D in terms of --force
+
+Michael Haggerty (1):
+      strbuf: strbuf_read_file() should return ssize_t
+
+Richard Hansen (2):
+      Revert "test-lib.sh: do tests for color support after changing HOME"
+      test-lib.sh: fix color support when tput needs ~/.terminfo
+
+Torsten Bögershausen (1):
+      git-checkout.txt: document "git checkout <pathspec>" better
+
+
+Version v2.4.6; changes since v2.4.5:
+-------------------------------------
+
+Ariel Faigon (1):
+      git-completion.tcsh: fix redirect with noclobber
+
+Charles Bailey (1):
+      Fix definition of ARRAY_SIZE for non-gcc builds
+
+Eric Sunshine (2):
+      ewah/bitmap: silence warning about MASK macro redefinition
+      utf8: NO_ICONV: silence uninitialized variable warning
+
+Frans Klaver (1):
+      doc: format-patch: fix typo
+
+Jeff King (2):
+      ewah: use less generic macro name
+      Revert "stash: require a clean index to apply"
+
+Joe Cridge (1):
+      git-prompt.sh: document GIT_PS1_STATESEPARATOR
+
+Junio C Hamano (2):
+      format-patch: do not feed tags to clear_commit_marks()
+      Git 2.4.6
+
+Matthieu Moy (1):
+      Documentation/describe: improve one-line summary
+
+Michael Haggerty (2):
+      fsck_handle_reflog_sha1(): new function
+      fsck: report errors if reflog entries point at invalid objects
+
+Mike Edgar (1):
+      fetch-pack: check for shallow if depth given
+
+Panagiotis Astithas (1):
+      hooks/pre-auto-gc: adjust power checking for newer OS X
+
+Paul Tan (1):
+      t0302: "unreadable" test needs SANITY prereq
+
+
+Version v2.4.5; changes since v2.4.4:
+-------------------------------------
+
+Jeff King (13):
+      diff: accept color.diff.context as a synonym for "plain"
+      diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT
+      read-cache.c: drop PROT_WRITE from mmap of index
+      config.c: fix mmap leak when writing config
+      config.c: avoid xmmap error messages
+      config.c: rewrite ENODEV into EISDIR when mmap fails
+      Makefile: drop dependency between git-instaweb and gitweb
+      Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS
+      Makefile: silence perl/PM.stamp recipe
+      setup_git_directory: delay core.bare/core.worktree errors
+      add quieter versions of parse_{tree,commit}
+      silence broken link warnings with revs->ignore_missing_links
+      suppress errors on missing UNINTERESTING links
+
+Junio C Hamano (3):
+      t5407: use <<- to align the expected output
+      xmmap(): drop "Out of memory?"
+      Git 2.4.5
+
+Matthieu Moy (2):
+      rebase -i: demonstrate incorrect behavior of post-rewrite
+      rebase -i: fix post-rewrite hook with failed exec command
+
+Paul Tan (1):
+      pull: remove --tags error in no merge candidates case
+
+SZEDER Gábor (1):
+      Documentation: include 'merge.branchdesc' for merge and config as well
+
+Stefan Beller (1):
+      Documentation/technical/pack-protocol: mention http as possible protocol
+
+
+Version v2.4.4; changes since v2.4.3:
+-------------------------------------
+
+Alex Henrie (1):
+      blame, log: format usage strings similarly to those in documentation
+
+David Turner (1):
+      clean: only lstat files in pathspec
+
+Elia Pinto (1):
+      git-compat-util.h: implement a different ARRAY_SIZE macro for for safely deriving the size of array
+
+Jeff King (8):
+      http-backend: fix die recursion with custom handler
+      t5551: factor out tag creation
+      stash: complain about unknown flags
+      stash: recognize "--help" for subcommands
+      test_bitmap_walk: free bitmap with bitmap_free
+      http-backend: spool ref negotiation requests to buffer
+      clone: use OPT_STRING_LIST for --reference
+      clone: reorder --dissociate and --reference options
+
+Jim Hill (1):
+      sha1_file: pass empty buffer to index empty file
+
+Junio C Hamano (1):
+      Git 2.4.4
+
+Matthieu Moy (2):
+      Documentation/log: clarify what --raw means
+      Documentation/log: clarify sha1 non-abbreviation in log --raw
+
+Michael Coleman (1):
+      Documentation/git-commit: grammofix
+
+Michael J Gruber (3):
+      l10n: de.po: grammar fix
+      l10n: de.po: punctuation fixes
+      l10n: de.po: translation fix for fall-back to 3way merge
+
+Phillip Sz (1):
+      l10n: de.po: change error message from "sagen" to "Meinten Sie"
+
+René Scharfe (3):
+      use file_exists() to check if a file exists in the worktree
+      clean: remove unused variable buf
+      dir: remove unused variable sb
+
+Stefan Beller (2):
+      submodule doc: reorder introductory paragraphs
+      glossary: add "remote", "submodule", "superproject"
+
+
+Version v2.4.3; changes since v2.4.2:
+-------------------------------------
+
+Danny Lin (1):
+      branch: do not call a "remote-tracking branch" a "remote branch"
+
+Fredrik Gustafsson (1):
+      Documentation: clarify how "git commit" cleans up the edited log message
+
+Jean-Noël Avila (1):
+      doc: fix unmatched code fences
+
+Jeff King (14):
+      sha1_file: squelch "packfile cannot be accessed" warnings
+      t/lib-httpd.sh: skip tests if NO_CURL is defined
+      add: check return value of launch_editor
+      doc: fix unmatched code fences in git-stripspace
+      doc: fix misrendering due to `single quote'
+      doc: fix unquoted use of "{type}"
+      doc: fix hanging "+"-continuation
+      doc: fix length of underlined section-title
+      doc/add: reformat `--edit` option
+      doc: convert \--option to --option
+      doc: drop backslash quoting of some curly braces
+      doc: put example URLs and emails inside literal backticks
+      doc: convert AsciiDoc {?foo} to ifdef::foo[]
+      rerere: exit silently on "forget" when rerere is disabled
+
+Junio C Hamano (7):
+      t0302: "unreadable" test needs POSIXPERM
+      fmt-merge-msg: plug small leak of commit buffer
+      ignore: info/exclude should trump core.excludesfile
+      tests: skip dav http-push tests under NO_EXPAT=NoThanks
+      log: decorate HEAD with branch name under --decorate=full, too
+      log: do not shorten decoration names too early
+      Git 2.4.3
+
+Michael Haggerty (30):
+      t1404: new tests of ref D/F conflicts within transactions
+      is_refname_available(): revamp the comments
+      is_refname_available(): avoid shadowing "dir" variable
+      is_refname_available(): convert local variable "dirname" to strbuf
+      entry_matches(): inline function
+      report_refname_conflict(): inline function
+      struct nonmatching_ref_data: store a refname instead of a ref_entry
+      is_refname_available(): use dirname in first loop
+      ref_transaction_commit(): use a string_list for detecting duplicates
+      refs: check for D/F conflicts among refs created in a transaction
+      verify_refname_available(): rename function
+      verify_refname_available(): report errors via a "struct strbuf *err"
+      lock_ref_sha1_basic(): report errors via a "struct strbuf *err"
+      lock_ref_sha1_basic(): improve diagnostics for ref D/F conflicts
+      rename_ref(): integrate lock_ref_sha1_basic() errors into ours
+      ref_transaction_commit(): provide better error messages
+      ref_transaction_commit(): delete extra "the" from error message
+      reflog_expire(): integrate lock_ref_sha1_basic() errors into ours
+      write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
+      commit_ref_update(): new function, extracted from write_ref_sha1()
+      rename_ref(): inline calls to write_ref_sha1() from this function
+      ref_transaction_commit(): inline call to write_ref_sha1()
+      ref_transaction_commit(): remove the local flags variable
+      ref_transaction_commit(): fix atomicity and avoid fd exhaustion
+      write_ref_to_lockfile(): new function, extracted from write_ref_sha1()
+      commit_ref_update(): new function, extracted from write_ref_sha1()
+      rename_ref(): inline calls to write_ref_sha1() from this function
+      ref_transaction_commit(): inline call to write_ref_sha1()
+      ref_transaction_commit(): remove the local flags variable
+      ref_transaction_commit(): fix atomicity and avoid fd exhaustion
+
+Mike Hommey (1):
+      clone: call transport_set_verbosity before anything else on the newly created transport
+
+Patrick Steinhardt (5):
+      bundle: verify arguments more strictly
+      git-verify-pack.txt: fix inconsistent spelling of "packfile"
+      git-unpack-objects.txt: fix inconsistent spelling of "packfile"
+      pack-protocol.txt: fix insconsistent spelling of "packfile"
+      doc: fix inconsistent spelling of "packfile"
+
+Paul Tan (13):
+      git-credential-store: support multiple credential files
+      git-credential-store: support XDG_CONFIG_HOME
+      t0302: test credential-store support for XDG_CONFIG_HOME
+      path.c: implement xdg_config_home()
+      attr.c: replace home_config_paths() with xdg_config_home()
+      dir.c: replace home_config_paths() with xdg_config_home()
+      credential-store.c: replace home_config_paths() with xdg_config_home()
+      git-commit: replace use of home_config_paths()
+      git-config: replace use of home_config_paths()
+      path.c: remove home_config_paths()
+      pull: handle --log=<n>
+      pull: make pull.ff=true override merge.ff
+      pull: parse pull.ff as a bool or string
+
+Phil Hord (1):
+      rebase -i: redo tasks that die during cherry-pick
+
+René Scharfe (1):
+      pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
+
+Stefan Beller (5):
+      update-ref: test handling large transactions properly
+      t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
+      update-ref: test handling large transactions properly
+      t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
+      subdirectory tests: code cleanup, uncomment test
+
+Torsten Bögershausen (1):
+      blame: CRLF in the working tree and LF in the repo
+
+brian m. carlson (3):
+      connect: simplify SSH connection code path
+      t5601: fix quotation error leading to skipped tests
+      connect: improve check for plink to reduce false positives
+
+
+Version v2.4.2; changes since v2.4.1:
+-------------------------------------
+
+Eric Sunshine (3):
+      git-hash-object.txt: document --literally option
+      hash-object --literally: fix buffer overrun with extra-long object type
+      t1007: add hash-object --literally tests
+
+Jeff King (7):
+      limit_list: avoid quadratic behavior from still_interesting
+      t3903: stop hard-coding commit sha1s
+      t3903: avoid applying onto dirty index
+      stash: require a clean index to apply
+      stop putting argv[0] dirname at front of PATH
+      rebase: silence "git checkout" for noop rebase
+      filter-branch: avoid passing commit message through sed
+
+Junio C Hamano (3):
+      write_sha1_file(): do not use a separate sha1[] array
+      daemon: unbreak NO_IPV6 build regression
+      Git 2.4.2
+
+SZEDER Gábor (1):
+      completion: fix and update 'git log --decorate=' options
+
+
+Version v2.4.1; changes since v2.4.0:
+-------------------------------------
+
+Carlos Martín Nieto (1):
+      dir: allow a BOM at the beginning of exclude files
+
+Elia Pinto (1):
+      test-lib-functions.sh: fix the second argument to some helper functions
+
+Jeff King (5):
+      init: don't set core.worktree when initializing /.git
+      type_from_string_gently: make sure length matches
+      reachable: only mark local objects as recent
+      sha1_file: freshen pack objects before loose
+      sha1_file: only freshen packs once per run
+
+Junio C Hamano (10):
+      diff-no-index: DWIM "diff D F" into "diff D/F F"
+      diff-no-index: align D/F handling with that of normal Git
+      parse_date_basic(): return early when given a bogus timestamp
+      parse_date_basic(): let the system handle DST conversion
+      add_excludes_from_file: clarify the bom skipping logic
+      utf8-bom: introduce skip_utf8_bom() helper
+      config: use utf8_bom[] from utf.[ch] in git_parse_source()
+      attr: skip UTF8 BOM at the beginning of the input file
+      Git 2.3.8
+      Git 2.4.1
+
+Matthieu Moy (2):
+      Documentation: change -L:<regex> to -L:<funcname>
+      log -L: improve error message on malformed argument
+
+Nguyễn Thái Ngọc Duy (1):
+      t1509: update prepare script to be able to run t1509 in chroot again
+
+Ossi Herrala (1):
+      config: fix settings in default_user_config template
+
+Stefan Beller (2):
+      line-log.c: fix a memleak
+      pack-bitmap.c: fix a memleak
+
+
+Version v2.4.0; changes since v2.4.0-rc3:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Git 2.3.7
+      Git 2.4
+
+Michael Haggerty (6):
+      git tag: mention versionsort.prereleaseSuffix in manpage
+      RelNotes: correct name of versionsort.prereleaseSuffix
+      RelNotes: refer to the rebase -i "todo list", not "insn sheet"
+      RelNotes: wordsmithing
+      status: document the -v/--verbose option
+      Update git-multimail to version 1.0.2
+
+Michael J Gruber (1):
+      rev-list-options.txt: complete sentence about notes matching
+
+
+Version v2.4.0-rc3; changes since v2.4.0-rc2:
+---------------------------------------------
+
+Alexander Shopov (2):
+      git-gui i18n: Updated Bulgarian translation (520t,0f,0u)
+      git-gui i18n: Updated Bulgarian translation (547t,0f,0u)
+
+Csaba Kiraly (1):
+      git-gui: fix problem with gui.maxfilesdisplayed
+
+David Turner (1):
+      git-gui: Make git-gui lib dir configurable at runime
+
+Henri GEIST (1):
+      git-gui: Add a 'recursive' checkbox in the clone menu.
+
+Junio C Hamano (6):
+      push --signed: tighten what the receiving end can ask to sign
+      Revert "merge: pass verbosity flag down to merge-recursive"
+      Hopefully the last batch for 2.4
+      RelNotes: "merge --quiet" change has been reverted
+      Git 2.3.6
+      Git 2.4.0-rc3
+
+Kyle J. McKay (1):
+      git-gui: reinstate support for Tcl 8.4
+
+Michael Lutz (1):
+      git-gui: add configurable tab size to the diff view
+
+Márcio Almada (1):
+      completion: fix global bash variable leak on __gitcompappend
+
+Pat Thoyts (3):
+      git-gui: align the new recursive checkbox with the radiobuttons.
+      git-gui: fix verbose loading when git path contains spaces.
+      git-gui: set version 0.20
+
+Patrick Steinhardt (1):
+      grep: correctly initialize help-all option
+
+Peter Krefting (1):
+      git-gui: sv.po: Update Swedish translation (547t0f0u)
+
+Remi Rampin (2):
+      git-gui: Fixes chooser not accepting gitfiles
+      git-gui: Makes chooser set 'gitdir' to the resolved path
+
+Sebastian Schuberth (1):
+      git-gui/gitk: Do not depend on Cygwin's "kill" command on Windows
+
+Torsten Bögershausen (1):
+      connect.c: ignore extra colon after hostname
+
+Trần Ngọc Quân (1):
+      L10n: vi.po (543t): Init translation for Vietnamese
+
+Vitor Antunes (3):
+      t9814: fix broken shell syntax in git-p4 rename test
+      git-p4: fix copy detection test
+      t9814: guarantee only one source exists in git-p4 copy tests
+
+
+Version v2.4.0-rc2; changes since v2.4.0-rc1:
+---------------------------------------------
+
+Alex Henrie (2):
+      l10n: ca.po: update translation
+      l10n: ca.po: update translation
+
+Alexander Shopov (1):
+      l10n: Updated Bulgarian translation of git (2305t,0f,0u)
+
+Dimitriy Ryazantcev (3):
+      l10n: ru: added Russian translation
+      l10n: ru: updated Russian translation
+      l10n: ru: updated Russian translation
+
+Ivan Ukhov (1):
+      parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.4.0-rc0 round 1
+      l10n: fr.po v2.4.0 round 2
+
+Jeff King (3):
+      cherry-pick: fix docs describing handling of empty commits
+      howto: document more tools for recovery corruption
+      merge: pass verbosity flag down to merge-recursive
+
+Jiang Xin (5):
+      l10n: git.pot: v2.4.0 round 1 (99 new, 92 removed)
+      l10n: zh_CN: translations for git v2.4.0-rc0
+      l10n: git.pot: v2.4.0 round 2 (1 update)
+      l10n: zh_CN: for git v2.4.0 l10n round 2
+      l10n: TEAMS: Change repository URL of zh_CN
+
+John Keeping (1):
+      streaming.c: fix a memleak
+
+Jonathan Nieder (1):
+      fast-import doc: remove suggested 16-parent limit
+
+Julian Gindi (1):
+      CodingGuidelines: update 'rough' rule count
+
+Junio C Hamano (2):
+      push-to-deploy: allow pushing into an unborn branch and updating it
+      Git 2.4.0-rc2
+
+Jérôme Zago (1):
+      gitweb.conf.txt: say "build-time", not "built-time"
+
+Kyle J. McKay (1):
+      diff-highlight: do not split multibyte characters
+
+Matthias Rüster (1):
+      l10n: de.po: translate 'symbolic link' as 'symbolische Verknüpfung'
+
+Michael J Gruber (1):
+      l10n: de.po: fix negation for commit -a with paths
+
+Paul Tan (1):
+      enter_repo(): fix docs to match code
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (2305t0f0u)
+      l10n: sv.po: Update Swedish translation (2305t0f0u)
+
+Phillip Sz (1):
+      l10n: de.po: add space before ellipsis
+
+Ralf Thielow (3):
+      l10n: de.po: fix messages with abbreviated hashs
+      l10n: de.po: translate 99 new messages
+      l10n: de.po: translate one message
+
+Stefan Beller (1):
+      wt-status.c: fix a memleak
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: Updated Vietnamese translation
+      l10n: vi.po(2305t): Updated 1 new string
+
+
+Version v2.4.0-rc1; changes since v2.4.0-rc0:
+---------------------------------------------
+
+Junio C Hamano (6):
+      add_to_index(): free unused cache-entry
+      Update mailmap to spell out "Alexander Kuleshov"
+      Prepare for 2.3.5
+      RelNotes: minor doc updates
+      Git 2.3.5
+      Git 2.4.0-rc1
+
+Phil Hord (1):
+      git-push.txt: clean up force-with-lease wording
+
+Ralf Thielow (1):
+      send-pack: unify error messages for unsupported capabilities
+
+Sebastian Schuberth (2):
+      docs: clarify "preserve" option wording for git-pull
+      docs: clarify what git-rebase's "-p" / "--preserve-merges" does
+
+Stefan Beller (9):
+      read-cache: free cache entry in add_to_index in case of early return
+      update-index: fix a memleak
+      builtin/apply.c: fix a memleak
+      merge-blobs.c: fix a memleak
+      merge-recursive: fix memleaks
+      http-push: remove unneeded cleanup
+      commit.c: fix a memory leak
+      read-cache: fix memleak
+      http: release the memory of a http pack request as well
+
+Thomas Ackermann (2):
+      api-error-handling doc: typofix
+      2.3.2 release notes: typofix
+
+
+Version v2.4.0-rc0; changes since v2.3.10:
+------------------------------------------
+
+Alex Henrie (3):
+      standardize usage info string format
+      gitk: Remove tcl-format flag from a message that shouldn't have it
+      gitk: l10n: Add Catalan translation
+
+Alexander Kuleshov (3):
+      pack-bitmap: fix typo
+      t/lib-terminal.sh: fix typo
+      gitk: Fix typo in Russian translation
+
+Chris Packham (1):
+      gitk: Default wrcomcmd to use --pretty=email
+
+Christoph Junghans (2):
+      log: teach --invert-grep option
+      gitk: Pass --invert-grep option down to "git log"
+
+Dave Olszewski (1):
+      push: allow --follow-tags to be set by config push.followTags
+
+Dongcan Jiang (1):
+      revision: forbid combining --graph and --no-walk
+
+Eric Wong (1):
+      git-svn: lazy load some modules
+
+Gabriele Mazzotta (1):
+      gitk: Enable mouse horizontal scrolling in diff pane
+
+Jean-Noël Avila (1):
+      Add hint interactive cleaning
+
+Jeff King (50):
+      strbuf.h: integrate api-strbuf.txt documentation
+      strbuf.h: drop asciidoc list formatting from API docs
+      strbuf.h: format asciidoc code blocks as 4-space indent
+      strbuf.h: reorganize api function grouping headers
+      strbuf.h: drop boilerplate descriptions of strbuf_split_*
+      strbuf.h: group documentation for trim functions
+      git_push_config: drop cargo-culted wt_status pointer
+      cmd_push: set "atomic" bit directly
+      cmd_push: pass "flags" pointer to config callback
+      gettext.c: move get_preferred_languages() from http.c
+      t/test-lib: introduce --chain-lint option
+      t: fix severe &&-chain breakage
+      t: fix moderate &&-chain breakage
+      t: fix trivial &&-chain breakage
+      t: assume test_cmp produces verbose output
+      t: use verbose instead of hand-rolled errors
+      t: use test_must_fail instead of hand-rolled blocks
+      t: fix &&-chaining issues around setup which might fail
+      t: use test_might_fail for diff and grep
+      t: use test_expect_code instead of hand-rolled comparison
+      t: wrap complicated expect_code users in a block
+      t: avoid using ":" for comments
+      t3600: fix &&-chain breakage for setup commands
+      t7201: fix &&-chain breakage
+      t9502: fix &&-chain breakage
+      t6030: use modern test_* helpers
+      t0020: use modern test_* helpers
+      t1301: use modern test_* helpers
+      t6034: use modern test_* helpers
+      t4117: use modern test_* helpers
+      t9001: use test_when_finished
+      t0050: appease --chain-lint
+      t7004: fix embedded single-quotes
+      t0005: fix broken &&-chains
+      t4104: drop hand-rolled error reporting
+      wt-status: don't flush before running "submodule status"
+      wt_status: fix signedness mismatch in strbuf_read call
+      run-command: introduce capture_command helper
+      wt-status: use capture_command
+      submodule: use capture_command
+      trailer: use capture_command
+      run-command: forbid using run_command with piped output
+      perf-lib: fix ignored exit code inside loop
+      t0020: fix ignored exit code inside loops
+      t3305: fix ignored exit code inside loop
+      t7701: fix ignored exit code inside loop
+      t: fix some trivial cases of ignored exit codes in loops
+      t: simplify loop exit-code status variables
+      t0020: use test_* helpers instead of hand-rolled messages
+      t9001: drop save_confirm helper
+
+Jonathan Nieder (1):
+      doc: document error handling functions and conventions
+
+Junio C Hamano (33):
+      receive-pack: refactor updateInstead codepath
+      receive-pack: support push-to-checkout hook
+      http.c: make finish_active_slot() and handle_curl_result() static
+      prompt.c: remove git_getpass() nobody uses
+      pack-bitmap.c: make pack_bitmap_filename() static
+      line-log.c: make line_log_data_init() static
+      revision.c: make save_parents() and free_saved_parents() static
+      urlmatch.c: make match_urls() static
+      remote.c: make clear_cas_option() static
+      shallow.c: make check_shallow_file_for_update() static
+      CodingGuidelines: clarify C #include rules
+      "log --pretty" documentation: do not forget "tformat:"
+      apply: detect and mark whitespace errors in context lines when fixing
+      t4122: use test_write_lines from test-lib-functions
+      run_diff_files(): clarify computation of sha1 validity
+      Post 2.3 cycle (batch #1)
+      xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
+      send-email: ask confirmation if given encoding name is very short
+      Post 2.3 cycle (batch #2)
+      Post 2.3 cycle (batch #3)
+      Post 2.3 cycle (batch #4)
+      Post 2.3 cyle (batch #5)
+      Post 2.3 cycle (batch #6)
+      Post 2.3 cycle (batch #7)
+      t7508: .gitignore 'expect' and 'output' files
+      Post 2.3 cycle (batch #8)
+      Post 2.3 cycle (batch #9)
+      log: decorate HEAD with branch name
+      Post 2.3 cyce (batch #10)
+      Post 2.3 cycle (batch #11)
+      Post 2.3 cycle (batch #12)
+      Getting ready for -rc0
+      Git 2.4.0-rc0
+
+Kevin Daudt (1):
+      rev-list: refuse --first-parent combined with --bisect
+
+Kyle J. McKay (8):
+      gettext.h: add parentheses around N_ expansion if supported
+      git-instaweb: allow running in a working tree subdirectory
+      git-instaweb: use @SHELL_PATH@ instead of /bin/sh
+      git-compat-util.h: move SHELL_PATH default into header
+      help.c: use SHELL_PATH instead of hard-coded "/bin/sh"
+      configure: support HAVE_BSD_SYSCTL option
+      thread-utils.c: detect CPU count on older BSD-like systems
+      t5528: do not fail with FreeBSD shell
+
+Luke Diamand (2):
+      git-p4: correct --prepare-p4-only instructions
+      git-p4: support excluding paths on sync
+
+Max Kirillov (3):
+      gitk: Only write changed configuration variables
+      gitk: Report errors in saving config file
+      gitk: Synchronize config file writes
+
+Michael Haggerty (37):
+      expire_reflog(): it's not an each_ref_fn anymore
+      expire_reflog(): rename "ref" parameter to "refname"
+      expire_reflog(): return early if the reference has no reflog
+      expire_reflog(): use a lock_file for rewriting the reflog file
+      Extract function should_expire_reflog_ent()
+      expire_reflog(): extract two policy-related functions
+      expire_reflog(): add a "flags" argument
+      expire_reflog(): move dry_run to flags argument
+      expire_reflog(): move updateref to flags argument
+      Rename expire_reflog_cb to expire_reflog_policy_cb
+      struct expire_reflog_cb: a new callback data type
+      expire_reflog(): pass flags through to expire_reflog_ent()
+      expire_reflog(): move verbose to flags argument
+      expire_reflog(): move rewrite to flags argument
+      Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
+      expire_reflog(): treat the policy callback data as opaque
+      reflog_expire(): new function in the reference API
+      lock_any_ref_for_update(): inline function
+      refs: move REF_DELETING to refs.c
+      refs: remove the gap in the REF_* constant values
+      refs.c: change some "flags" to "unsigned int"
+      struct ref_update: move "have_old" into "flags"
+      ref_transaction_update(): remove "have_old" parameter
+      ref_transaction_delete(): remove "have_old" parameter
+      commit: add tests of commit races
+      commit: avoid race when creating orphan commits
+      ref_transaction_create(): check that new_sha1 is valid
+      ref_transaction_delete(): check that old_sha1 is not null_sha1
+      ref_transaction_verify(): new function to check a reference's value
+      update_ref(): improve documentation
+      refs.h: remove duplication in function docstrings
+      write_ref_sha1(): remove check for lock == NULL
+      write_ref_sha1(): move write elision test to callers
+      lock_ref_sha1_basic(): do not set force_write for missing references
+      reflog: improve and update documentation
+      reflog_expire(): ignore --updateref for symbolic references
+      reflog_expire(): never update a reference to null_sha1
+
+Michael J Gruber (7):
+      t7508: test git status -v
+      commit/status: show the index-worktree diff with -v -v
+      sequencer: preserve commit messages
+      wt-status: refactor detached HEAD analysis
+      branch: name detached HEAD analogous to status
+      t9104: fix test for following larger parents
+      t9158, t9161: fix broken &&-chain in git-svn tests
+
+Mike Hommey (2):
+      transport-helper: ask the helper to set progress and verbosity options after asking for its capabilities
+      transport-helper: ask the helper to set the same options for import as for fetch
+
+Nguyễn Thái Ngọc Duy (6):
+      attr.c: rename arg name attr_nr to avoid shadowing the global one
+      attr: do not attempt to expand when we know it's not a macro
+      attr: avoid heavy work when we know the specified attr is not defined
+      versionsort: support reorder prerelease suffixes
+      config.txt: update versioncmp.prereleaseSuffix
+      *config.txt: stick to camelCase naming convention
+
+Paul Mackerras (1):
+      gitk: Update .po files
+
+René Scharfe (3):
+      archive-zip: mark text files in archives
+      daemon: use strbuf for hostname info
+      daemon: deglobalize hostname information
+
+Ronnie Sahlberg (7):
+      refs.c: make ref_transaction_create a wrapper for ref_transaction_update
+      refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
+      refs.c: add a function to append a reflog entry to a fd
+      refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
+      receive-pack.c: negotiate atomic push support
+      send-pack.c: add --atomic command line argument
+      push.c: add an --atomic argument
+
+Sebastian Schuberth (1):
+      check-builtins: strip executable suffix $X when enumerating builtins
+
+Stefan Beller (15):
+      refs.c: don't expose the internal struct ref_lock in the header file
+      refs.c: let fprintf handle the formatting
+      receive-pack.c: shorten the execute_commands loop over all commands
+      receive-pack.c: die instead of error in case of possible future bug
+      receive-pack.c: move iterating over all commands outside execute_commands
+      receive-pack.c: move transaction handling in a central place
+      receive-pack.c: add execute_commands_atomic function
+      send-pack: rename ref_update_to_be_sent to check_to_send_update
+      t5543-atomic-push.sh: add basic tests for atomic pushes
+      Document receive.advertiseatomic
+      strbuf.h: unify documentation comments beginnings
+      struct ref_lock: delete the force_write member
+      connect.c: do not leak "conn" after showing diagnosis
+      bundle.c: fix memory leak
+      builtin/help.c: fix memory leak
+
+Tom G. Christensen (1):
+      http: support curl < 7.10.7
+
+Torsten Bögershausen (1):
+      t6039: fix broken && chain
+
+Yi EungJun (1):
+      http: add Accept-Language header if possible
+
+
+Version v2.3.10; changes since v2.3.9:
+--------------------------------------
+
+Blake Burkhart (2):
+      http: limit redirection to protocol-whitelist
+      http: limit redirection depth
+
+Jeff King (6):
+      transport: add a protocol-whitelist environment variable
+      submodule: allow only certain protocols for submodule fetches
+      transport: refactor protocol whitelist code
+      react to errors in xdi_diff
+      xdiff: reject files larger than ~1GB
+      merge-file: enforce MAX_XDIFF_SIZE on incoming files
+
+Junio C Hamano (1):
+      Git 2.3.10
+
+
+Version v2.3.9; changes since v2.3.8:
+-------------------------------------
+
+Jeff King (4):
+      verify_absent: allow filenames longer than PATH_MAX
+      notes: use a strbuf in add_non_note
+      read_info_alternates: handle paths larger than PATH_MAX
+      show-branch: use a strbuf for reflog descriptions
+
+Junio C Hamano (2):
+      Git 2.2.3
+      Git 2.3.9
+
+
+Version v2.3.8; changes since v2.3.7:
+-------------------------------------
+
+Junio C Hamano (5):
+      diff-no-index: DWIM "diff D F" into "diff D/F F"
+      diff-no-index: align D/F handling with that of normal Git
+      parse_date_basic(): return early when given a bogus timestamp
+      parse_date_basic(): let the system handle DST conversion
+      Git 2.3.8
+
+Matthieu Moy (2):
+      Documentation: change -L:<regex> to -L:<funcname>
+      log -L: improve error message on malformed argument
+
+Ossi Herrala (1):
+      config: fix settings in default_user_config template
+
+
+Version v2.3.7; changes since v2.3.6:
+-------------------------------------
+
+Junio C Hamano (2):
+      push --signed: tighten what the receiving end can ask to sign
+      Git 2.3.7
+
+Márcio Almada (1):
+      completion: fix global bash variable leak on __gitcompappend
+
+Torsten Bögershausen (1):
+      connect.c: ignore extra colon after hostname
+
+
+Version v2.3.6; changes since v2.3.5:
+-------------------------------------
+
+Ivan Ukhov (1):
+      parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval
+
+Jeff King (7):
+      t: translate SIGINT to an exit
+      t: redirect stderr GIT_TRACE to descriptor 4
+      t: pass GIT_TRACE through Apache
+      t5541: move run_with_cmdline_limit to test-lib.sh
+      t5551: make EXPENSIVE test cheaper
+      cherry-pick: fix docs describing handling of empty commits
+      howto: document more tools for recovery corruption
+
+Jonathan Nieder (1):
+      fast-import doc: remove suggested 16-parent limit
+
+Julian Gindi (1):
+      CodingGuidelines: update 'rough' rule count
+
+Junio C Hamano (1):
+      Git 2.3.6
+
+Jérôme Zago (1):
+      gitweb.conf.txt: say "build-time", not "built-time"
+
+Kyle J. McKay (1):
+      diff-highlight: do not split multibyte characters
+
+Paul Tan (1):
+      enter_repo(): fix docs to match code
+
+
+Version v2.3.5; changes since v2.3.4:
+-------------------------------------
+
+Cody A Taylor (1):
+      git prompt: use toplevel to find untracked files
+
+Jeff King (15):
+      tag: fix some mis-organized options in "-h" listing
+      upload-pack: fix transfer.hiderefs over smart-http
+      upload-pack: do not check NULL return of lookup_unknown_object
+      sha1fd_check: die when we cannot open the file
+      clone: initialize atexit cleanup handler earlier
+      clone: drop period from end of die_errno message
+      filter_ref: avoid overwriting ref->old_sha1 with garbage
+      filter_ref: make a copy of extra "sought" entries
+      fetch_refs_via_pack: free extra copy of refs
+      fetch-pack: remove dead assignment to ref->new_sha1
+      t5312: test object deletion code paths in a corrupted repository
+      refs: introduce a "ref paranoia" flag
+      prune: turn on ref_paranoia flag
+      repack: turn on "ref paranoia" when doing a destructive repack
+      refs.c: drop curate_packed_refs
+
+John Szakmeister (1):
+      contrib/completion: escape the forward slash in __git_match_ctag
+
+Junio C Hamano (5):
+      SubmittingPatches: encourage users to use format-patch and send-email
+      report_path_error(): move to dir.c
+      Update mailmap to spell out "Alexander Kuleshov"
+      Prepare for 2.3.5
+      Git 2.3.5
+
+Nguyễn Thái Ngọc Duy (1):
+      git.txt: list index versions in plain English
+
+Phil Hord (1):
+      git-push.txt: clean up force-with-lease wording
+
+SZEDER Gábor (1):
+      completion: use __gitcomp_nl() for completing refs
+
+Sebastian Schuberth (2):
+      docs: clarify "preserve" option wording for git-pull
+      docs: clarify what git-rebase's "-p" / "--preserve-merges" does
+
+Thomas Ackermann (1):
+      2.3.2 release notes: typofix
+
+Thomas Gummerer (2):
+      t1700: make test pass with index-v4
+      read-cache: fix reading of split index
+
+Wilhelm Schuermann (1):
+      grep: fix "--quiet" overwriting current output
+
+
+Version v2.3.4; changes since v2.3.3:
+-------------------------------------
+
+Alexander Kuleshov (1):
+      git: make was_alias and done_help non-static
+
+Eric Sunshine (2):
+      rebase-interactive: suppress whitespace preceding item count
+      rebase-interactive: re-word "item count" comment
+
+Junio C Hamano (8):
+      Documentation/config.txt: avoid unnecessary negation
+      Documentation/config.txt: explain multi-valued variables once
+      Documentation/config.txt: describe the structure first and then meaning
+      Documentation/config.txt: have a separate "Values" section
+      Documentation/config.txt: describe 'color' value type in the "Values" section
+      Documentation/config.txt: simplify boolean description in the syntax section
+      log --decorate: do not leak "commit" color into the next item
+      Git 2.3.4
+
+Karthik Nayak (1):
+      git: treat "git -C '<path>'" as a no-op when <path> is empty
+
+Kyle J. McKay (2):
+      imap-send: use cURL automatically when NO_OPENSSL defined
+      t7510: do not fail when gpg warns about insecure memory
+
+Michael J Gruber (1):
+      config,completion: add color.status.unmerged
+
+René Scharfe (2):
+      zlib: initialize git_zstream in git_deflate_init{,_gzip,_raw}
+      use isxdigit() for checking if a character is a hexadecimal digit
+
+SZEDER Gábor (2):
+      completion: add a test for __git_remotes() helper function
+      completion: simplify __git_remotes()
+
+Torsten Bögershausen (3):
+      connect.c: allow ssh://user@[2001:db8::1]/repo.git
+      t5601: add more test cases for IPV6
+      t5500: show user name and host in diag-url
+
+
+Version v2.3.3; changes since v2.3.2:
+-------------------------------------
+
+Anders Kaseorg (1):
+      t5516: correct misspelled pushInsteadOf
+
+Ben Walton (1):
+      kwset: use unsigned char to store values with high-bit set
+
+Jeff King (5):
+      git_connect: let user override virtual-host we send to daemon
+      t5570: test git-daemon's --interpolated-path option
+      daemon: sanitize incoming virtual hostname
+      diffcore-rename: split locate_rename_dst into two functions
+      diffcore-rename: avoid processing duplicate destinations
+
+Johannes Sixt (1):
+      test_ln_s_add: refresh stat info of fake symbolic links
+
+Junio C Hamano (11):
+      apply: reject input that touches outside the working area
+      apply: do not read from the filesystem under --index
+      apply: do not read from beyond a symbolic link
+      apply: do not touch a file beyond a symbolic link
+      t4008: correct stale comments
+      t9300: correct expected object names
+      t4010: correct expected object names
+      tests: do not borrow from COPYING and README from the real source
+      t/diff-lib: check exact object names in compare_diff_raw
+      t4008: modernise style
+      Git 2.3.3
+
+Michael J Gruber (1):
+      git-remote.txt: describe behavior without --tags and --no-tags
+
+Michal Sojka (1):
+      submodule: improve documentation of update subcommand
+
+Mikko Rapeli (1):
+      Documentation/git-clean.txt: document that -f may need to be given twice
+
+Mårten Kongstad (1):
+      diff --shortstat --dirstat: remove duplicate output
+
+Nguyễn Thái Ngọc Duy (1):
+      grep: correct help string for --exclude-standard
+
+René Scharfe (2):
+      daemon: look up client-supplied hostname lazily
+      daemon: use callback to build interpolated path
+
+
+Version v2.3.2; changes since v2.3.1:
+-------------------------------------
+
+Aleksander Boruch-Gruszecki (1):
+      merge-file: correctly open files when in a subdir
+
+Aleksey Vasenev (1):
+      wincred: fix get credential if username has "@"
+
+Alexander Kuleshov (1):
+      Git.pm: two minor typo fixes
+
+Eric Sunshine (1):
+      builtin/blame: destroy initialized commit_info only
+
+Jeff King (8):
+      t/lib-httpd: switch SANITY check for NOT_ROOT
+      t/lib-gpg: include separate public keys in keyring.gpg
+      t/lib-gpg: sanity-check that we can actually sign
+      config: do not ungetc EOF
+      decimal_width: avoid integer overflow
+      config_buf_ungetc: warn when pushing back a random character
+      for_each_loose_file_in_objdir: take an optional strbuf path
+      fast-import: avoid running end_packfile recursively
+
+Jonathon Mah (1):
+      sha1_file: fix iterating loose alternate objects
+
+Junio C Hamano (7):
+      tests: correct misuses of POSIXPERM
+      config.txt: clarify that add.ignore-errors is deprecated
+      config.txt: mark deprecated variables more prominently
+      Documentation/git-remote.txt: stress that set-url is not for triangular
+      CodingGuidelines: describe naming rules for configuration variables
+      Prepare for 2.3.2
+      Git 2.3.2
+
+Kirill A. Shutemov (1):
+      rebase -i: use full object name internally throughout the script
+
+Kyle J. McKay (3):
+      git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
+      git-send-email.perl: support no- prefix with older GetOptions
+      Git::SVN::*: avoid premature FileHandle closure
+
+Matthieu Moy (2):
+      Documentation/config.txt: document mailinfo.scissors
+      Documentation/git-am.txt: mention mailinfo.scissors config variable
+
+Mike Hommey (2):
+      transport-helper: do not request symbolic refs to remote helpers
+      transport-helper: fix typo in error message when --signed is not supported
+
+Patrick Steinhardt (1):
+      git-submodule.sh: fix '/././' path normalization
+
+Ramsay Jones (1):
+      git-compat-util.h: remove redundant code
+
+René Scharfe (4):
+      connect: use strcmp() for string comparison
+      for-each-ref: use skip_prefix() to avoid duplicate string comparison
+      pretty: use starts_with() to check for a prefix
+      sha1_name: use strlcpy() to copy strings
+
+Ryuichi Kokubo (1):
+      git-svn: fix localtime=true on non-glibc environments
+
+Stefan Beller (2):
+      hex.c: reduce memory footprint of sha1_to_hex static buffers
+      read-cache.c: free cache entry when refreshing fails
+
+Tom G. Christensen (2):
+      Makefile: handle broken curl version number in version check
+      ewah: fix building with gcc < 3.4.0
+
+Torsten Bögershausen (1):
+      test-lib.sh: set prerequisite SANITY by testing what we really need
+
+Дилян Палаузов (1):
+      do not include the same header twice
+
+
+Version v2.3.1; changes since v2.3.0:
+-------------------------------------
+
+Alexander Kuleshov (1):
+      add -i: return from list_and_choose if there is no candidate
+
+Doug Kelly (2):
+      t4255: test am submodule with diff.submodule
+      format-patch: ignore diff.submodule setting
+
+Jeff King (7):
+      git-compat-util: add xstrdup_or_null helper
+      builtin/apply.c: use xstrdup_or_null instead of null_strdup
+      builtin/commit.c: use xstrdup_or_null instead of envdup
+      use xstrdup_or_null to replace ternary conditionals
+      dumb-http: do not pass NULL path to parse_pack_index
+      read_and_strip_branch: fix typo'd address-of operator
+      do not check truth value of flex arrays
+
+Jonathan Nieder (1):
+      rerere: error out on autoupdate failure
+
+Junio C Hamano (6):
+      apply.c: typofix
+      apply: make update_pre_post_images() sanity check the given postlen
+      apply: count the size of postimage correctly
+      Documentation: what does "git log --indexed-objects" even mean?
+      diff-format doc: a score can follow M for rewrite
+      Git 2.3.1
+
+Lukas Fleischer (1):
+      blame.c: fix garbled error message
+
+Michael J Gruber (2):
+      commit: reword --author error message
+      git-push.txt: document the behavior of --repo
+
+brian m. carlson (1):
+      remote-curl: fall back to Basic auth if Negotiate fails
+
+
+Version v2.3.0; changes since v2.3.0-rc2:
+-----------------------------------------
+
+Alex Henrie (1):
+      l10n: ca.po: Fix trailing whitespace
+
+Junio C Hamano (1):
+      Git 2.3
+
+
+Version v2.3.0-rc2; changes since v2.3.0-rc1:
+---------------------------------------------
+
+Alex Henrie (1):
+      l10n: ca.po: update translation
+
+Alexander Kuleshov (1):
+      cat-file: use "type" and "size" from outer scope
+
+Benedikt Heine (1):
+      l10n: de.po: fix typo
+
+Jean-Noël Avila (2):
+      l10n: fr.po v2.3.0 round 1
+      l10n: fr.po v2.3.0 round 2
+
+Jiang Xin (5):
+      l10n: git.pot: v2.3.0 round 1 (13 new, 11 removed)
+      l10n: zh_CN: translations for git v2.3.0-rc0
+      l10n: git.pot: v2.3.0 round 2 (3 updated)
+      l10n: zh_CN: various fixes on command arguments
+      l10n: correct indentation of show-branch usage
+
+Joan Perals (1):
+      l10n: ca.po: various fixes
+
+Johannes Sixt (1):
+      t1050-large: generate large files without dd
+
+Junio C Hamano (1):
+      Git 2.3.0-rc2
+
+Kacper Kornet (1):
+      Fix unclosed here document in t3301.sh
+
+Michael J Gruber (2):
+      l10n: de.po: translate "leave behind" correctly
+      l10n: de.po: correct singular form
+
+Peter Krefting (2):
+      l10n: sv.po: Update Swedish translation (2298t0f0u)
+      l10n: sv.po: Update Swedish translation (2298t0f0u)
+
+Ralf Thielow (4):
+      l10n: de.po: translate "track" as "versionieren"
+      l10n: de.po: fix typo
+      l10n: de.po: translate 13 new messages
+      l10n: de.po: translate 3 messages
+
+Sven van Haastregt (1):
+      Documentation: fix version numbering
+
+Trần Ngọc Quân (2):
+      l10n: vi.po(2298t): Updated and change Plural-Forms
+      l10n: vi.po(2298t): Updated 3 new strings
+
+
+Version v2.3.0-rc1; changes since v2.3.0-rc0:
+---------------------------------------------
+
+Adam Williamson (1):
+      correct smtp-ssl-cert-path description
+
+Alexander Kuleshov (4):
+      show-branch: line-wrap show-branch usage
+      git.c: remove unnecessary #includes
+      cat-file: remove unused includes
+      Documentation: list long options for -v and -n
+
+Jeff King (4):
+      t1301: set umask in reflog sharedrepository=group test
+      update-server-info: create info/* with mode 0666
+      http-push: trim trailing newline from remote symref
+      parse_color: fix return value for numeric color values 0-8
+
+Jess Austin (1):
+      git-prompt.sh: allow to hide prompt for ignored pwd
+
+Johannes Schindelin (2):
+      git remote: allow adding remotes agreeing with url.<...>.insteadOf
+      Add a regression test for 'git remote add <existing> <same-url>'
+
+Junio C Hamano (2):
+      Fifth batch for 2.3 cycle
+      Git 2.3.0-rc1
+
+Kyle J. McKay (3):
+      log.c: fix translation markings
+      imap-send.c: support GIT_CURL_VERBOSE
+      imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY
+
+Matthieu Moy (1):
+      git-completion: add --autostash for 'git rebase'
+
+Philip Oakley (2):
+      doc: core.ignoreStat clarify the --assume-unchanged effect
+      doc: core.ignoreStat update, and clarify the --assume-unchanged effect
+
+Ralf Thielow (1):
+      show-branch: fix indentation of usage string
+
+Ramkumar Ramachandra (2):
+      Git::SVN: handle missing ref_id case correctly
+      git-svn: make it play nicely with submodules
+
+Raphael Kubo da Costa (1):
+      for-each-ref: always check stat_tracking_info()'s return value
+
+Reuben Hawkins (3):
+      configure.ac: check 'tv_nsec' field in 'struct stat'
+      configure.ac: check for clock_gettime and CLOCK_MONOTONIC
+      configure.ac: check for HMAC_CTX_cleanup
+
+Richard Hansen (3):
+      git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt
+      test-lib: use 'test ...' instead of '[ ... ]'
+      test-lib.sh: do tests for color support after changing HOME
+
+Steffen Prohaska (1):
+      subtree: fix AsciiDoc list item continuation
+
+Tony Finch (1):
+      git-prompt: preserve value of $? in all cases
+
+
+Version v2.3.0-rc0; changes since v2.2.3:
+-----------------------------------------
+
+Alfred Perlstein (1):
+      git-svn: support for git-svn propset
+
+Beat Bolli (5):
+      update_unicode.sh: simplify output capture
+      update_unicode.sh: set UNICODE_DIR only once
+      update_unicode.sh: shorten uniset invocation path
+      update_unicode.sh: make the output structure visible
+      update_unicode.sh: delete the command group
+
+Ben Walton (1):
+      t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk
+
+Bernhard Reiter (2):
+      imap-send: use parse options API to determine verbosity
+      git-imap-send: use libcurl for implementation
+
+Christian Couder (5):
+      commit: make ignore_non_trailer() non static
+      trailer: reuse ignore_non_trailer() to ignore conflict lines
+      trailer: add test with an old style conflict block
+      bisect: parse revs before passing them to check_expected_revs()
+      bisect: add test to check that revs are properly parsed
+
+Christian Hesse (4):
+      tests: create gpg homedir on the fly
+      tests: skip RFC1991 tests for gnupg 2.1
+      tests: replace binary GPG keyrings with ASCII-armored keys
+      tests: make comment on GPG keyring match the code
+
+Dan Wyand (1):
+      git-sh-setup.sh: use dashdash with basename call
+
+David Aguilar (4):
+      mergetool--lib: remove use of $status global
+      difftool--helper: add explicit exit statement
+      mergetool: simplify conditionals
+      mergetools: stop setting $status in merge_cmd()
+
+David Michael (1):
+      compat: convert modes to use portable file type values
+
+Eric Sunshine (7):
+      git-compat-util: suppress unavoidable Apple-specific deprecation warnings
+      t2004: modernize style
+      t2004: drop unnecessary write-tree/read-tree
+      t2004: standardize file naming in symlink test
+      t2004: demonstrate broken relative path printing
+      checkout-index: fix --temp relative path mangling
+      SubmittingPatches: explain rationale for using --notes with format-patch
+
+Jeff King (13):
+      parse_color: refactor color storage
+      parse_color: support 24-bit RGB values
+      parse_color: recognize "no$foo" to clear the $foo attribute
+      diff-highlight: allow configurable colors
+      credential: let helpers tell us to quit
+      prompt: respect GIT_TERMINAL_PROMPT to disable terminal prompts
+      fsck: properly bound "invalid tag name" error message
+      parse_color: drop COLOR_BACKGROUND macro
+      pkt-line: allow writing of LARGE_PACKET_MAX buffers
+      t: support clang/gcc AddressSanitizer
+      commit: loosen ident checks when generating template
+      commit: always populate GIT_AUTHOR_* variables
+      add--interactive: leave main loop on read error
+
+Jim Hill (1):
+      pre-push.sample: remove unnecessary and misleading IFS=' '
+
+Johan Herland (9):
+      builtin/notes: fix premature failure when trying to add the empty blob
+      t3301: verify that 'git notes' removes empty notes by default
+      builtin/notes: improve naming
+      builtin/notes: refactor note file path into struct note_data
+      builtin/notes: simplify early exit code in add()
+      builtin/notes: split create_note() to clarify add vs. remove logic
+      builtin/notes: add --allow-empty, to allow storing empty notes
+      notes: empty notes should be shown by 'git log'
+      t3301: modernize style
+
+Johannes Schindelin (2):
+      receive-pack: add another option for receive.denyCurrentBranch
+      test-hashmap: squelch gcc compiler warning
+
+Johannes Sixt (1):
+      t5000 on Windows: do not mistake "sh.exe" as "sh"
+
+Junio C Hamano (30):
+      checkout: report upstream correctly even with loosely defined branch.*.merge
+      clone: --dissociate option to mark that reference is only temporary
+      diff -B -M: fix output for "copy and then rewrite" case
+      builtin/merge.c: drop a parameter that is never used
+      merge & sequencer: unify codepaths that write "Conflicts:" hint
+      strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines
+      builtin/commit.c: extract ignore_non_trailer() helper function
+      merge & sequencer: turn "Conflicts:" hint into a comment
+      bisect: clean flags after checking merge bases
+      get_merge_bases(): always clean-up object flags
+      unpack_trees: plug leakage of o->result
+      mergetool--lib: remove no-op assignment to $status from setup_user_tool
+      SubmittingPatches: refer to t/README for tests
+      t/README: justify why "! grep foo" is sufficient
+      t9001: style modernisation phase #1
+      t9001: style modernisation phase #2
+      t9001: style modernisation phase #3
+      t9001: style modernisation phase #4
+      t9001: style modernisation phase #5
+      system_path(): always return free'able memory to the caller
+      t5516: more tests for receive.denyCurrentBranch=updateInstead
+      run-command.c: retire unused run_hook_with_custom_index()
+      t3102: document that ls-tree does not yet support negated pathspec
+      t3102: style modernization
+      First batch for 2.3 cycle
+      tests: squelch noise from GPG machinery set-up
+      Second batch for 2.3 cycle
+      Third batch for 2.3 cycle
+      Fourth batch for 2.3 cycle
+      Git 2.3.0-rc0
+
+Justin Guenther (1):
+      git-prompt.sh: make $f local to __git_eread()
+
+Karsten Blees (1):
+      pack-bitmap: do not use gcc packed attribute
+
+Luis Henriques (2):
+      send-email: add --[no-]xmailer option
+      test/send-email: --[no-]xmailer tests
+
+Michael Haggerty (10):
+      cmd_config(): make a copy of path obtained from git_path()
+      prune_remote(): exit early if there are no stale references
+      prune_remote(): initialize both delete_refs lists in a single loop
+      prune_remote(): sort delete_refs_list references en masse
+      repack_without_refs(): make the refnames argument a string_list
+      prune_remote(): rename local variable
+      prune_remote(): iterate using for_each_string_list_item()
+      sort_string_list(): rename to string_list_sort()
+      t1400: add some more tests of "update-ref --stdin"'s verify command
+      update-ref: fix "verify" command with missing <oldvalue>
+
+Michael J Gruber (4):
+      t3200-branch: test -M
+      check-ignore: clarify treatment of tracked files
+      gitignore.txt: do not suggest assume-unchanged
+      branch: allow -f with -m and -d
+
+Nguyễn Thái Ngọc Duy (6):
+      lockfile.c: store absolute path
+      tree.c: update read_tree_recursive callback to pass strbuf as base
+      ls-tree: remove path filtering logic in show_tree
+      ls-tree: disable negative pathspec because it's not supported
+      index-pack: terminate object buffers with NUL
+      index-format.txt: add a missing closing quote
+
+Onno Kortmann (1):
+      Show number of TODO items for interactive rebase
+
+Paolo Bonzini (4):
+      git-send-email: delay creation of MIME headers
+      git-send-email: add --transfer-encoding option
+      git-mailinfo: add --message-id
+      git-am: add --message-id/--no-message-id
+
+Paul Smith (1):
+      git-new-workdir: don't fail if the target directory is empty
+
+Peter van der Does (1):
+      Update documentation occurrences of filename .sh
+
+Philip Oakley (1):
+      doc: make clear --assume-unchanged's user contract
+
+Ralf Thielow (3):
+      builtin/push.c: fix description of --recurse-submodules option
+      for-each-ref: correct spelling of Tcl in option description
+      completion: add git-tag options
+
+Ramsay Jones (2):
+      git-compat-util.h: don't define _XOPEN_SOURCE on cygwin
+      t0050-*.sh: mark the rename (case change) test as passing
+
+René Scharfe (6):
+      use args member of struct child_process
+      use strbuf_complete_line() for adding a newline if needed
+      commit-tree: simplify parsing of option -S using skip_prefix()
+      merge: release strbuf after use in suggest_conflicts()
+      transport: simplify duplicating a substring in transport_get() using xmemdupz()
+      refs: plug strbuf leak in lock_ref_sha1_basic()
+
+Ronnie Sahlberg (1):
+      lock_ref_sha1_basic: do not die on locking errors
+
+Slavomir Vlcek (3):
+      builtin: move builtin retrieval to get_builtin()
+      apply: fix typo in an error message
+      Documentation/git-stripspace: add synopsis for --comment-lines
+
+Stefan Beller (5):
+      string_list: document string_list_(insert,lookup)
+      mailmap: use higher level string list functions
+      string_list: remove string_list_insert_at_index() from its API
+      t5400: remove dead code
+      Documentation/SubmittingPatches: unify whitespace/tabs for the DCO
+
+Thomas Quinot (1):
+      git_connect: set ssh shell command in GIT_SSH_COMMAND
+
+Tony Finch (1):
+      git-prompt: preserve value of $? inside shell prompt
+
+Torsten Bögershausen (2):
+      init-db: improve the filemode trustability check
+      t0027: check the eol conversion warnings
+
+brian m. carlson (3):
+      Documentation: add missing article in rev-list-options.txt
+      rev-list: add an option to mark fewer edges as uninteresting
+      pack-objects: use --objects-edge-aggressive for shallow repos
+
+Роман Донченко (2):
+      send-email: align RFC 2047 decoding more closely with the spec
+      send-email: handle adjacent RFC 2047-encoded words properly
+
+
+Version v2.2.3; changes since v2.2.2:
+-------------------------------------
+
+Jeff King (4):
+      verify_absent: allow filenames longer than PATH_MAX
+      notes: use a strbuf in add_non_note
+      read_info_alternates: handle paths larger than PATH_MAX
+      show-branch: use a strbuf for reflog descriptions
+
+Junio C Hamano (1):
+      Git 2.2.3
+
+
+Version v2.2.2; changes since v2.2.1:
+-------------------------------------
+
+Alexander Kuleshov (1):
+      clean: typofix
+
+Jeff King (17):
+      pass TIME_DATE_NOW to approxidate future-check
+      checkout $tree: do not throw away unchanged index entries
+      approxidate: allow ISO-like dates far in the future
+      Makefile: have perl scripts depend on NO_PERL setting
+      t0090: mark add-interactive test with PERL prerequisite
+      t960[34]: mark cvsimport tests as requiring perl
+      gitweb: hack around CGI's list-context param() handling
+      docs: describe ANSI 256-color mode
+      config: fix parsing of "git config --get-color some.key -1"
+      t4026: test "normal" color
+      push: truly use "simple" as default, not "upstream"
+      for_each_reflog_ent_reverse: fix newlines on block boundaries
+      for_each_reflog_ent_reverse: turn leftover check into assertion
+      read_packed_refs: use a strbuf for reading lines
+      read_packed_refs: pass strbuf to parse_ref_line
+      read_packed_refs: use skip_prefix instead of static array
+      is_hfs_dotgit: loosen over-eager match of \u{..47}
+
+Johannes Sixt (1):
+      Windows: correct detection of EISDIR in mingw_open()
+
+Jonathan Nieder (2):
+      Makefile: simplify by using SCRIPT_{PERL,SH}_GEN macros
+      Makefile: have python scripts depend on NO_PYTHON setting
+
+Junio C Hamano (2):
+      Prepare for 2.2.2
+      Git 2.2.2
+
+Michael Haggerty (1):
+      create_default_files(): don't set u+x bit on $GIT_DIR/config
+
+Michael J Gruber (1):
+      add: ignore only ignored files
+
+Mike Hommey (1):
+      sha1_name: avoid unnecessary sha1 lookup in find_unique_abbrev
+
+René Scharfe (2):
+      use labs() for variables of type long instead of abs()
+      use labs() for variables of type long instead of abs()
+
+Ronald Wampler (1):
+      git-am.txt: --ignore-date flag is not passed to git-apply
+
+brian m. carlson (1):
+      Documentation: change "gitlink" typo in git-push
+
+
+Version v2.2.1; changes since v2.2.0:
+-------------------------------------
+
+Hartmut Henkel (1):
+      l10n: de.po: fix typos
+
+Jeff King (8):
+      unpack-trees: propagate errors adding entries to the index
+      read-tree: add tests for confusing paths like ".." and ".git"
+      verify_dotfile(): reject .git case-insensitively
+      t1450: refactor ".", "..", and ".git" fsck tests
+      fsck: notice .git case-insensitively
+      utf8: add is_hfs_dotgit() helper
+      read-cache: optionally disallow HFS+ .git variants
+      fsck: complain about HFS+ ".git" aliases in trees
+
+Johannes Schindelin (3):
+      path: add is_ntfs_dotgit() helper
+      read-cache: optionally disallow NTFS .git variants
+      fsck: complain about NTFS ".git" aliases in trees
+
+Junio C Hamano (6):
+      Start post 2.2 cycle
+      Git 1.8.5.6
+      Git 1.9.5
+      Git 2.0.5
+      Git 2.1.4
+      Git 2.2.1
+
+
+Version v2.2.0; changes since v2.2.0-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 2.2
+
+Marc Branchaud (1):
+      RelNotes: spelling & grammar tweaks
+
+
+Version v2.2.0-rc3; changes since v2.2.0-rc2:
+---------------------------------------------
+
+Alex Henrie (1):
+      l10n: Update Catalan translation
+
+Christian Couder (2):
+      trailer: ignore comment lines inside the trailers
+      trailer: display a trailer without its trailing newline
+
+David Aguilar (1):
+      difftool: honor --trust-exit-code for builtin tools
+
+Jiang Xin (3):
+      l10n: git.pot: v2.2.0 round 2 (1 updated)
+      l10n: batch updates for one trivial change
+      l10n: remove a superfluous translation for push.c
+
+Junio C Hamano (2):
+      Documentation/git-commit: clarify that --only/--include records the working tree contents
+      Git 2.2.0-rc3
+
+Max Horn (1):
+      doc: add some crossrefs between manual pages
+
+Ralf Thielow (4):
+      l10n: de.po: use imperative form for command options
+      l10n: de.po: translate 62 new messages
+      l10n: de.po: translate 2 new messages
+      l10n: de.po: translate 2 messages
+
+Slavomir Vlcek (1):
+      SubmittingPatches: final submission is To: maintainer and CC: list
+
+Stefan Beller (1):
+      l10n: de.po: Fixup one translation
+
+Stefan Naewe (1):
+      gittutorial: fix output of 'git status'
+
+Thomas Ackermann (1):
+      gittutorial.txt: remove reference to ancient Git version
+
+Torsten Bögershausen (1):
+      t5705: the file:// URL should be absolute
+
+
+Version v2.2.0-rc2; changes since v2.2.0-rc1:
+---------------------------------------------
+
+Alexander Shopov (1):
+      l10n: Updated Bulgarian translation of git (2296t,0f,0u)
+
+Jean-Noël Avila (1):
+      l10n: fr.po (2296t) update for version 2.2.0
+
+Jeff King (1):
+      t1410: fix breakage on case-insensitive filesystems
+
+Jiang Xin (2):
+      l10n: git.pot: v2.2.0 round 1 (62 new, 23 removed)
+      l10n: zh_CN: translations for git v2.2.0-rc0
+
+John Szakmeister (1):
+      diff-highlight: exit when a pipe is broken
+
+Junio C Hamano (2):
+      Update draft release notes to 2.2
+      Git 2.2.0-rc2
+
+Nicolas Dermine (1):
+      config.txt: fix typo
+
+Peter Krefting (1):
+      l10n: sv.po: Update Swedish translation (2296t0f0u)
+
+René Scharfe (2):
+      trailer: use CHILD_PROCESS_INIT in apply_command()
+      run-command: use void to declare that functions take no parameters
+
+Thomas Quinot (1):
+      Documentation/config.txt: fix minor typo
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: Update new message strings
+
+
+Version v2.2.0-rc1; changes since v2.2.0-rc0:
+---------------------------------------------
+
+Ben North (1):
+      gitignore.txt: fix spelling of "backslash"
+
+Jeff King (5):
+      cache-tree: avoid infinite loop on zero-entry tree
+      bundle: split out ref writing from bundle_create
+      fetch: load all default config at startup
+      ignore stale directories when checking reflog existence
+      docs/credential-store: s/--store/--file/
+
+Junio C Hamano (3):
+      bundle: split out a helper function to create pack data
+      bundle: split out a helper function to compute and write prerequisites
+      Git 2.2.0-rc1
+
+Matthieu Moy (1):
+      RelNotes/2.2.0.txt: fix minor typos
+
+René Scharfe (1):
+      use child_process_init() to initialize struct child_process variables
+
+Thomas Ackermann (1):
+      Documentation: typofixes
+
+Tzvetan Mikov (1):
+      line-log: fix crash when --first-parent is used
+
+
+Version v2.2.0-rc0; changes since v2.1.4:
+-----------------------------------------
+
+Alex Henrie (1):
+      grammofix in user-facing messages
+
+Arjun Sreedharan (1):
+      calloc() and xcalloc() takes nmemb and then size
+
+Beat Bolli (1):
+      pretty: provide a strict ISO 8601 date format
+
+Ben Walton (2):
+      t/lib-credential: use write_script
+      trace.c: do not mark getnanotime() as "inline"
+
+Bernhard Reiter (3):
+      http.c: die if curl_*_init fails
+      git-imap-send: simplify tunnel construction
+      imap-send.c: imap_folder -> imap_server_conf.folder
+
+Brian Gernhardt (1):
+      receive-pack::hmac_sha1(): copy the entire SHA-1 hash out
+
+Brice Lambson (1):
+      MinGW: update tests to handle a native eol of crlf
+
+Charles Bailey (2):
+      mergetool: don't require a work tree for --tool-help
+      difftool: don't assume that default sh is sane
+
+Christian Couder (11):
+      trailer: add data structures and basic functions
+      trailer: process trailers from input message and arguments
+      trailer: read and process config information
+      trailer: process command line trailer arguments
+      trailer: parse trailers from file or stdin
+      trailer: put all the processing together and print
+      trailer: add interpret-trailers command
+      trailer: add tests for "git interpret-trailers"
+      trailer: execute command from 'trailer.<name>.command'
+      trailer: add tests for commands in config file
+      Documentation: add documentation for 'git interpret-trailers'
+
+David Aguilar (19):
+      stylefix: asterisks stick to the variable, not the type
+      cleanups: ensure that git-compat-util.h is included first
+      Documentation: a note about stdout for git rev-parse --verify --quiet
+      t1503: use test_must_be_empty
+      refs: make rev-parse --quiet actually quiet
+      stash: prefer --quiet over shell redirection of the standard error stream
+      completion: add --show-signature for log and show
+      t7610-mergetool: use tabs instead of a mix of tabs and spaces
+      t7610-mergetool: add missing && and remove commented-out code
+      t7610-mergetool: prefer test_config over git config
+      test-lib-functions: adjust style to match CodingGuidelines
+      mergetool: use more conservative temporary filenames
+      git-sh-setup: move GIT_DIR initialization into a function
+      t7610-mergetool: use test_config to isolate tests
+      test-lib-functions: adjust style to match CodingGuidelines
+      mergetool: use more conservative temporary filenames
+      mergetool: add an option for writing to a temporary directory
+      t7610-mergetool: add test cases for mergetool.writeToTemp
+      difftool: add support for --trust-exit-code
+
+David Michael (3):
+      git-compat-util.h: support variadic macros with the XL C compiler
+      Makefile: reorder linker flags in the git executable rule
+      compat/bswap.h: detect endianness from XL C compiler macros
+
+David Turner (4):
+      cache-tree: create/update cache-tree on checkout
+      test-dump-cache-tree: invalid trees are not errors
+      cache-tree: subdirectory tests
+      cache-tree: Write updated cache-tree after commit
+
+Eric Wong (15):
+      git svn: info: correctly handle absolute path args
+      git svn: find-rev allows short switches for near matches
+      git-svn: delay term initialization
+      git-svn: reduce check_cherry_pick cache overhead
+      git-svn: cache only mergeinfo revisions
+      git-svn: remove mergeinfo rev caching
+      git-svn: reload RA every log-window-size
+      git-svn: remove unnecessary DESTROY override
+      git-svn: save a little memory as fetch progresses
+      git-svn: disable _rev_list memoization
+      Git.pm: add specified name to tempfile template
+      git-svn: prepare SVN::Ra config pieces once
+      git-svn: (cleanup) remove editor param passing
+      git-svn: add space after "W:" prefix in warning
+      git-svn: use SVN::Ra::get_dir2 when possible
+
+Etienne Buira (2):
+      index-pack: fix compilation with NO_PTHREADS
+      Handle atexit list internaly for unthreaded builds
+
+Harry Jeffery (1):
+      pretty: add %D format specifier
+
+Ian Liu Rodrigues (1):
+      Makefile: fix some typos in the preamble
+
+Jaime Soriano Pastor (2):
+      read_index_from(): catch out of order entries when reading an index file
+      read_index_unmerged(): remove unnecessary loop index adjustment
+
+Jakob Stoklund Olesen (2):
+      git-svn: only look at the new parts of svn:mergeinfo
+      git-svn: only look at the root path for svn:mergeinfo
+
+Jeff King (54):
+      stash: default listing to working-tree diff
+      subtree: make "all" default target of Makefile
+      http: style fixes for curl_multi_init error check
+      Makefile: use `find` to determine static header dependencies
+      log-tree: make add_name_decoration a public function
+      log-tree: make name_decoration hash static
+      Makefile: drop CHECK_HEADER_DEPENDENCIES code
+      log-tree: use FLEX_ARRAY in name_decoration
+      commit: provide a function to find a header in a buffer
+      record_author_date(): fix memory leak on malformed commit
+      record_author_date(): use find_commit_header()
+      date: use strbufs in date-formatting functions
+      teach fast-export an --anonymize option
+      docs/fast-export: explain --anonymize more completely
+      determine_author_info(): reuse parsing functions
+      determine_author_info(): copy getenv output
+      refs: write packed_refs file using stdio
+      refs: speed up is_refname_available
+      prune-packed: fix minor memory leak
+      make update-server-info more robust
+      server-info: clean up after writing info/packs
+      credential-cache: close stderr in daemon process
+      branch: clean up commit flags after merge-filter walk
+      t5304: use test_path_is_* instead of "test -f"
+      t5304: use helper to report failure of "test foo = bar"
+      test-lib.sh: support -x option for shell-tracing
+      color_parse: do not mention variable name in error message
+      foreach_alt_odb: propagate return value from callback
+      isxdigit: cast input to unsigned char
+      object_array: factor out slopbuf-freeing logic
+      object_array: add a "clear" function
+      clean up name allocation in prepare_revision_walk
+      reachable: use traverse_commit_list instead of custom walk
+      reachable: reuse revision.c "add all reflogs" code
+      prune: factor out loose-object directory traversal
+      reachable: mark index blobs as SEEN
+      prune-packed: use for_each_loose_file_in_objdir
+      count-objects: do not use xsize_t when counting object size
+      count-objects: use for_each_loose_file_in_objdir
+      sha1_file: add for_each iterators for loose and packed objects
+      prune: keep objects reachable from recent objects
+      pack-objects: refactor unpack-unreachable expiration check
+      pack-objects: match prune logic for discarding objects
+      write_sha1_file: freshen existing objects
+      make add_object_array_with_context interface more sane
+      traverse_commit_list: support pending blobs/trees with paths
+      t5516: test pushing a tag of an otherwise unreferenced blob
+      rev-list: document --reflog option
+      rev-list: add --indexed-objects option
+      reachable: use revision machinery's --indexed-objects code
+      pack-objects: use argv_array
+      repack: pack objects mentioned by the index
+      pack-objects: double-check options before discarding objects
+      drop add_object_array_with_mode
+
+Johannes Schindelin (6):
+      Refactor type_from_string() to allow continuing after detecting an error
+      fsck_object(): allow passing object data separately from the object itself
+      Make sure fsck_commit_buffer() does not run out of the buffer
+      fsck: check tag objects' headers
+      Add regression tests for stricter tag fsck'ing
+      Make sure that index-pack --strict checks tag objects
+
+Johannes Sixt (3):
+      t9300: use test_cmp_bin instead of test_cmp to compare binary files
+      mingw.h: add dummy functions for sigset_t operations
+      difftool--helper: exit when reading a prompt answer fails
+
+John Szakmeister (1):
+      completion: silence "fatal: Not a git repository" error
+
+Jonas 'Sortie' Termansen (3):
+      git-compat-util.h: add missing semicolon after struct itimerval
+      autoconf: check for struct itimerval
+      autoconf: check for setitimer()
+
+Jonathan Nieder (10):
+      i18n: treat "make pot" as an explicitly-invoked target
+      update-ref --stdin: narrow scope of err strbuf
+      update-ref --stdin: pass transaction around explicitly
+      pass config slots as pointers instead of offsets
+      mv test: recreate mod/ directory instead of relying on stale copy
+      branch -d: avoid repeated symref resolution
+      packed-ref cache: forbid dot-components in refnames
+      refs.c: do not permit err == NULL
+      lockfile: remove unable_to_lock_error
+      ref_transaction_commit: bail out on failure to remove a ref
+
+Junio C Hamano (55):
+      tests: drop GIT_*_TIMING_TESTS environment variable support
+      lockfile: allow reopening a closed but still locked file
+      test prerequisites: eradicate NOT_FOO
+      test prerequisites: enumerate with commas
+      config.mak.uname: add hint on uname_R for MacOS X
+      Start the post-2.1 cycle
+      cache-tree: do not try to use an invalidated subtree info to build a tree
+      parse-options: detect attempt to add a duplicate short option name
+      Update draft release notes to 2.2
+      Update draft release notes to 2.2
+      hash-object: reduce file-scope statics
+      hash-object: pass 'write_object' as a flag
+      hash-object: add --literally option
+      t1450: make sure fsck detects a malformed tagger line
+      receive-pack: do not overallocate command structure
+      receive-pack: parse feature request a bit earlier
+      receive-pack: do not reuse old_sha1[] for other things
+      receive-pack: factor out queueing of command
+      send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higher
+      send-pack: refactor decision to send update per ref
+      send-pack: always send capabilities
+      send-pack: factor out capability string generation
+      receive-pack: factor out capability string generation
+      send-pack: rename "new_refs" to "need_pack_data"
+      send-pack: refactor inspecting and resetting status and sending commands
+      send-pack: clarify that cmds_sent is a boolean
+      gpg-interface: move parse_gpg_output() to where it should be
+      gpg-interface: move parse_signature() to where it should be
+      pack-protocol doc: typofix for PKT-LINE
+      push: the beginning of "git push --signed"
+      receive-pack: GPG-validate push certificates
+      send-pack: send feature request on push-cert packet
+      signed push: remove duplicated protocol info
+      signed push: add "pushee" header to push certificate
+      receive-pack: allow hooks to ignore its standard input stream
+      signed push: fortify against replay attacks
+      signed push: teach smart-HTTP to pass "git push --signed" around
+      signed push: allow stale nonce in stateless mode
+      Update draft release notes to 2.2
+      t7004: give the test a bit more stack space
+      Update draft release notes to 2.2
+      Update draft release notes to 2.2
+      Update draft release notes to 2.2
+      completion: use "git -C $there" instead of (cd $there && git ...)
+      pack-objects: set number of threads before checking and warning
+      t1308: fix broken here document in test script
+      Update draft release notes to 2.2
+      reflog test: test interaction with detached HEAD
+      Revert "archive: honor tar.umask even for pax headers"
+      Update draft release notes to 2.2
+      mergetool: rename bc3 to bc
+      Update draft release notes to 2.2
+      Update draft release notes to 2.2
+      Update draft release notes to 2.2
+      Git 2.2.0-rc0
+
+Kyle J. McKay (1):
+      config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
+
+Lawrence Velázquez (1):
+      git-svn.txt: Remove mentions of repack options
+
+Linus Arver (7):
+      Documentation: git-init: typographical fixes
+      Documentation: git-init: list items facelift
+      Documentation: git-init: template directory: reword
+      Documentation: git-init: --separate-git-dir: clarify
+      Documentation: git-init: reword parenthetical statements
+      Documentation: git-init: template directory: reword and cross-reference
+      Documentation: git-init: flesh out example
+
+Matthias Rüster (2):
+      rerere.h: mark string for translation
+      builtin/log.c: mark strings for translation
+
+Matthieu Moy (7):
+      config --global --edit: create a template file if needed
+      home_config_paths(): let the caller ignore xdg path
+      commit: advertise config --global --edit on guessed identity
+      config.c: mark error and warnings strings for translation
+      config.c: fix accuracy of line number in errors
+      builtin/log.c: fix minor memory leak
+      merge, pull: stop advising 'commit -a' in case of conflict
+
+Max Kirillov (2):
+      gitk: Show detached HEAD if --all is specified
+      gitk: Remove boilerplate for configuration variables
+
+Maxim Bublis (1):
+      contrib/svn-fe: fix Makefile
+
+Michael Haggerty (41):
+      unable_to_lock_die(): rename function from unable_to_lock_index_die()
+      api-lockfile: revise and expand the documentation
+      close_lock_file(): exit (successfully) if file is already closed
+      rollback_lock_file(): do not clear filename redundantly
+      rollback_lock_file(): exit early if lock is not active
+      rollback_lock_file(): set fd to -1
+      lockfile: unlock file if lockfile permissions cannot be adjusted
+      hold_lock_file_for_append(): release lock on errors
+      lock_file(): always initialize and register lock_file object
+      lockfile.c: document the various states of lock_file objects
+      cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
+      delete_ref_loose(): don't muck around in the lock_file's filename
+      prepare_index(): declare return value to be (const char *)
+      lock_file(): exit early if lockfile cannot be opened
+      remove_lock_file(): call rollback_lock_file()
+      commit_lock_file(): inline temporary variable
+      commit_lock_file(): die() if called for unlocked lockfile object
+      close_lock_file(): if close fails, roll back
+      commit_lock_file(): rollback lock file on failure to rename
+      api-lockfile: document edge cases
+      dump_marks(): remove a redundant call to rollback_lock_file()
+      git_config_set_multivar_in_file(): avoid call to rollback_lock_file()
+      lockfile: avoid transitory invalid states
+      struct lock_file: declare some fields volatile
+      try_merge_strategy(): remove redundant lock_file allocation
+      try_merge_strategy(): use a statically-allocated lock_file object
+      commit_lock_file(): use a strbuf to manage temporary space
+      lockfile: change lock_file::filename into a strbuf
+      resolve_symlink(): use a strbuf for internal scratch space
+      resolve_symlink(): take a strbuf parameter
+      trim_last_path_component(): replace last_path_elm()
+      commit_lock_file_to(): refactor a helper out of commit_lock_file()
+      lockfile: rename LOCK_NODEREF to LOCK_NO_DEREF
+      lockfile.c: rename static functions
+      get_locked_file_path(): new function
+      hold_lock_file_for_append(): restore errno before returning
+      hold_locked_index(): move from lockfile.c to read-cache.c
+      lockfile.h: extract new header file for the functions in lockfile.c
+      fdopen_lock_file(): access a lockfile using stdio
+      dump_marks(): reimplement using fdopen_lock_file()
+      commit_packed_refs(): reimplement using fdopen_lock_file()
+
+Michael J Gruber (2):
+      push: heed user.signingkey for signed pushes
+      t/lib-gpg: make gpghome files writable
+
+Monard Vong (1):
+      git-svn: branch: avoid systematic prompt for cert/pass
+
+Nguyễn Thái Ngọc Duy (16):
+      mv: mark strings for translations
+      mv: flatten error handling code block
+      utf8.c: fix strbuf_utf8_replace() consuming data beyond input string
+      wrapper.c: introduce gentle xmallocz that does not die()
+      sha1_file.c: do not die failing to malloc in unpack_compressed_entry
+      diff.c: allow to pass more flags to diff_populate_filespec
+      diff --stat: mark any file larger than core.bigfilethreshold binary
+      diff: shortcut for diff'ing two binary SHA-1 objects
+      mv: split submodule move preparation code out
+      mv: remove an "if" that's always true
+      mv: move index search code out
+      mv: unindent one level for directory move code
+      mv: combine two if(s)
+      mv: no SP between function name and the first opening parenthese
+      archive: support filtering paths with glob
+      dir.c: remove the second declaration of "stk" in prep_exclude()
+
+Pat Thoyts (1):
+      Makefile: propagate NATIVE_CRLF to C
+
+Patrick Reynolds (2):
+      use a hashmap to make remotes faster
+      unblock and unignore SIGPIPE
+
+Philip Oakley (4):
+      doc: modernise everyday.txt wording and format in man page style
+      doc: Makefile regularise OBSOLETE_HTML list building
+      doc: add 'everyday' to 'git help'
+      doc: fix 'git status --help' character quoting
+
+Ramsay Jones (1):
+      revision: remove definition of unused 'add_object' function
+
+René Scharfe (44):
+      strbuf: add strbuf_getcwd()
+      unix-sockets: use strbuf_getcwd()
+      init: avoid superfluous real_path() calls
+      turn path macros into inline function
+      run-command: introduce CHILD_PROCESS_INIT
+      run-command: introduce child_process_init()
+      run-command: call run_command_v_opt_cd_env() instead of duplicating it
+      run-command: inline prepare_run_command_v_opt()
+      sha1_name: avoid quadratic list insertion in handle_one_ref
+      walker: avoid quadratic list insertion in mark_complete
+      setup: convert setup_git_directory_gently_1 et al. to strbuf
+      abspath: use strbuf_getcwd() to remember original working directory
+      abspath: convert real_path_internal() to strbuf
+      wrapper: add xgetcwd()
+      use xgetcwd() to get the current directory or die
+      use xgetcwd() to set $GIT_DIR
+      abspath: convert absolute_path() to strbuf
+      use strbuf_add_absolute_path() to add absolute paths
+      connect: simplify check_ref() using skip_prefix() and starts_with()
+      pack-write: simplify index_pack_lockfile using skip_prefix() and xstrfmt()
+      config: simplify git_config_include()
+      http-walker: simplify process_alternates_response() using strbuf
+      merge-tree: remove unused df_conflict arguments
+      imap-send: simplify v_issue_imap_cmd() and get_cmd_result() using starts_with()
+      trace: correct trace_strbuf() parameter type for !HAVE_VARIADIC_MACROS
+      strbuf: export strbuf_addchars()
+      strbuf: use strbuf_addchars() for adding a char multiple times
+      repack: call prune_packed_objects() and update_server_info() directly
+      add macro REALLOC_ARRAY
+      use REALLOC_ARRAY for changing the allocation size of arrays
+      graph: simplify graph_padding_line()
+      remote: simplify match_name_with_pattern() using strbuf
+      t0090: avoid passing empty string to printf %d
+      sha1-array: add test-sha1-array and basic tests
+      sha1-lookup: handle duplicates in sha1_pos()
+      bundle: plug minor memory leak in is_tag_in_date_range()
+      mailsplit: remove unnecessary unlink(2) call
+      use skip_prefix() to avoid more magic numbers
+      receive-pack: plug minor memory leak in unpack()
+      run-command: add env_array, an optional argv_array for env
+      use env_array member of struct child_process
+      grep: add color.grep.matchcontext and color.grep.matchselected
+      receive-pack: avoid minor leak in case start_async() fails
+      api-run-command: add missing list item marker
+
+Robert de Bath (1):
+      config.txt: pack.windowmemory limit applies per-thread
+
+Ronnie Sahlberg (38):
+      refs.c: change ref_transaction_create to do error checking and return status
+      refs.c: update ref_transaction_delete to check for error and return status
+      refs.c: make ref_transaction_begin take an err argument
+      refs.c: add transaction.status and track OPEN/CLOSED
+      tag.c: use ref transactions when doing updates
+      replace.c: use the ref transaction functions for updates
+      commit.c: use ref transactions for updates
+      sequencer.c: use ref transactions for all ref updates
+      fast-import.c: change update_branch to use ref transactions
+      branch.c: use ref transaction for all ref updates
+      refs.c: change update_ref to use a transaction
+      receive-pack.c: use a reference transaction for updating the refs
+      fast-import.c: use a ref transaction when dumping tags
+      walker.c: use ref transaction for ref updates
+      refs.c: make lock_ref_sha1 static
+      refs.c: remove the update_ref_lock function
+      refs.c: remove the update_ref_write function
+      refs.c: remove lock_ref_sha1
+      refs.c: make prune_ref use a transaction to delete the ref
+      refs.c: make delete_ref use a transaction
+      wrapper.c: remove/unlink_or_warn: simplify, treat ENOENT as success
+      refs.c: lock_ref_sha1_basic is used for all refs
+      wrapper.c: add a new function unlink_or_msg
+      refs.c: add an err argument to delete_ref_loose
+      refs.c: pass the ref log message to _create/delete/update instead of _commit
+      rename_ref: don't ask read_ref_full where the ref came from
+      refs.c: refuse to lock badly named refs in lock_ref_sha1_basic
+      refs.c: call lock_ref_sha1_basic directly from commit
+      refs.c: pass a list of names to skip to is_refname_available
+      refs.c: ref_transaction_commit: distinguish name conflicts from other errors
+      fetch.c: change s_update_ref to use a ref transaction
+      refs.c: make write_ref_sha1 static
+      refs.c: change resolve_ref_unsafe reading argument to be a flags field
+      branch -d: simplify by using RESOLVE_REF_READING
+      test: put tests for handling of bad ref names in one place
+      refs.c: allow listing and deleting badly named refs
+      for-each-ref: skip and warn about broken ref names
+      remote rm/prune: print a message when writing packed-refs fails
+
+Sebastian Schuberth (3):
+      subtree: add an install-html target
+      contacts: add a Makefile to generate docs and install
+      gitk: Do not depend on Cygwin's "kill" command on Windows
+
+Sergey Organov (1):
+      Documentation/git-rebase.txt: document when --fork-point is auto-enabled
+
+Sergey Senozhatsky (1):
+      compat-util: add _DEFAULT_SOURCE define
+
+Stefan Beller (12):
+      remote.c: don't leak the base branch name in format_tracking_info
+      clone.c: don't leak memory in cmd_clone
+      prepare_revision_walk(): check for return value in all places
+      builtin/blame.c: add translation to warning about failed revision walk
+      mailsplit.c: remove dead code
+      help: fix the size passed to qsort
+      t9300-fast-import: fix typo in test description
+      t6031-test-merge-recursive: do not forget to add file to be committed
+      merge-recursive: fix copy-paste mistake
+      merge-recursive: remove stale commented debugging code
+      transport: free leaking head in transport_print_push_status()
+      .mailmap: add Stefan Bellers corporate mail address
+
+Steffen Prohaska (8):
+      convert: drop arguments other than 'path' from would_convert_to_git()
+      config.c: add git_env_ulong() to parse environment variable
+      memory_limit: use git_env_ulong() to parse GIT_ALLOC_LIMIT
+      mmap_limit: introduce GIT_MMAP_LIMIT to allow testing expected mmap size
+      copy_fd(): do not close the input file descriptor
+      convert: stream from fd to required clean filter to reduce used address space
+      Documentation: use single-parameter --cacheinfo in example
+      sha1_file: don't convert off_t to size_t too early to avoid potential die()
+
+Sveinung Kvilhaugsvik (1):
+      git-svn.txt: advertise pushurl with dcommit
+
+Tanay Abhra (24):
+      add `config_set` API for caching config-like files
+      test-config: add tests for the config_set API
+      pretty.c: make git_pretty_formats_config return -1 on git_config_string failure
+      add line number and file name info to `config_set`
+      change `git_config()` return value to void
+      config: add `git_die_config()` to the config-set API
+      rewrite git_config() to use the config-set API
+      add a test for semantic errors in config files
+      add tests for `git_config_get_string_const()`
+      daemon.c: replace `git_config()` with `git_config_get_bool()` family
+      http-backend.c: replace `git_config()` with `git_config_get_bool()` family
+      read-cache.c: replace `git_config()` with `git_config_get_*()` family
+      archive.c: replace `git_config()` with `git_config_get_bool()` family
+      fetchpack.c: replace `git_config()` with `git_config_get_*()` family
+      rerere.c: replace `git_config()` with `git_config_get_*()` family
+      builtin/gc.c: replace `git_config()` with `git_config_get_*()` family
+      pager.c: replace `git_config()` with `git_config_get_value()`
+      imap-send.c: replace `git_config()` with `git_config_get_*()` family
+      alias.c: replace `git_config()` with `git_config_get_string()`
+      branch.c: replace `git_config()` with `git_config_get_string()
+      fast-import.c: replace `git_config()` with `git_config_get_*()` family
+      ll-merge.c: refactor `read_merge_config()` to use `git_config_string()`
+      merge-recursive.c: replace `git_config()` with `git_config_get_int()`
+      builtin/apply.c: replace `git_config()` with `git_config_get_string_const()`
+
+Thomas Braun (2):
+      pretty: note that %cd respects the --date= option
+      completion: Add --ignore-blank-lines for diff
+
+Tony Finch (2):
+      imap-send: clarify CRAM-MD5 vs LOGIN documentation
+      imap-send: create target mailbox if it is missing
+
+Torsten Bögershausen (2):
+      t0027: Tests for core.eol=native, eol=lf, eol=crlf
+      core.filemode may need manual action
+
+W. Trevor King (2):
+      pre-push.sample: Write error message to stderr
+      t1304: Set LOGNAME even if USER is unset or null
+
+brian m. carlson (8):
+      archive: honor tar.umask even for pax headers
+      imap-send doc: omit confusing "to use imap-send" modifier
+      Documentation: adjust document title underlining
+      Documentation: fix mismatched delimiters in git-imap-send
+      Documentation: move some AsciiDoc parameters into variables
+      Documentation: implement linkgit macro for Asciidoctor
+      Documentation: refactor common operations into variables
+      Documentation: remove Asciidoctor linkgit macro
+
+
+Version v2.1.4; changes since v2.1.3:
+-------------------------------------
+
+Ben North (1):
+      gitignore.txt: fix spelling of "backslash"
+
+Jeff King (9):
+      docs/credential-store: s/--store/--file/
+      unpack-trees: propagate errors adding entries to the index
+      read-tree: add tests for confusing paths like ".." and ".git"
+      verify_dotfile(): reject .git case-insensitively
+      t1450: refactor ".", "..", and ".git" fsck tests
+      fsck: notice .git case-insensitively
+      utf8: add is_hfs_dotgit() helper
+      read-cache: optionally disallow HFS+ .git variants
+      fsck: complain about HFS+ ".git" aliases in trees
+
+Johannes Schindelin (3):
+      path: add is_ntfs_dotgit() helper
+      read-cache: optionally disallow NTFS .git variants
+      fsck: complain about NTFS ".git" aliases in trees
+
+Junio C Hamano (4):
+      Git 1.8.5.6
+      Git 1.9.5
+      Git 2.0.5
+      Git 2.1.4
+
+Nicolas Dermine (1):
+      config.txt: fix typo
+
+René Scharfe (1):
+      clean: use f(void) instead of f() to declare a pointer to a function without arguments
+
+Thomas Quinot (1):
+      Documentation/config.txt: fix minor typo
+
+
+Version v2.1.3; changes since v2.1.2:
+-------------------------------------
+
+David Aguilar (1):
+      mergetools/meld: make usage of `--output` configurable and more robust
+
+Eric Sunshine (1):
+      mailinfo: work around -Wstring-plus-int warning
+
+Jeff King (2):
+      mailinfo: make ">From" in-body header check more robust
+      pack-objects: turn off bitmaps when we split packs
+
+Junio C Hamano (1):
+      Git 2.1.3
+
+René Scharfe (3):
+      daemon: handle gethostbyname() error
+      daemon: fix error message after bind()
+      daemon: remove write-only variable maxfd
+
+Roland Mas (1):
+      gitweb: use start_form, not startform that was removed in CGI.pm 4.04
+
+Wieland Hoffmann (1):
+      git-tag.txt: Add a missing hyphen to `-s`
+
+brian m. carlson (1):
+      Documentation: fix misrender of pretty-formats in Asciidoctor
+
+
+Version v2.1.2; changes since v2.1.1:
+-------------------------------------
+
+Jeff King (5):
+      send-pack: take refspecs over stdin
+      index-pack: fix race condition with duplicate bases
+      fsck: exit with non-zero status upon error from fsck_obj()
+      config: avoid a funny sentinel value "a^"
+      fsck: return non-zero status on missing ref tips
+
+Junio C Hamano (1):
+      Git 2.1.2
+
+Max Kirillov (1):
+      reachable.c: add HEAD to reachability starting commits
+
+Maxim Bublis (2):
+      t9300: test filedelete command
+      fast-import: fix segfault in store_tree()
+
+Phillip Sz (2):
+      l10n: de.po: change Email to E-Mail
+      l10n: de.po: use comma before "um"
+
+Ralf Thielow (1):
+      po/TEAMS: add new member to German translation team
+
+Sergey Organov (2):
+      Documentation/git-rebase.txt: -f forces a rebase that would otherwise be a no-op
+      Documentation/git-rebase.txt: <upstream> must be given to specify <branch>
+
+Tanay Abhra (1):
+      make config --add behave correctly for empty and NULL values
+
+
+Version v2.1.1; changes since v2.1.0:
+-------------------------------------
+
+Alex Henrie (2):
+      l10n: Add Catalan translation
+      po/TEAMS: Add Catalan team
+
+Alexander Shopov (3):
+      l10n: Updated Bulgarian translation of git (2228t,0f,0u)
+      l10n: Updated Bulgarian translation of git (2247t,0f,0u)
+      l10n: Updated Bulgarian translation of git (2257t,0f,0u)
+
+Edward Thomson (1):
+      upload-pack: keep poll(2)'s timeout to -1
+
+Jean-Noël Avila (1):
+      l10n: fr.po (2257t) update for version 2.1.0
+
+Jeff King (10):
+      revision: drop useless string offset when parsing "--pretty"
+      pretty: treat "--format=" as an empty userformat
+      pretty: make empty userformats truly empty
+      pack-objects: turn off bitmaps when we see --shallow lines
+      Makefile: make perf tests optional for profile build
+      intersect_paths: respect mode in git's tree-sort
+      pack-refs: prune top-level refs like "refs/foo"
+      fast-import: clean up pack_data pointer in end_packfile
+      fast-import: fix buffer overflow in dump_tags
+      git-prompt: do not look for refs/stash in $GIT_DIR
+
+Jiang Xin (2):
+      l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)
+      l10n: zh_CN: translations for git v2.1.0-rc0
+
+Jonathan Nieder (2):
+      unpack-trees: use 'cuddled' style for if-else cascade
+      checkout -m: attempt merge when deletion of path was staged
+
+Junio C Hamano (5):
+      config: teach "git -c" to recognize an empty string
+      apply: use the right attribute for paths in non-Git patches
+      apply: hoist use_patch() helper for path exclusion up
+      apply: omit ws check for excluded paths
+      Git 2.1.1
+
+Lukas Fleischer (1):
+      bundle: fix exclusion of annotated tags
+
+Nguyễn Thái Ngọc Duy (2):
+      fetch: convert argv_gc_auto to struct argv_array
+      fetch: silence git-gc if --quiet is given
+
+Peter Krefting (2):
+      l10n: Fix more typos in the Swedish translations
+      l10n: sv.po: Update Swedish translation (2257t0f0u)
+
+Ralf Thielow (4):
+      l10n: de.po: fix typo
+      l10n: de.po: improve message when switching branches
+      l10n: de.po: translate 38 new messages
+      po/TEAMS: add new members to German translation team
+
+René Scharfe (1):
+      read-cache: check for leading symlinks when refreshing index
+
+Shawn O. Pearce (1):
+      Document LF appearing in shallow command during send-pack/receive-pack
+
+Stefan Beller (1):
+      unpack-trees: simplify 'all other failures' case
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2257t): Update translation
+
+
+Version v2.1.0; changes since v2.1.0-rc2:
+-----------------------------------------
+
+Alexander Shopov (1):
+      gitk: Updated Bulgarian translation (302t,0f,0u)
+
+Johannes Sixt (1):
+      tests: fix negated test_i18ngrep calls
+
+Junio C Hamano (1):
+      Git 2.1
+
+Max Kirillov (1):
+      gitk: Add keybinding to switch to parent commit
+
+
+Version v2.1.0-rc2; changes since v2.1.0-rc1:
+---------------------------------------------
+
+Junio C Hamano (2):
+      RelNotes: no more check_ref_format micro-optimization
+      Git 2.1-rc2
+
+Marc Branchaud (1):
+      Release notes: grammatical fixes
+
+Stefan Beller (1):
+      various contrib: Fix links in man pages
+
+
+Version v2.1.0-rc1; changes since v2.1.0-rc0:
+---------------------------------------------
+
+Fabian Ruch (1):
+      commit --amend: test specifies authorship but forgets to check
+
+Jeff King (14):
+      receive-pack: don't copy "dir" parameter
+      free ref string returned by dwim_ref
+      transport: fix leaks in refs_from_alternate_cb
+      fix memory leak parsing core.commentchar
+      apply: avoid possible bogus pointer
+      alloc: write out allocator definitions
+      move setting of object->type to alloc_* functions
+      parse_object_buffer: do not set object type
+      add object_as_type helper for casting objects
+      alloc: factor out commit index
+      object_as_type: set commit index
+      diff-tree: avoid lookup_unknown_object
+      t1402: check for refs ending with a dot
+      t4013: test diff-tree's --stdin commit formatting
+
+Johannes Schindelin (1):
+      MinGW: Skip test redirecting to fd 4
+
+John Keeping (3):
+      completion: complete "unstuck" `git push --recurse-submodules`
+      completion: add some missing options to `git push`
+      completion: complete `git push --force-with-lease=`
+
+Junio C Hamano (6):
+      t9814: fix misconversion from test $a -o $b to test $a || test $b
+      Revert "Merge branch 'dt/refs-check-refname-component-sse-fix'"
+      Revert "Merge branch 'dt/refs-check-refname-component-sse'"
+      Git 2.0.4
+      Update draft release notes to 2.1
+      Git 2.1.0-rc1
+
+Karsten Blees (16):
+      Revert "Windows: teach getenv to do a case-sensitive search"
+      Win32: Unicode environment (outgoing)
+      Win32: Unicode environment (incoming)
+      Win32: fix environment memory leaks
+      Win32: unify environment case-sensitivity
+      Win32: unify environment function names
+      Win32: factor out environment block creation
+      Win32: don't copy the environment twice when spawning child processes
+      Win32: reduce environment array reallocations
+      Win32: use low-level memory allocation during initialization
+      Win32: keep the environment sorted
+      Win32: patch Windows environment on startup
+      Win32: enable color output in Windows cmd.exe
+      t0110/MinGW: skip tests that pass arbitrary bytes on the command line
+      MinGW: disable legacy encoding tests
+      t800[12]: work around MSys limitation
+
+Pat Thoyts (3):
+      tests: do not pass iso8859-1 encoded parameter
+      t4210: skip command-line encoding tests on mingw
+      t9902: mingw-specific fix for gitfile link files
+
+Ramsay Jones (1):
+      alloc.c: remove the alloc_raw_commit_node() function
+
+Tanay Abhra (1):
+      add documentation for writing config files
+
+Tony Finch (1):
+      git-push: fix link in man page
+
+
+Version v2.1.0-rc0; changes since v2.0.5:
+-----------------------------------------
+
+Anders Kaseorg (1):
+      gitk: Allow displaying time zones from author and commit dates timestamps
+
+Andi Kleen (4):
+      Use BASIC_FLAGS for profile feedback
+      Don't define away __attribute__ on gcc
+      Run the perf test suite for profile feedback too
+      Fix profile feedback with -jN and add profile-fast
+
+Andreas Schwab (1):
+      grep: add grep.fullName config variable
+
+Brian Gesiak (2):
+      strbuf: use _rtrim and _ltrim in strbuf_trim
+      api-strbuf.txt: add docs for _trim and _ltrim
+
+Cezary Zawadka (1):
+      Windows: allow using UNC path for git repository
+
+Charles Bailey (1):
+      Fix contrib/subtree Makefile to patch #! line
+
+Christian Couder (16):
+      replace: make sure --edit results in a different object
+      replace: refactor checking ref validity
+      replace: die early if replace ref already exists
+      replace: add tests for --edit
+      replace: add --edit to usage string
+      Documentation: replace: describe new --edit option
+      commit: add for_each_mergetag()
+      replace: cleanup redirection style in tests
+      replace: add --graft option
+      replace: add test for --graft
+      Documentation: replace: add --graft option
+      contrib: add convert-grafts-to-replace-refs.sh
+      replace: remove signature when using --graft
+      replace: add test for --graft with signed commit
+      replace: check mergetags when using --graft
+      replace: add test for --graft with a mergetag
+
+Dan Albert (1):
+      imap-send: use git-credential
+
+David Aguilar (3):
+      gitk: Honor TMPDIR when viewing external diffs
+      gitk: Use mktemp -d to avoid predictable temporary directories
+      gitk: Catch mkdtemp errors
+
+David Kastrup (2):
+      blame: large-scale performance rewrite
+      Bump core.deltaBaseCacheLimit to 96m
+
+David Turner (5):
+      docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP
+      refs.c: optimize check_refname_component()
+      refs.c: SSE2 optimizations for check_refname_component
+      refs.c: handle REFNAME_REFSPEC_PATTERN at end of page
+      refs: fix valgrind suppression file
+
+Elia Pinto (61):
+      t9365-continuing-queries.sh: use the $( ... ) construct for command substitution
+      test-gitmw-lib.sh: use the $( ... ) construct for command substitution
+      t7900-subtree.sh: use the $( ... ) construct for command substitution
+      appp.sh: use the $( ... ) construct for command substitution
+      git-pull.sh: use the $( ... ) construct for command substitution
+      git-rebase--merge.sh: use the $( ... ) construct for command substitution
+      git-rebase.sh: use the $( ... ) construct for command substitution
+      git-stash.sh: use the $( ... ) construct for command substitution
+      git-web--browse.sh: use the $( ... ) construct for command substitution
+      lib-credential.sh: use the $( ... ) construct for command substitution
+      lib-cvs.sh: use the $( ... ) construct for command substitution
+      lib-gpg.sh: use the $( ... ) construct for command substitution
+      p5302-pack-index.sh: use the $( ... ) construct for command substitution
+      t0001-init.sh: use the $( ... ) construct for command substitution
+      t0010-racy-git.sh: use the $( ... ) construct for command substitution
+      t0020-crlf.sh: use the $( ... ) construct for command substitution
+      t0025-crlf-auto.sh: use the $( ... ) construct for command substitution
+      t0026-eol-config.sh: use the $( ... ) construct for command substitution
+      t0030-stripspace.sh: use the $( ... ) construct for command substitution
+      t0300-credentials.sh: use the $( ... ) construct for command substitution
+      t1000-read-tree-m-3way.sh: use the $( ... ) construct for command substitution
+      t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution
+      t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitution
+      t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitution
+      t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitution
+      t1020-subdirectory.sh: use the $( ... ) construct for command substitution
+      t1050-large.sh: use the $( ... ) construct for command substitution
+      t3905-stash-include-untracked.sh: use the $( ... ) construct for command substitution
+      t3910-mac-os-precompose.sh: use the $( ... ) construct for command substitution
+      t4006-diff-mode.sh: use the $( ... ) construct for command substitution
+      t4010-diff-pathspec.sh: use the $( ... ) construct for command substitution
+      t4012-diff-binary.sh: use the $( ... ) construct for command substitution
+      t4013-diff-various.sh: use the $( ... ) construct for command substitution
+      t4014-format-patch.sh: use the $( ... ) construct for command substitution
+      t4036-format-patch-signer-mime.sh: use the $( ... ) construct for command substitution
+      t4038-diff-combined.sh: use the $( ... ) construct for command substitution
+      t4057-diff-combined-paths.sh: use the $( ... ) construct for command substitution
+      t4116-apply-reverse.sh: use the $( ... ) construct for command substitution
+      t4119-apply-config.sh: use the $( ... ) construct for command substitution
+      t4204-patch-id.sh: use the $( ... ) construct for command substitution
+      t5000-tar-tree.sh: use the $( ... ) construct for command substitution
+      check_bindir: avoid "test <cond> -a/-o <cond>"
+      contrib/examples/git-clone.sh: avoid "test <cond> -a/-o <cond>"
+      contrib/examples/git-commit.sh: avoid "test <cond> -a/-o <cond>"
+      contrib/examples/git-merge.sh: avoid "test <cond> -a/-o <cond>"
+      contrib/examples/git-repack.sh: avoid "test <cond> -a/-o <cond>"
+      contrib/examples/git-resolve.sh: avoid "test <cond> -a/-o <cond>"
+      git-bisect.sh: avoid "test <cond> -a/-o <cond>"
+      git-mergetool.sh: avoid "test <cond> -a/-o <cond>"
+      git-rebase--interactive.sh: avoid "test <cond> -a/-o <cond>"
+      t/lib-httpd.sh: avoid "test <cond> -a/-o <cond>"
+      t/t0025-crlf-auto.sh: avoid "test <cond> -a/-o <cond>"
+      t/t0026-eol-config.sh: avoid "test <cond> -a/-o <cond>"
+      t/t4102-apply-rename.sh: avoid "test <cond> -a/-o <cond>"
+      t/t5000-tar-tree.sh: avoid "test <cond> -a/-o <cond>"
+      t/t5403-post-checkout-hook.sh: avoid "test <cond> -a/-o <cond>"
+      t/t5538-push-shallow.sh: avoid "test <cond> -a/-o <cond>"
+      t/t9814-git-p4-rename.sh: avoid "test <cond> -a/-o <cond>"
+      t/test-lib-functions.sh: avoid "test <cond> -a/-o <cond>"
+      git-submodule.sh: avoid "test <cond> -a/-o <cond>"
+      submodule.c: use the ARRAY_SIZE macro
+
+Ephrim Khong (1):
+      sha1_file: do not add own object directory as alternate
+
+Eric Wong (1):
+      config: preserve config file permissions on edits
+
+Erik Faye-Lund (1):
+      send-email: recognize absolute path on Windows
+
+Fabian Ruch (1):
+      sequencer: signal failed ff as an aborted, not a conflicted merge
+
+Felipe Contreras (12):
+      fast-export: improve argument parsing
+      fast-export: add new --refspec option
+      transport-helper: add support for old:new refspec
+      transport-helper: add support to push symbolic refs
+      fast-import: add support to delete refs
+      fast-export: add support to delete refs
+      transport-helper: add support to delete branches
+      transport-helper: remove unnecessary strbuf resets
+      mergetools: add vimdiff3 mode
+      mergetool: run prompt only if guessed tool
+      merge: enable defaulttoupstream by default
+      silence a bunch of format-zero-length warnings
+
+Ilya Bobyr (4):
+      test-lib: document short options in t/README
+      test-lib: tests skipped by GIT_SKIP_TESTS say so
+      test-lib: '--run' to run only specific tests
+      gitk: Replace SHA1 entry field on keyboard paste
+
+Jacob Keller (2):
+      tag: fix --sort tests to use cat<<-\EOF format
+      tag: support configuring --sort via .gitconfig
+
+James Denholm (6):
+      contrib/subtree/Makefile: scrap unused $(gitdir)
+      contrib/subtree/Makefile: use GIT-VERSION-FILE
+      contrib/subtree/Makefile: s/libexecdir/gitexecdir/
+      contrib/subtree/Makefile: clean up rules to generate documentation
+      contrib/subtree/Makefile: clean up rule for "clean"
+      contrib/subtree: allow adding an annotated tag
+
+Jason St. John (1):
+      Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues
+
+Jean-Jacques Lafay (1):
+      git tag --contains: avoid stack overflow
+
+Jeff King (97):
+      run_external_diff: use an argv_array for the environment
+      run_external_diff: clean up error handling
+      run_external_diff: drop fflush(NULL)
+      run_external_diff: hoist common bits out of conditional
+      run_external_diff: refactor cmdline setup logic
+      t3910: show failure of core.precomposeunicode with decomposed filenames
+      replace: refactor command-mode determination
+      replace: use OPT_CMDMODE to handle modes
+      replace: factor object resolution out of replace_object
+      replace: add --edit option
+      commit: use split_ident_line to compare author/committer
+      pretty: make show_ident_date public
+      commit: print "Date" line when the user has set date
+      commit: accept more date formats for "--date"
+      inline constant return from error() function
+      let clang use the constant-return error() macro
+      grep: use run-command's "dir" option for --open-files-in-pager
+      t/lib-httpd: require SANITY prereq
+      run-command: store an optional argv_array
+      run_column_filter: use argv_array
+      git_connect: use argv_array
+      get_helper: use run-command's internal argv_array
+      get_exporter: use argv_array
+      get_importer: use run-command's internal argv_array
+      argv-array: drop "detach" code
+      format-patch: make newline after signature conditional
+      daemon/config: factor out duplicate xstrdup_tolower
+      test-lib: preserve GIT_CURL_VERBOSE from the environment
+      t/lib-httpd: use write_script to copy CGI scripts
+      t5550: test display of remote http error messages
+      strbuf: add strbuf_tolower function
+      http: extract type/subtype portion of content-type
+      http: optionally extract charset parameter from content-type
+      strbuf: add strbuf_reencode helper
+      remote-curl: reencode http error messages
+      http: default text charset to iso-8859-1
+      error_resolve_conflict: rewrap advice message
+      error_resolve_conflict: drop quotations around operation
+      pack-objects: stop respecting pack.writebitmaps
+      repack: simplify handling of --write-bitmap-index
+      repack: introduce repack.writeBitmaps config option
+      t7700: drop explicit --no-pack-kept-objects from .keep test
+      parse_diff_color_slot: drop ofs parameter
+      daemon: mark some strings as const
+      avoid using skip_prefix as a boolean
+      strbuf: add xstrfmt helper
+      use xstrfmt in favor of manual size calculations
+      use xstrdup instead of xmalloc + strcpy
+      use xstrfmt to replace xmalloc + sprintf
+      use xstrfmt to replace xmalloc + strcpy/strcat
+      setup_git_env: use git_pathdup instead of xmalloc + sprintf
+      sequencer: use argv_array_pushf
+      merge: use argv_array when spawning merge strategy
+      walker_fetch: fix minor memory leak
+      unique_path: fix unlikely heap overflow
+      refactor skip_prefix to return a boolean
+      apply: use skip_prefix instead of raw addition
+      fast-import: fix read of uninitialized argv memory
+      transport-helper: avoid reading past end-of-string
+      use skip_prefix to avoid magic numbers
+      use skip_prefix to avoid repeating strings
+      fast-import: use skip_prefix for parsing input
+      daemon: use skip_prefix to avoid magic numbers
+      stat_opt: check extra strlen call
+      fast-import: refactor parsing of spaces
+      fetch-pack: refactor parsing in get_ack
+      git: avoid magic number with skip_prefix
+      use skip_prefix to avoid repeated calculations
+      http-push: refactor parsing of remote object names
+      setup_git_env(): introduce git_path_from_env() helper
+      replace: replace spaces with tabs in indentation
+      avoid double close of descriptors handed to run_command
+      replace: use argv_array in export_object
+      replace: add a --raw mode for --edit
+      add strip_suffix function
+      implement ends_with via strip_suffix
+      replace has_extension with ends_with
+      use strip_suffix instead of ends_with in simple cases
+      index-pack: use strip_suffix to avoid magic numbers
+      strbuf: implement strbuf_strip_suffix
+      verify-pack: use strbuf_strip_suffix
+      prepare_packed_git_one: refactor duplicate-pack check
+      remote-curl: do not complain on EOF from parent git
+      remote-curl: use error instead of fprintf(stderr)
+      remote-curl: mark helper-protocol errors more clearly
+      tag: use skip_prefix instead of magic numbers
+      alloc: write out allocator definitions
+      move setting of object->type to alloc_* functions
+      parse_object_buffer: do not set object type
+      add object_as_type helper for casting objects
+      alloc: factor out commit index
+      object_as_type: set commit index
+      diff-tree: avoid lookup_unknown_object
+      prio-queue: factor out compare and swap operations
+      prio-queue: make output stable with respect to insertion
+      paint_down_to_common: use prio_queue
+      t5539: update a flaky test
+
+Jens Lehmann (19):
+      git-gui: show staged submodules regardless of ignore config
+      git-gui: tolerate major version changes when comparing the git version
+      gitk: Show staged submodules regardless of ignore config
+      test-lib: add test_dir_is_empty()
+      t/Makefile: check helper scripts for non-portable shell commands too
+      t/Makefile: always test all lint targets when running tests
+      submodules: add the lib-submodule-update.sh test library
+      checkout: call the new submodule update test framework
+      apply: add t4137 for submodule updates
+      read-tree: add t1013 for submodule updates
+      reset: add t7112 for submodule updates
+      bisect: add t6041 for submodule updates
+      merge: add t7613 for submodule updates
+      rebase: add t3426 for submodule updates
+      pull: add t5572 for submodule updates
+      cherry-pick: add t3512 for submodule updates
+      am: add t4255 for submodule updates
+      stash: add t3906 for submodule updates
+      revert: add t3513 for submodule updates
+
+Jeremiah Mahler (4):
+      format-patch: add "--signature-file=<file>" option
+      t9138-git-svn-authors-prog.sh fixups
+      name-hash.c: replace cache_name_compare() with memcmp(3)
+      cleanup duplicate name_compare() functions
+
+Johannes Schindelin (1):
+      Win32: let mingw_execve() return an int
+
+John Keeping (2):
+      rebase--am: use --cherry-pick instead of --ignore-if-in-upstream
+      rebase: omit patch-identical commits with --fork-point
+
+Jonathan Nieder (4):
+      contrib: remove vim support instructions
+      contrib: remove git-diffall
+      test-lint: find unportable sed, echo, test, and export usage after &&
+      test doc: test_write_lines does not split its arguments
+
+Junio C Hamano (37):
+      send-email: windows drive prefix (e.g. C:) appears only at the beginning
+      mergetool: document the default for --[no-]prompt
+      CodingGuidelines: once it is in, it is not worth the code churn
+      CodingGuidelines: give an example for case/esac statement
+      CodingGuidelines: give an example for redirection
+      CodingGuidelines: give an example for control statements
+      CodingGuidelines: give an example for shell function preamble
+      CodingGuidelines: do not call the conditional statement "if()"
+      CodingGuidelines: on comparison
+      CodingGuidelines: on splitting a long line
+      CodingGuidelines: avoid "test <cond> -a/-o <cond>"
+      fetch doc: update introductory part for clarity
+      fetch doc: update note on '+' in front of the refspec
+      fetch doc: remove notes on outdated "mixed layout"
+      First batch for 2.1
+      fetch doc: on pulling multiple refspecs
+      fetch doc: update refspec format description
+      fetch doc: remove "short-cut" section
+      fetch doc: add a section on configured remote-tracking branches
+      fetch: allow explicit --refmap to override configuration
+      Second batch for 2.1
+      Update draft release notes to 2.1
+      test: turn EXPENSIVE into a lazy prerequisite
+      test: turn USR_BIN_TIME into a lazy prerequisite
+      t3302: coding style updates
+      t3302: do not chdir around in the primary test process
+      t3302: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite
+      t3419: drop unnecessary NOT_EXPENSIVE pseudo-prerequisite
+      Third batch for 2.1
+      git-submodule.sh: avoid "echo" path-like values
+      Fourth batch for 2.1
+      Fifth batch for 2.1
+      Sixth batch for 2.1
+      Seventh batch for 2.1
+      Eighth batch for 2.1
+      Ninth batch for 2.1
+      Git 2.1.0-rc0
+
+Karsten Blees (46):
+      MSVC: link dynamically to the CRT
+      Win32 dirent: remove unused dirent.d_ino member
+      Win32 dirent: remove unused dirent.d_reclen member
+      Win32 dirent: change FILENAME_MAX to MAX_PATH
+      Win32 dirent: clarify #include directives
+      Win32 dirent: improve dirent implementation
+      Win32: move main macro to a function
+      Win32: support Unicode console output
+      Win32: detect console streams more reliably
+      Win32: warn if the console font doesn't support Unicode
+      Win32: add Unicode conversion functions
+      Win32: Thread-safe windows console output
+      Win32: fix broken pipe detection
+      Win32: reliably detect console pipe handles
+      Win32: simplify internal mingw_spawn* APIs
+      Win32: fix potential multi-threading issue
+      MinGW: disable CRT command line globbing
+      Win32: Unicode arguments (outgoing)
+      Win32: Unicode arguments (incoming)
+      trace: move trace declarations from cache.h to new trace.h
+      trace: consistently name the format parameter
+      trace: remove redundant printf format attribute
+      symlinks: remove PATH_MAX limitation
+      hashmap: factor out getting a hash code from a SHA1
+      hashmap: improve struct hashmap member documentation
+      hashmap: add simplified hashmap_get_from_hash() API
+      hashmap: add string interning API
+      cache.h: rename cache_def_free to cache_def_clear
+      trace: improve trace performance
+      Documentation/git.txt: improve documentation of 'GIT_TRACE*' variables
+      sha1_file: change GIT_TRACE_PACK_ACCESS logging to use trace API
+      trace: add infrastructure to augment trace output with additional info
+      trace: disable additional trace output for unit tests
+      trace: add current timestamp to all trace output
+      trace: move code around, in preparation to file:line output
+      trace: add 'file:line' to all trace output
+      trace: add high resolution timer function to debug performance issues
+      trace: add trace_performance facility to debug performance issues
+      git: add performance tracing for git's main() function to debug scripts
+      wt-status: simplify performance measurement by using getnanotime()
+      progress: simplify performance measurement by using getnanotime()
+      api-trace.txt: add trace API documentation
+      Win32: Unicode file name support (except dirent)
+      Win32: Unicode file name support (dirent)
+      MinGW: fix compile error due to missing ELOOP
+      config: use chmod() instead of fchmod()
+
+Kirill Smelkov (20):
+      combine-diff: move show_log_first logic/action out of paths scanning
+      combine-diff: move changed-paths scanning logic into its own function
+      tree-diff: no need to manually verify that there is no mode change for a path
+      tree-diff: no need to pass match to skip_uninteresting()
+      tree-diff: show_tree() is not needed
+      tree-diff: consolidate code for emitting diffs and recursion in one place
+      tree-diff: don't assume compare_tree_entry() returns -1,0,1
+      tree-diff: move all action-taking code out of compare_tree_entry()
+      tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
+      tree-diff: show_path prototype is not needed anymore
+      tree-diff: simplify tree_entry_pathcmp
+      tree-diff: remove special-case diff-emitting code for empty-tree cases
+      tree-diff: diff_tree() should now be static
+      tree-diff: rework diff_tree interface to be sha1 based
+      tree-diff: no need to call "full" diff_tree_sha1 from show_path()
+      tree-diff: reuse base str(buf) memory on sub-tree recursion
+      Portable alloca for Git
+      tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
+      combine-diff: speed it up, by using multiparent diff tree-walker directly
+      mingw: activate alloca
+
+Linus Torvalds (1):
+      git log: support "auto" decorations
+
+Luis R. Rodriguez (1):
+      git.c: treat RUN_SETUP_GENTLY and RUN_SETUP as mutually exclusive
+
+Marc Branchaud (2):
+      fetch doc: move FETCH_HEAD material lower and add an example
+      docs: Explain the purpose of fetch's and pull's <refspec> parameter.
+
+Matthieu Moy (3):
+      git-remote-mediawiki: allow stop/start-ing the test server
+      git-remote-mediawiki: fix encoding issue for UTF-8 media files
+      pager: remove 'S' from $LESS by default
+
+Max Kirillov (4):
+      gitk: Switch to patch mode when searching for line origin
+      gitk: Add visiblerefs option, which lists always-shown branches
+      t6023-merge-file.sh: fix and mark as broken invalid tests
+      git-merge-file: do not add LF at EOF while applying unrelated change
+
+Maxime Coste (2):
+      git-p4: Do not include diff in spec file when just preparing p4
+      git-p4: fix submit in non --prepare-p4-only mode
+
+Michael Barabanov (1):
+      use local cloning if insteadOf makes a local URL
+
+Michael Haggerty (27):
+      t1400: fix name and expected result of one test
+      t1400: provide more usual input to the command
+      parse_arg(): really test that argument is properly terminated
+      t1400: add some more tests involving quoted arguments
+      refs.h: rename the action_on_err constants
+      update_refs(): fix constness
+      update-ref --stdin: read the whole input at once
+      parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
+      update-ref.c: extract a new function, parse_refname()
+      update-ref --stdin: improve error messages for invalid values
+      update-ref --stdin: make error messages more consistent
+      update-ref --stdin: simplify error messages for missing oldvalues
+      t1400: test that stdin -z update treats empty <newvalue> as zeros
+      update-ref.c: extract a new function, parse_next_sha1()
+      update-ref --stdin -z: deprecate interpreting the empty string as zeros
+      t1400: test one mistake at a time
+      update-ref --stdin: improve the error message for unexpected EOF
+      update-ref --stdin: harmonize error messages
+      refs: add a concept of a reference transaction
+      update-ref --stdin: reimplement using reference transactions
+      refs: remove API function update_refs()
+      struct ref_update: rename field "ref_name" to "refname"
+      struct ref_update: store refname as a FLEX_ARRAY
+      ref_transaction_commit(): simplify code using temporary variables
+      struct ref_update: add a lock field
+      struct ref_update: add a type field
+      ref_transaction_commit(): work with transaction->updates in place
+
+Michael J Gruber (5):
+      gpg-interface: provide clear helper for struct signature_check
+      gpg-interface: provide access to the payload
+      verify-commit: scriptable commit signature verification
+      t7510: exit for loop with test result
+      t7510: test verify-commit
+
+Michael S. Tsirkin (6):
+      git-send-email: two new options: to-cover, cc-cover
+      test/send-email: to-cover, cc-cover tests
+      rebase --keep-empty -i: add test
+      test: add test_write_lines helper
+      patch-id: make it stable against hunk reordering
+      patch-id-test: test stable and unstable behaviour
+
+Nguyễn Thái Ngọc Duy (38):
+      ewah: fix constness of ewah_read_mmap
+      ewah: delete unused ewah_read_mmap_native declaration
+      sequencer: do not update/refresh index if the lock cannot be held
+      config: be strict on core.commentChar
+      commit: allow core.commentChar=auto for character auto selection
+      git potty: restore environments after alias expansion
+      read-cache: new API write_locked_index instead of write_index/write_cache
+      read-cache: relocate and unexport commit_locked_index()
+      read-cache: store in-memory flags in the first 12 bits of ce_flags
+      read-cache: be strict about "changed" in remove_marked_cache_entries()
+      read-cache: be specific what part of the index has changed
+      update-index: be specific what part of the index has changed
+      resolve-undo: be specific what part of the index has changed
+      unpack-trees: be specific what part of the index has changed
+      cache-tree: mark istate->cache_changed on cache tree invalidation
+      cache-tree: mark istate->cache_changed on cache tree update
+      cache-tree: mark istate->cache_changed on prime_cache_tree()
+      entry.c: update cache_changed if refresh_cache is set in checkout_entry()
+      read-cache: save index SHA-1 after reading
+      read-cache: split-index mode
+      read-cache: mark new entries for split index
+      read-cache: save deleted entries in split index
+      read-cache: mark updated entries for split index
+      split-index: the writing part
+      split-index: the reading part
+      split-index: do not invalidate cache-tree at read time
+      split-index: strip pathname of on-disk replaced entries
+      update-index: new options to enable/disable split index mode
+      update-index --split-index: do not split if $GIT_DIR is read only
+      rev-parse: add --shared-index-path to get shared index path
+      read-tree: force split-index mode off on --index-output
+      read-tree: note about dropping split-index mode or index version
+      read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
+      t2104: make sure split index mode is off for the version test
+      t1700: new tests for split-index mode
+      dir.c: coding style fix
+      dir.h: move struct exclude declaration to top level
+      prep_exclude: remove the artificial PATH_MAX limit
+
+Pat Thoyts (2):
+      wincred: add install target
+      wincred: avoid overwriting configured variables
+
+Ramsay Jones (2):
+      t0000-*.sh: fix the GIT_SKIP_TESTS sub-tests
+      alloc.c: remove the alloc_raw_commit_node() function
+
+René Scharfe (22):
+      Use starts_with() for C strings instead of memcmp()
+      blame: factor out get_next_line()
+      blame: simplify prepare_lines()
+      wt-status: use argv_array for environment
+      wt-status: simplify building of summary limit argument
+      sha1_file: replace PATH_MAX buffer with strbuf in prepare_packed_git_one()
+      t5000, t5003: simplify commit
+      diff-tree: call free_commit_list() instead of duplicating its code
+      line-log: use commit_list_append() instead of duplicating its code
+      use strbuf_addbuf for adding strbufs
+      use strbuf_addch for adding single characters
+      merge: simplify merge_trivial() by using commit_list_append()
+      commit: use commit_list_append() instead of duplicating its code
+      fsck: simplify fsck_commit_buffer() by using commit_list_count()
+      strbuf: use strbuf_addstr() for adding C strings
+      use commit_list_count() to count the members of commit_lists
+      run-command: use internal argv_array of struct child_process in run_hook_ve()
+      transport: simplify fetch_objs_via_rsync() using argv_array
+      fast-import: use hashcmp() for SHA1 hash comparison
+      bundle: use internal argv_array of struct child_process in create_bundle()
+      remote-testsvn: use internal argv_array of struct child_process in cmd_import()
+      unix-socket: remove stale socket before calling chdir()
+
+RomanBelinsky (1):
+      SVN.pm::parse_svn_date: allow timestamps with a single-digit hour
+
+Ronnie Sahlberg (26):
+      sequencer.c: check for lock failure and bail early in fast_forward_to
+      commit.c: check for lock error and return early
+      refs.c: add new functions reflog_exists and delete_reflog
+      checkout.c: use ref_exists instead of file_exist
+      refs.c: change read_ref_at to use the reflog iterators
+      enums: remove trailing ',' after last item in enum
+      refs.c: remove ref_transaction_rollback
+      refs.c: ref_transaction_commit should not free the transaction
+      refs.c: constify the sha arguments for ref_transaction_create|delete|update
+      refs.c: allow passing NULL to ref_transaction_free
+      refs.c: add a strbuf argument to ref_transaction_commit for error logging
+      lockfile.c: add a new public function unable_to_lock_message
+      lockfile.c: make lock_file return a meaningful errno on failurei
+      refs.c: add an err argument to repack_without_refs
+      refs.c: make sure log_ref_setup returns a meaningful errno
+      refs.c: verify_lock should set errno to something meaningful
+      refs.c: make remove_empty_directories always set errno to something sane
+      refs.c: commit_packed_refs to return a meaningful errno on failure
+      refs.c: make resolve_ref_unsafe set errno to something meaningful on error
+      refs.c: log_ref_write should try to return meaningful errno
+      refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
+      refs.c: make update_ref_write update a strbuf on failure
+      update-ref: use err argument to get error from ref_transaction_commit
+      refs.c: remove the onerr argument to ref_transaction_commit
+      refs.c: change ref_transaction_update() to do error checking and return status
+      refs.c: add a public is_branch function
+
+Stefan Beller (1):
+      .mailmap: map different names with the same email address together
+
+Steffen Prohaska (1):
+      completion: handle '!f() { ... }; f' and "!sh -c '...' -" aliases
+
+Stepan Kasal (2):
+      Revert "submodules: fix ambiguous absolute paths under Windows"
+      mingw: avoid const warning
+
+Stephen P. Smith (1):
+      How to keep a project's canonical history correct.
+
+Steve Hoelzer (1):
+      environment.c: enable core.preloadindex by default
+
+Tanay Abhra (4):
+      string-list: spell all values out that are given to a string_list initializer
+      imap-send: use skip_prefix instead of using magic numbers
+      string-list: add string_list initializer helper function
+      replace memset with string-list initializers
+
+Theodore Leblond (1):
+      compat/poll: sleep 1 millisecond to avoid busy wait
+
+Thorsten Glaser (1):
+      builtin/tag.c: show tag name to hint in the message editor
+
+Torsten Bögershausen (7):
+      utf8.c: use a table for double_width
+      utf8: make it easier to auto-update git_wcwidth()
+      t5551: fix the 50,000 tag test
+      t9001: avoid non-portable '\n' with sed
+      Update of unicode_width.h to Unicode Version 7.0
+      t0025: rename the test files
+      t0027: combinations of core.autocrlf, core.eol and text
+
+Trần Ngọc Quân (1):
+      l10n: Init Vietnamese translation
+
+W. Trevor King (1):
+      Documentation: mention config sources for @{upstream}
+
+William Giokas (1):
+      svn-fe: conform to pep8
+
+Yi EungJun (1):
+      http: fix charset detection of extract_content_type()
+
+Øyvind A. Holm (1):
+      .gitignore: "git-verify-commit" is a generated file
+
+
+Version v2.0.5; changes since v2.0.4:
+-------------------------------------
+
+Jeff King (8):
+      unpack-trees: propagate errors adding entries to the index
+      read-tree: add tests for confusing paths like ".." and ".git"
+      verify_dotfile(): reject .git case-insensitively
+      t1450: refactor ".", "..", and ".git" fsck tests
+      fsck: notice .git case-insensitively
+      utf8: add is_hfs_dotgit() helper
+      read-cache: optionally disallow HFS+ .git variants
+      fsck: complain about HFS+ ".git" aliases in trees
+
+Johannes Schindelin (3):
+      path: add is_ntfs_dotgit() helper
+      read-cache: optionally disallow NTFS .git variants
+      fsck: complain about NTFS ".git" aliases in trees
+
+Junio C Hamano (3):
+      Git 1.8.5.6
+      Git 1.9.5
+      Git 2.0.5
+
+Wieland Hoffmann (1):
+      git-tag.txt: Add a missing hyphen to `-s`
+
+
+Version v2.0.4; changes since v2.0.3:
+-------------------------------------
+
+Fabian Ruch (1):
+      commit --amend: test specifies authorship but forgets to check
+
+Jeff King (8):
+      alloc: write out allocator definitions
+      move setting of object->type to alloc_* functions
+      parse_object_buffer: do not set object type
+      add object_as_type helper for casting objects
+      alloc: factor out commit index
+      object_as_type: set commit index
+      diff-tree: avoid lookup_unknown_object
+      t4013: test diff-tree's --stdin commit formatting
+
+Junio C Hamano (1):
+      Git 2.0.4
+
+Ramsay Jones (1):
+      alloc.c: remove the alloc_raw_commit_node() function
+
+
+Version v2.0.3; changes since v2.0.2:
+-------------------------------------
+
+Abbaad Haider (1):
+      http-push.c: make CURLOPT_IOCTLDATA a usable pointer
+
+Ben Walton (1):
+      compat/bswap.h: fix endianness detection
+
+Brian Gesiak (12):
+      builtin/ls-remote.c: rearrange xcalloc arguments
+      builtin/remote.c: rearrange xcalloc arguments
+      commit.c: rearrange xcalloc arguments
+      config.c: rearrange xcalloc arguments
+      diff.c: rearrange xcalloc arguments
+      http-push.c: rearrange xcalloc arguments
+      imap-send.c: rearrange xcalloc arguments
+      notes.c: rearrange xcalloc arguments
+      pack-revindex.c: rearrange xcalloc arguments
+      reflog-walk.c: rearrange xcalloc arguments
+      remote.c: rearrange xcalloc arguments
+      transport-helper.c: rearrange xcalloc arguments
+
+Charles Bailey (2):
+      compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER
+      filter-branch: eliminate duplicate mapped parents
+
+Elia Pinto (1):
+      scripts: "export VAR=VALUE" construct is not portable
+
+Jeremiah Mahler (3):
+      Documentation: wording fixes in the user manual and glossary
+      t/t7810-grep.sh: remove duplicate test_config()
+      api-strbuf.txt minor typos
+
+Johannes Sixt (1):
+      fix brown paper bag breakage in t5150-request-pull.sh
+
+Jonathan McCrohan (1):
+      git-instaweb: add support for Apache 2.4
+
+Junio C Hamano (3):
+      compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
+      scripts: more "export VAR=VALUE" fixes
+      Git 2.0.3
+
+Michael J Gruber (1):
+      log: correctly identify mergetag signature verification status
+
+Philip Oakley (1):
+      doc: give some guidelines for error messages
+
+René Scharfe (2):
+      use xcalloc() to allocate zero-initialized memory
+      use xmemdupz() to allocate copies of strings given by start and length
+
+Stefan Beller (2):
+      git.1: switch homepage for stats
+      .mailmap: combine Stefan Beller's emails
+
+Stepan Kasal (1):
+      t5000, t5003: do not use test_cmp to compare binary files
+
+Yi EungJun (1):
+      http-protocol.txt: Basic Auth is defined in RFC 2617, not RFC 2616
+
+Zoltan Klinger (1):
+      log: fix indentation for --graph --show-signature
+
+brian m. carlson (1):
+      Documentation: fix missing text for rev-parse --verify
+
+
+Version v2.0.2; changes since v2.0.1:
+-------------------------------------
+
+Jeff King (27):
+      repack: do not accidentally pack kept objects by default
+      repack: respect pack.writebitmaps
+      repack: s/write_bitmap/&s/ in code
+      commit_tree: take a pointer/len pair rather than a const strbuf
+      replace dangerous uses of strbuf_attach
+      alloc: include any-object allocations in alloc_report
+      commit: push commit_index update into alloc_commit_node
+      do not create "struct commit" with xcalloc
+      logmsg_reencode: return const buffer
+      sequencer: use logmsg_reencode in get_message
+      provide a helper to free commit buffer
+      provide a helper to set the commit buffer
+      provide helpers to access the commit buffer
+      use get_cached_commit_buffer where appropriate
+      use get_commit_buffer to avoid duplicate code
+      convert logmsg_reencode to get_commit_buffer
+      use get_commit_buffer everywhere
+      commit-slab: provide a static initializer
+      commit: convert commit->buffer to a slab
+      commit: record buffer length in cache
+      reuse cached commit buffer when parsing signatures
+      t7510: stop referring to master in later tests
+      t7510: test a commit signed by an unknown key
+      t7510: check %G* pretty-format output
+      pretty: avoid reading past end-of-string with "%G"
+      move "%G" format test from t7510 to t6006
+      t7300: repair filesystem permissions with test_when_finished
+
+Junio C Hamano (4):
+      t0008: do not depend on 'echo' handling backslashes specially
+      builtin/clone.c: detect a clone starting at a tag correctly
+      Start preparing for 2.0.2
+      Git 2.0.2
+
+Matthew Chen (1):
+      submodule: document "sync --recursive"
+
+Michael J Gruber (1):
+      t7510: use consistent &&-chains in loop
+
+Pasha Bolokhov (1):
+      dir.c:trim_trailing_spaces(): fix for " \ " sequence
+
+René Scharfe (2):
+      sha1_file: avoid overrunning alternate object base string
+      annotate: use argv_array
+
+Ronnie Sahlberg (1):
+      enums: remove trailing ',' after last item in enum
+
+brian m. carlson (1):
+      rebase--merge: fix --skip with two conflicts in a row
+
+
+Version v2.0.1; changes since v2.0.0:
+-------------------------------------
+
+Alexey Shumkin (5):
+      t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
+      t4041, t4205, t6006, t7102: don't hardcode tested encoding value
+      t4205 (log-pretty-format): use `tformat` rather than `format`
+      t4205, t6006: add tests that fail with i18n.logOutputEncoding set
+      pretty.c: format string with truncate respects logOutputEncoding
+
+David Turner (2):
+      merge-recursive.c: fix case-changing merge bug
+      mv: allow renaming to fix case on case insensitive filesystems
+
+Felipe Contreras (1):
+      rerere: fix for merge.conflictstyle
+
+Jacek Konieczny (1):
+      pull: do not abuse 'break' inside a shell 'case'
+
+Jeff King (7):
+      commit: do not complain of empty messages from -C
+      index-pack: distinguish missing objects from type errors
+      run_diff_files: do not look at uninitialized stat data
+      open_sha1_file: report "most interesting" errno
+      move "--follow needs one pathspec" rule to diff_setup_done
+      t5537: re-drop http tests
+      update-index: fix segfault with missing --cacheinfo argument
+
+Jens Lehmann (2):
+      status/commit: show staged submodules regardless of ignore config
+      commit -m: commit staged submodules regardless of ignore config
+
+Jens Lindström (3):
+      remote rm: delete remote configuration as the last
+      remote: repack packed-refs once when deleting multiple refs
+      remote prune: optimize "dangling symref" check/warning
+
+Jiang Xin (2):
+      blame: fix broken time_buf paddings in relative timestamp
+      blame: dynamic blame_date_width for different locales
+
+Johannes Schindelin (1):
+      git grep -O -i: if the pager is 'less', pass the '-I' option
+
+John Keeping (2):
+      completion: add a note that merge options are shared
+      completion: add missing options for git-merge
+
+Junio C Hamano (5):
+      apply --ignore-space-change: lines with and without leading whitespaces do not match
+      Git 1.9.4
+      shortlog: allow --exclude=<glob> to be passed
+      revision: parse "git log -<count>" more carefully
+      Git 2.0.1
+
+Jörn Engel (1):
+      pager: do allow spawning pager recursively
+
+Matthieu Moy (1):
+      rebase -i: test "Nothing to do" case with autostash
+
+Max Kirillov (1):
+      git-show: fix 'git show -s' to not add extra terminator after merge commit
+
+Michael Naumov (1):
+      sideband.c: do not use ANSI control sequence on non-terminal
+
+Nguyễn Thái Ngọc Duy (2):
+      index-pack: work around thread-unsafe pread()
+      gc --auto: do not lock refs in the background
+
+Nick Alcock (1):
+      t5538: move http push tests out to t5542
+
+Ramkumar Ramachandra (1):
+      rebase -i: handle "Nothing to do" case with autostash
+
+René Scharfe (2):
+      mailinfo: use strcmp() for string comparison
+      pack-objects: use free()+xcalloc() instead of xrealloc()+memset()
+
+Yiannis Marangos (2):
+      wrapper.c: add xpread() similar to xread()
+      read-cache.c: verify index file before we opportunistically update it
+
+brian m. carlson (1):
+      blame: correctly handle files regardless of autocrlf
+
+Øystein Walle (1):
+      config: respect '~' and '~user' in mailmap.file
+
+
+Version v2.0.0; changes since v2.0.0-rc4:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Update draft release notes to 2.0
+      Git 2.0
+
+
+Version v2.0.0-rc4; changes since v2.0.0-rc3:
+---------------------------------------------
+
+Alexander Shopov (1):
+      l10n: Updated Bulgarian translation of git (1307t0f921u)
+
+Anders Kaseorg (1):
+      Documentation/technical/api-hashmap: remove source highlighting
+
+Felipe Contreras (2):
+      contrib: completion: fix 'eread()' namespace
+      contrib: remote-helpers: add move warnings (v2.0)
+
+Grégoire Paris (1):
+      fr: a lot of good fixups
+
+Jason St. John (1):
+      RelNotes/2.0.0.txt: Fix several grammar issues, notably a lack of hyphens, double quotes, or articles
+
+Jens Lehmann (1):
+      git-gui: tolerate major version changes when comparing the git version
+
+Junio C Hamano (5):
+      request-pull: resurrect for-linus -> tags/for-linus DWIM
+      Revert "Merge branch 'fc/transport-helper-sync-error-fix'"
+      remote-helpers: point at their upstream repositories
+      Revert "Merge branch 'jc/graduate-remote-hg-bzr' (early part)"
+      Git 2.0-rc4
+
+Richard Hansen (1):
+      git-prompt.sh: don't assume the shell expands the value of PS1
+
+
+Version v2.0.0-rc3; changes since v2.0.0-rc2:
+---------------------------------------------
+
+Jonathan Nieder (1):
+      shell doc: remove stray "+" in example
+
+Junio C Hamano (4):
+      Update draft release notes for 2.0
+      Start preparing for 1.9.3
+      Git 1.9.3
+      Git 2.0-rc3
+
+Peter Krefting (1):
+      l10n: Fix a couple of typos in the Swedish translation
+
+Tolga Ceylan (1):
+      git-p4: format-patch to diff-tree change breaks binary patches
+
+Øyvind A. Holm (1):
+      RelNotes/2.0.0: Grammar and typo fixes
+
+
+Version v2.0.0-rc2; changes since v2.0.0-rc1:
+---------------------------------------------
+
+Dave Borowitz (1):
+      Makefile: default to -lcurl when no CURL_CONFIG or CURLDIR
+
+Jean-Noël Avila (1):
+      l10n: fr translation for v2.0.0rc0 (2228t)
+
+Jeff King (1):
+      run_external_diff: use an argv_array for the command line
+
+Jiang Xin (2):
+      l10n: git.pot: v2.0.0 round 1 (45 new, 28 removed)
+      l10n: zh_CN.po: translate 46 new messages (2229t0f0u)
+
+Junio C Hamano (2):
+      Revert the whole "ask curl-config" topic for now
+      Git 2.0-rc2
+
+Kyle J. McKay (1):
+      t9117: use --prefix "" instead of --prefix=""
+
+Martin Erik Werner (1):
+      setup: fix windows path buffer over-stepping
+
+Max Kirillov (1):
+      Documentation: git-gui: describe gui.displayuntracked
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2228t0f0u)
+
+Ralf Thielow (3):
+      l10n: de.po: correct translation of "completed" after resolving deltas
+      l10n: de.po: translate 45 new messages
+      l10n: de.po: improve hint for autocorrected command execution
+
+Richard Hansen (1):
+      git-prompt.sh: don't put unsanitized branch names in $PS1
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2228t): Update and minor fix
+
+
+Version v2.0.0-rc1; changes since v2.0.0-rc0:
+---------------------------------------------
+
+Dave Borowitz (2):
+      Makefile: use curl-config to determine curl flags
+      Makefile: allow static linking against libcurl
+
+Elia Pinto (14):
+      howto-index.sh: use the $( ... ) construct for command substitution
+      install-webdoc.sh: use the $( ... ) construct for command substitution
+      git-checkout.sh: use the $( ... ) construct for command substitution
+      git-clone.sh: use the $( ... ) construct for command substitution
+      git-commit.sh: use the $( ... ) construct for command substitution
+      git-fetch.sh: use the $( ... ) construct for command substitution
+      git-ls-remote.sh: use the $( ... ) construct for command substitution
+      git-merge.sh: use the $( ... ) construct for command substitution
+      git-repack.sh: use the $( ... ) construct for command substitution
+      git-resolve.sh: use the $( ... ) construct for command substitution
+      git-revert.sh: use the $( ... ) construct for command substitution
+      git-tag.sh: use the $( ... ) construct for command substitution
+      t9360-mw-to-git-clone.sh: use the $( ... ) construct for command substitution
+      t9362-mw-to-git-utf8.sh: use the $( ... ) construct for command substitution
+
+Felipe Contreras (6):
+      transport-helper: remove barely used xchgline()
+      remote-helpers: make recvline return an error
+      transport-helper: propagate recvline() error pushing
+      transport-helper: trivial cleanup
+      transport-helper: fix sync issue on crashes
+      t5801 (remote-helpers): cleanup environment sets
+
+Jiang Xin (3):
+      i18n: fix uncatchable comments for translators in date.c
+      i18n: remove obsolete comments for translators in diffstat generation
+      i18n: only extract comments marked with "TRANSLATORS:"
+
+Johan Herland (1):
+      Git 2.0: git svn: Set default --prefix='origin/' if --prefix is not given
+
+Junio C Hamano (3):
+      i18n: mention "TRANSLATORS:" marker in Documentation/CodingGuidelines
+      Update draft release notes to 2.0
+      Git 2.0-rc1
+
+Kyle J. McKay (3):
+      rebase: avoid non-function use of "return" on FreeBSD
+      Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
+      ewah_bitmap.c: do not assume size_t and eword_t are the same size
+
+
+Version v2.0.0-rc0; changes since v1.9.5:
+-----------------------------------------
+
+Adam (1):
+      branch.c: install_branch_config: simplify if chain
+
+Albert L. Lash, IV (4):
+      docs/merge-strategies: remove hyphen from mis-merges
+      docs/git-remote: capitalize first word of initial blurb
+      docs/git-clone: clarify use of --no-hardlinks option
+      docs/git-blame: explain more clearly the example pickaxe use
+
+Andrew Keller (1):
+      gitweb: Avoid overflowing page body frame with large images
+
+Astril Hayato (1):
+      Documentation/gitk: document the location of the configulation file
+
+Benoit Sigoure (1):
+      git-compat-util.h: #undef (v)snprintf before #define them
+
+Brian Bourn (2):
+      diff-no-index: rename read_directory()
+      diff-no-index: replace manual "."/".." check with is_dot_or_dotdot()
+
+Brian Gesiak (3):
+      t3200-branch: test setting branch as own upstream
+      branch: use skip_prefix() in install_branch_config()
+      rebase: allow "-" short-hand for the previous branch
+
+Charles Bailey (2):
+      dir.c: make git_fnmatch() not inline
+      tests: don't rely on strerror text when testing rmdir failure
+
+Chris Angelico (1):
+      config.txt: third-party tools may and do use their own variables
+
+Chris Packham (2):
+      Documentation/git-am: Document supported --patch-format options
+      Documentation/git-am: typofix
+
+Christian Couder (1):
+      strbuf: remove prefixcmp() and suffixcmp()
+
+David Aguilar (2):
+      pull: add pull.ff configuration
+      pull: add --ff-only to the help text
+
+David Kastrup (6):
+      builtin/blame.c: struct blame_entry does not need a prev link
+      builtin/blame.c: eliminate same_suspect()
+      builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
+      blame.c: prepare_lines should not call xrealloc for every line
+      builtin/blame.c::find_copy_in_blob: no need to scan for region end
+      skip_prefix(): scan prefix only once
+
+David Tran (1):
+      tests: use "env" to run commands with temporary env-var settings
+
+Dirk Wallenstein (1):
+      doc: status, remove leftover statement about '#' prefix
+
+Dmitry Marakasov (1):
+      configure.ac: link with -liconv for locale_charset()
+
+Dmitry S. Dolzhenko (15):
+      commit.c: use the generic "sha1_pos" function for lookup
+      builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
+      bundle.c: use ALLOC_GROW() in add_to_ref_list()
+      cache-tree.c: use ALLOC_GROW() in find_subtree()
+      commit.c: use ALLOC_GROW() in register_commit_graft()
+      diff.c: use ALLOC_GROW()
+      diffcore-rename.c: use ALLOC_GROW()
+      patch-ids.c: use ALLOC_GROW() in add_commit()
+      replace_object.c: use ALLOC_GROW() in register_replace_object()
+      reflog-walk.c: use ALLOC_GROW()
+      dir.c: use ALLOC_GROW() in create_simplify()
+      attr.c: use ALLOC_GROW() in handle_attr_line()
+      builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
+      read-cache.c: use ALLOC_GROW() in add_index_entry()
+      sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
+
+Elia Pinto (9):
+      bisect.c: reduce scope of variable
+      builtin/apply.c: reduce scope of variables
+      builtin/blame.c: reduce scope of variables
+      builtin/clean.c: reduce scope of variable
+      builtin/commit.c: reduce scope of variables
+      builtin/fetch.c: reduce scope of variable
+      builtin/gc.c: reduce scope of variables
+      check-builtins.sh: use the $(...) construct for command substitution
+      git-am.sh: use the $(...) construct for command substitution
+
+Eric Sunshine (2):
+      name-hash: retire unused index_name_exists()
+      sh-i18n--envsubst: retire unused string_list_member()
+
+Fabian Ruch (1):
+      add: use struct argv_array in run_add_interactive()
+
+Felipe Contreras (10):
+      transport-helper: mismerge fix
+      transport-helper: don't update refs in dry-run
+      transport-helper: add 'force' to 'export' helpers
+      transport-helper: check for 'forced update' message
+      remote-helpers: allow all tests running from any dir
+      remote-hg: always normalize paths
+      remote-bzr: add support for older versions
+      completion: fix completing args of aliased "push", "fetch", etc.
+      remote-bzr: trivial test fix
+      prompt: fix missing file errors in zsh
+
+Hiroyuki Sano (1):
+      fsck: use bitwise-or assignment operator to set flag
+
+Ilya Bobyr (1):
+      rev-parse --parseopt: option argument name hints
+
+Jacopo Notarstefano (2):
+      git-bisect.sh: fix a few style issues
+      branch.c: delete size check of newly tracked branch names
+
+Jeff King (43):
+      pack-objects: split add_object_entry
+      repack: stop using magic number for ARRAY_SIZE(exts)
+      repack: turn exts array into array-of-struct
+      repack: handle optional files created by pack-objects
+      t: add basic bitmap functionality tests
+      t/perf: add tests for pack bitmaps
+      cat-file: refactor error handling of batch_objects
+      cat-file: fix a minor memory leak in batch_objects
+      do not discard revindex when re-preparing packfiles
+      block-sha1: factor out get_be and put_be wrappers
+      read-cache: use get_be32 instead of hand-rolled ntoh_l
+      tests: auto-set git-daemon port
+      ewah: unconditionally ntohll ewah data
+      tests: turn on network daemon tests by default
+      http: never use curl_easy_perform
+      config: disallow relative include paths from blobs
+      docs: clarify remote restrictions for git-upload-archive
+      CodingGuidelines: mention C whitespace rules
+      repack: add `repack.packKeptObjects` config var
+      docs: mark info/grafts as outdated
+      match_explicit: hoist refspec lhs checks into their own function
+      match_explicit_lhs: allow a "verify only" mode
+      push: detect local refspec errors early
+      cat-file: restore warn_on_object_refname_ambiguity flag
+      rev-list: disable object/refname ambiguity check with --stdin
+      pack-objects: show progress for reused packfiles
+      pack-objects: show reused packfile objects in "Counting objects"
+      pack-objects: turn off bitmaps when skipping objects
+      subtree: initialize "prefix" variable
+      t/Makefile: stop setting GIT_CONFIG
+      t/test-lib: drop redundant unset of GIT_CONFIG
+      t: drop useless sane_unset GIT_* calls
+      t: stop using GIT_CONFIG to cross repo boundaries
+      t: prefer "git config --file" to GIT_CONFIG with test_must_fail
+      t: prefer "git config --file" to GIT_CONFIG
+      t0001: make symlink reinit test more careful
+      t0001: use test_path_is_*
+      t0001: use test_config_global
+      t0001: use test_must_fail
+      t0001: drop useless subshells
+      t0001: drop subshells just for "cd"
+      pack-objects: do not reuse packfiles without --delta-base-offset
+      config.c: mark die_bad_number as NORETURN
+
+Jens Lehmann (2):
+      submodule: don't access the .gitmodules cache entry after removing it
+      submodule update: consistently document the '--checkout' option
+
+Johan Herland (1):
+      notes: disallow reusing non-blob as a note object
+
+Johannes Sixt (11):
+      t0008: skip trailing space test on Windows
+      userdiff: support C++ ->* and .* operators in the word regexp
+      userdiff: support unsigned and long long suffixes of integer constants
+      t4018: an infrastructure to test hunk headers
+      t4018: convert perl pattern tests to the new infrastructure
+      t4018: convert java pattern test to the new infrastructure
+      t4018: convert custom pattern test to the new infrastructure
+      t4018: reduce test files for pattern compilation tests
+      t4018: test cases for the built-in cpp pattern
+      t4018: test cases showing that the cpp pattern misses many anchor points
+      userdiff: have 'cpp' hunk header pattern catch more C++ anchor points
+
+John Keeping (4):
+      notes-utils: handle boolean notes.rewritemode correctly
+      utf8: fix iconv error detection
+      utf8: use correct type for values in interval table
+      builtin/mv: don't use memory after free
+
+John Marshall (1):
+      stash doc: mention short form -k in save description
+
+Jonathan Nieder (3):
+      am doc: add a pointer to relevant hooks
+      .gitignore: test-hashmap is a generated file
+      test-hashmap.c: drop unnecessary #includes
+
+Junio C Hamano (34):
+      git add <pathspec>... defaults to "-A"
+      git add: -u/-A now affects the entire working tree
+      core.statinfo: remove as promised in Git 2.0
+      push: switch default from "matching" to "simple"
+      diff: remove "diff-files -q" in a version of Git in a distant future
+      push: switch default from "matching" to "simple"
+      open_istream(): do not dereference NULL in the error case
+      combine-diff: simplify intersect_paths() further
+      commit-tree: add and document --no-gpg-sign
+      request-pull: pick up tag message as before
+      request-pull: test updates
+      request-pull: resurrect "pretty refname" feature
+      *.sh: drop useless use of "env"
+      tag: grok "--with" as synonym to "--contains"
+      Start preparing for Git 2.0
+      request-pull: documentation updates
+      Update draft release notes to Git 2.0
+      Update draft release notes to Git 2.0
+      Update draft release notes to 2.0
+      t1502: protect runs of SPs used in the indentation
+      parse-options: multi-word argh should use dash to separate words
+      update-index: teach --cacheinfo a new syntax "mode,sha1,path"
+      parse-options: make sure argh string does not have SP or _
+      Update draft release notes to 2.0
+      Update draft release notes to 2.0
+      parse-options: add cast to correct pointer type to OPT_SET_PTR
+      Update draft release notes to 2.0
+      Revert "Merge branch 'wt/doc-submodule-name-path-confusion-2'"
+      Revert "submodule: explicit local branch creation in module_clone"
+      Revert part of 384364b (Start preparing for Git 2.0, 2014-03-07)
+      Update draft release notes to 2.0
+      Update draft release notes to 2.0
+      Update draft release notes for 2.0
+      Git 2.0-rc0
+
+Karsten Blees (14):
+      add a hashtable implementation that supports O(1) removal
+      buitin/describe.c: use new hash map implementation
+      diffcore-rename.c: move code around to prepare for the next patch
+      diffcore-rename.c: simplify finding exact renames
+      diffcore-rename.c: use new hash map implementation
+      name-hash.c: use new hash map implementation for directories
+      name-hash.c: remove unreferenced directory entries
+      name-hash.c: use new hash map implementation for cache entries
+      name-hash.c: remove cache entries instead of marking them CE_UNHASHED
+      remove old hash.[ch] implementation
+      fix 'git update-index --verbose --again' output
+      builtin/update-index.c: cleanup update_one
+      read-cache.c: fix memory leaks caused by removed cache entries
+      hashmap.h: use 'unsigned int' for hash-codes everywhere
+
+Kirill A. Shutemov (3):
+      builtin/config.c: rename check_blob_write() -> check_write()
+      config: change git_config_with_options() interface
+      config: teach "git config --file -" to read from the standard input
+
+Kirill Smelkov (10):
+      tree-diff: allow diff_tree_sha1 to accept NULL sha1
+      tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
+      line-log: convert to using diff_tree_sha1()
+      revision: convert to using diff_tree_sha1()
+      tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
+      diffcore-order: export generic ordering interface
+      diff test: add tests for combine-diff with orderfile
+      combine-diff: optimize combine_diff_path sets intersection
+      combine-diff: combine_diff_path.len is not needed anymore
+      tests: add checking that combine-diff emits only correct paths
+
+Lars Gullik Bjønnes (1):
+      git-contacts: do not fail parsing of good diffs
+
+Linus Torvalds (2):
+      request-pull: more strictly match local/remote branches
+      request-pull: allow "local:remote" to specify names on both ends
+
+Marat Radchenko (5):
+      MSVC: allow linking with the cURL library
+      MSVC: link in invalidcontinue.obj for better POSIX compatibility
+      MSVC: fix t0040-parse-options crash
+      parse-options: remove unused OPT_SET_PTR
+      MSVC: allow using ExtUtils::MakeMaker
+
+Max Horn (2):
+      transport-helper.c: do not overwrite forced bit
+      remote-hg: do not fail on invalid bookmarks
+
+Michael Haggerty (14):
+      rename read_replace_refs to check_replace_refs
+      replace_object: use struct members instead of an array
+      find_pack_entry(): document last_found_pack
+      sha1_file_name(): declare to return a const string
+      sha1_file.c: document a bunch of functions defined in the file
+      Add docstrings for lookup_replace_object() and do_lookup_replace_object()
+      Document some functions defined in object.c
+      cache_tree_find(): remove redundant checks
+      cache_tree_find(): find the end of path component using strchrnul()
+      cache_tree_find(): fix comment formatting
+      cache_tree_find(): remove redundant check
+      cache_tree_find(): remove early return
+      cache_tree_find(): use path variable when passing over slashes
+      git-multimail: update to version 1.0.0
+
+Nguyễn Thái Ngọc Duy (24):
+      count-objects: recognize .bitmap in garbage-checking
+      t7101, t7014: rename test files to indicate what that file is for
+      reset: support "--mixed --intent-to-add" mode
+      daemon: move daemonize() to libgit.a
+      gc: config option for running --auto in background
+      dir: warn about trailing spaces in exclude patterns
+      dir: ignore trailing spaces in exclude patterns
+      wt-status.c: make cut_line[] const to shrink .data section a bit
+      wt-status.c: move cut-line print code out to wt_status_add_cut_line
+      use wildmatch() directly without fnmatch() wrapper
+      Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
+      stop using fnmatch (either native or compat)
+      actually remove compat fnmatch source code
+      sha1_file: fix delta_stack memory leak in unpack_entry
+      i18n: mark all progress lines for translation
+      commit: add --cleanup=scissors
+      tag: support --sort=<spec>
+      strbuf: style fix -- top opening bracket on a separate line
+      upload-pack: send shallow info over stdin to pack-objects
+      connect.c: SP after "}", not TAB
+      object.h: centralize object flag allocation
+      log: add --show-linear-break to help see non-linear history
+      gc --aggressive: make --depth configurable
+      environment.c: fix constness for odb_pack_keep()
+
+Nicolas Vigier (10):
+      cherry-pick, revert: add the --gpg-sign option
+      git-sh-setup.sh: add variable to use the stuck-long mode
+      am: parse options in stuck-long mode
+      am: add the --gpg-sign option
+      rebase: remove useless arguments check
+      rebase: don't try to match -M option
+      rebase: parse options in stuck-long mode
+      rebase: add the --gpg-sign option
+      commit-tree: add the commit.gpgsign option to sign all commits
+      test the commit.gpgsign config option
+
+Ralf Thielow (1):
+      help.c: rename function "pretty_print_string_list"
+
+René Scharfe (13):
+      t7810: add missing variables to tests in loop
+      grep: support -h (no header) with --count
+      t4209: set up expectations up front
+      t4209: factor out helper function test_log()
+      t4209: factor out helper function test_log_icase()
+      t4209: use helper functions to test --grep
+      t4209: use helper functions to test --author
+      pickaxe: honor -i when used with -S and --pickaxe-regex
+      pickaxe: merge diffcore_pickaxe_grep() and diffcore_pickaxe_count() into diffcore_pickaxe()
+      pickaxe: move pickaxe() after pickaxe_match()
+      pickaxe: call strlen only when necessary in diffcore_pickaxe_count()
+      pickaxe: simplify kwset loop in contains()
+      rev-parse: fix typo in example on manpage
+
+Richard Hansen (2):
+      test-hg.sh: tests are now expected to pass
+      remote-bzr: support the new 'force' option
+
+Richard Lowe (1):
+      diffcore.h: be explicit about the signedness of is_binary
+
+Roberto Tyley (1):
+      Documentation: fix documentation AsciiDoc links for external urls
+
+Rohit Mani (1):
+      use strchrnul() in place of strchr() and strlen()
+
+Scott J. Goldman (1):
+      add uploadarchive.allowUnreachable option
+
+Sebastian Schuberth (1):
+      t5510: Do not use $(pwd) when fetching / pushing / pulling via rsync
+
+Simon Ruderich (2):
+      git-config: document interactive.singlekey requires Term::ReadKey
+      git-add--interactive: warn if module for interactive.singlekey is missing
+
+Sun He (3):
+      write_pack_file: use correct variable in diagnostic
+      finish_tmp_packfile():use strbuf for pathname construction
+      Use hashcpy() when copying object names
+
+Sup Yut Sum (1):
+      completion: teach --recurse-submodules to fetch, pull and push
+
+Tanay Abhra (1):
+      commit.c: use skip_prefix() instead of starts_with()
+
+Tay Ray Chuan (1):
+      demonstrate git-commit --dry-run exit code behaviour
+
+Thomas Gummerer (3):
+      introduce GIT_INDEX_VERSION environment variable
+      test-lib: allow setting the index format version
+      read-cache: add index.version config variable
+
+Vicent Marti (16):
+      revindex: export new APIs
+      pack-objects: refactor the packing list
+      pack-objects: factor out name_hash
+      revision: allow setting custom limiter function
+      sha1_file: export `git_open_noatime`
+      compat: add endianness helpers
+      ewah: compressed bitmap implementation
+      documentation: add documentation for the bitmap format
+      pack-bitmap: add support for bitmap indexes
+      pack-objects: use bitmaps when packing objects
+      rev-list: add bitmap mode to speed up object lists
+      pack-objects: implement bitmap writing
+      repack: consider bitmaps when performing repacks
+      pack-bitmap: implement optional name_hash cache
+      ewah: support platforms that require aligned reads
+      add `ignore_missing_links` mode to revwalk
+
+Vlad Dogaru (1):
+      git-p4: explicitly specify that HEAD is a revision
+
+W. Trevor King (6):
+      submodule: make 'checkout' update_module mode more explicit
+      submodule: document module_clone arguments in comments
+      submodule: explicit local branch creation in module_clone
+      Documentation: describe 'submodule update --remote' use case
+      doc: submodule.* config are keyed by submodule names
+      doc: submodule.*.branch config is keyed by name
+
+Yuxuan Shui (2):
+      fsck.c:fsck_ident(): ident points at a const string
+      fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
+
+brian m. carlson (1):
+      pull: add the --gpg-sign option.
+
+dequis (1):
+      remote-bzr: include authors field in pushed commits
+
+Дилян Палаузов (1):
+      Makefile: describe CHARSET_LIB better
+
+
+Version v1.9.5; changes since v1.9.4:
+-------------------------------------
+
+Jeff King (9):
+      t7300: repair filesystem permissions with test_when_finished
+      unpack-trees: propagate errors adding entries to the index
+      read-tree: add tests for confusing paths like ".." and ".git"
+      verify_dotfile(): reject .git case-insensitively
+      t1450: refactor ".", "..", and ".git" fsck tests
+      fsck: notice .git case-insensitively
+      utf8: add is_hfs_dotgit() helper
+      read-cache: optionally disallow HFS+ .git variants
+      fsck: complain about HFS+ ".git" aliases in trees
+
+Johannes Schindelin (3):
+      path: add is_ntfs_dotgit() helper
+      read-cache: optionally disallow NTFS .git variants
+      fsck: complain about NTFS ".git" aliases in trees
+
+Junio C Hamano (2):
+      Git 1.8.5.6
+      Git 1.9.5
+
+René Scharfe (1):
+      annotate: use argv_array
+
+Ronnie Sahlberg (1):
+      enums: remove trailing ',' after last item in enum
+
+Wieland Hoffmann (1):
+      git-tag.txt: Add a missing hyphen to `-s`
+
+brian m. carlson (1):
+      Documentation: fix missing text for rev-parse --verify
+
+
+Version v1.9.4; changes since v1.9.3:
+-------------------------------------
+
+Junio C Hamano (2):
+      t3004: add test for ls-files on symlinks via absolute paths
+      Git 1.9.4
+
+Martin Erik Werner (6):
+      t0060: add test for prefix_path on symlinks via absolute paths
+      t0060: add test for prefix_path when path == work tree
+      t0060: add tests for prefix_path when path begins with work tree
+      setup: add abspath_part_inside_repo() function
+      setup: don't dereference in-tree symlinks for absolute paths
+      setup: fix windows path buffer over-stepping
+
+Richard Hansen (1):
+      git-prompt.sh: don't assume the shell expands the value of PS1
+
+
+Version v1.9.3; changes since v1.9.2:
+-------------------------------------
+
+Jonathan Nieder (1):
+      shell doc: remove stray "+" in example
+
+Junio C Hamano (2):
+      Start preparing for 1.9.3
+      Git 1.9.3
+
+Kyle J. McKay (4):
+      test: fix t7001 cp to use POSIX options
+      test: fix t5560 on FreeBSD
+      rebase: avoid non-function use of "return" on FreeBSD
+      Revert "rebase: fix run_specific_rebase's use of "return" on FreeBSD"
+
+Richard Hansen (1):
+      git-prompt.sh: don't put unsanitized branch names in $PS1
+
+Tolga Ceylan (1):
+      git-p4: format-patch to diff-tree change breaks binary patches
+
+Torsten Bögershausen (1):
+      utf8.c: partially update to version 6.3
+
+
+Version v1.9.2; changes since v1.9.1:
+-------------------------------------
+
+Aman Gupta (1):
+      update-ref: fail create operation over stdin if ref already exists
+
+Benoit Pierre (7):
+      merge hook tests: fix missing '&&' in test
+      merge hook tests: use 'test_must_fail' instead of '!'
+      test patch hunk editing with "commit -p -m"
+      commit: fix patch hunk editing with "commit -p -m"
+      merge: fix GIT_EDITOR override for commit hook
+      merge hook tests: fix and update tests
+      run-command: mark run_hook_with_custom_index as deprecated
+
+Carlos Martín Nieto (2):
+      fetch: add a failing test for prunning with overlapping refspecs
+      fetch: handle overlaping refspecs on --prune
+
+Jeff King (6):
+      shallow: use stat_validity to check for up-to-date file
+      shallow: automatically clean up shallow tempfiles
+      t/lib-terminal: make TTY a lazy prerequisite
+      shallow: verify shallow file after taking lock
+      date: recognize bogus FreeBSD gmtime output
+      t4212: loosen far-in-future test for AIX
+
+John Keeping (1):
+      builtin/mv: fix out of bounds write
+
+Jonathan Nieder (2):
+      wt-status: extract the code to compute width for labels
+      wt-status: i18n of section labels
+
+Junio C Hamano (8):
+      stash pop: mention we did not drop the stash upon failing to apply
+      wt-status: make full label string to be subject to l10n
+      wt-status: lift the artificual "at least 20 columns" floor
+      index-pack: report error using the correct variable
+      diff-no-index: correctly diagnose error return from diff_opt_parse()
+      Start preparing for 1.9.1
+      Update draft release notes to 1.9.2
+      Git 1.9.2
+
+Justin Lebar (4):
+      Documentation: fix misuses of "nor"
+      contrib: fix misuses of "nor"
+      comments: fix misuses of "nor"
+      code and test: fix misuses of "nor"
+
+Matthieu Moy (1):
+      status: disable translation when --porcelain is used
+
+Michael Haggerty (2):
+      checkout_entry(): use the strbuf throughout the function
+      entry.c: fix possible buffer overflow in remove_subtree()
+
+Ramkumar Ramachandra (1):
+      Documentation/merge-strategies: avoid hyphenated commands
+
+Thomas Ackermann (1):
+      doc/http-backend: missing accent grave in literal mark-up
+
+Uwe Storbeck (2):
+      rebase -i: do not "echo" random user-supplied strings
+      test-lib.sh: do not "echo" caller-supplied strings
+
+brian m. carlson (1):
+      mv: prevent mismatched data when ignoring errors.
+
+
+Version v1.9.1; changes since v1.9.0:
+-------------------------------------
+
+Brad King (4):
+      t3030-merge-recursive: test known breakage with empty work tree
+      read-cache.c: refactor --ignore-missing implementation
+      read-cache.c: extend make_cache_entry refresh flag with options
+      merge-recursive.c: tolerate missing files while refreshing index
+
+David Aguilar (1):
+      difftool: support repositories with .git-files
+
+David Sharp (1):
+      rev-parse: check i before using argv[i] against argc
+
+Jeff King (12):
+      expand_user_path: do not look at NULL path
+      handle_path_include: don't look at NULL value
+      tests: auto-set LIB_HTTPD_PORT from test name
+      t4212: test bogus timestamps with git-log
+      fsck: report integer overflow in author timestamps
+      date: check date overflow against time_t
+      log: handle integer overflow in timestamps
+      log: do not segfault on gmtime errors
+      remote: handle pushremote config in any order
+      show_ident_date: fix tz range check
+      clean: respect pathspecs with "-d"
+      clean: simplify dir/not-dir logic
+
+Junio C Hamano (4):
+      t0003: do not chdir the whole test process
+      check-attr: move to the top of working tree when in non-bare repository
+      t7800: add a difftool test for .git-files
+      Git 1.9.1
+
+Nguyễn Thái Ngọc Duy (17):
+      test: rename http fetch and push test files
+      pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
+      protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
+      protocol-capabilities.txt: document no-done
+      fetch-pack: fix deepen shallow over smart http with no-done cap
+      t5537: move http tests out to t5539
+      reset: optionally setup worktree and refresh index on --mixed
+      pathspec: convert some match_pathspec_depth() to ce_path_match()
+      pathspec: convert some match_pathspec_depth() to dir_path_match()
+      pathspec: rename match_pathspec_depth() to match_pathspec()
+      dir.c: prepare match_pathspec_item for taking more flags
+      match_pathspec: match pathspec "foo/" against directory "foo"
+      pathspec: pass directory indicator to match_pathspec_item()
+      clean: replace match_pathspec() with dir_path_match()
+      clean: use cache_name_is_other()
+      diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
+      diff: do not quit early on stat-dirty files
+
+Sandy Carter (1):
+      i18n: proposed command missing leading dash
+
+Thomas Rast (1):
+      diff: do not reuse_worktree_file for submodules
+
+
+Version v1.9.0; changes since v1.9.0-rc3:
+-----------------------------------------
+
+Jean-Noël Avila (1):
+      l10n: fr: 1.9rc2 2211t
+
+Jiang Xin (3):
+      l10n: git.pot: v1.9 round 2 (1 new)
+      l10n: zh_CN.po: translate 1 new message (2211t0f0u)
+      l10n: zh_CN.po: Disambiguation for rebase
+
+Junio C Hamano (2):
+      Git 1.8.5.5
+      Git 1.9.0
+
+Michael J Gruber (1):
+      release notes: typo fixes
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2211t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: translate 28 new messages
+      l10n: de.po: correct message when hiding commits by craft
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2211t): Updated one new string
+
+
+Version v1.9.0-rc3; changes since v1.9-rc2:
+-------------------------------------------
+
+Adrian Johnson (1):
+      userdiff: update Ada patterns
+
+Junio C Hamano (3):
+      Git 1.8.5.4
+      howto/maintain-git.txt: new version numbering scheme
+      Git 1.9.0-rc3
+
+Nguyễn Thái Ngọc Duy (1):
+      git-tag.txt: <commit> for --contains is optional
+
+Torsten Bögershausen (1):
+      repack.c: rename and unlink pack file if it exists
+
+Øystein Walle (1):
+      Documentation: fix typos in man pages
+
+
+Version v1.9-rc2; changes since v1.9-rc1:
+-----------------------------------------
+
+Alexander Shopov (2):
+      po/TEAMS: Added Bulgarian team
+      l10n: Bulgarian translation of git (222t21f1967u)
+
+Jean-Noël Avila (1):
+      [fr] update french translation 2210/2210
+
+Jiang Xin (3):
+      l10n: git.pot: v1.9 round 1 (27 new, 11 removed)
+      l10n: zh_CN.po: translate 27 messages (2210t0f0u)
+      l10n: remove 2 blank translations on Danish, Dutch
+
+Jonathan Nieder (1):
+      pager test: make fake pager consume all its input
+
+Junio C Hamano (1):
+      Git 1.9-rc2
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2210t0f0u)
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2210t): Updated git-core translation
+
+
+Version v1.9-rc1; changes since v1.9-rc0:
+-----------------------------------------
+
+Alexander Shopov (4):
+      git-gui i18n: Initial glossary in Bulgarian
+      git-gui l10n: Add 29 more terms to glossary
+      git-gui i18n: Added Bulgarian translation
+      gitk: Add Bulgarian translation (304t)
+
+Andy Spencer (1):
+      tree_entry_interesting: match against all pathspecs
+
+Anthony Baire (1):
+      subtree: fix argument validation in add/pull/push
+
+Astril Hayato (1):
+      gitk: Comply with XDG base directory specification
+
+Erik Faye-Lund (2):
+      prefer xwrite instead of write
+      mingw: remove mingw_write
+
+Jeff King (18):
+      fetch-pack: do not filter out one-level refs
+      interpret_branch_name: factor out upstream handling
+      interpret_branch_name: rename "cp" variable to "at"
+      interpret_branch_name: always respect "namelen" parameter
+      interpret_branch_name: avoid @{upstream} past colon
+      interpret_branch_name: find all possible @-marks
+      diff_filespec: reorder dirty_submodule macro definitions
+      diff_filespec: drop funcname_pattern_ident field
+      diff_filespec: drop xfrm_flags field
+      diff_filespec: reorder is_binary field
+      diff_filespec: use only 2 bits for is_binary flag
+      t/perf: time rev-list with UNINTERESTING commits
+      list-objects: only look at cmdline trees with edge_hint
+      repack: fix typo in max-pack-size option
+      repack: make parsed string options const-correct
+      repack: propagate pack-objects options as strings
+      t7501: fix "empty commit" test with NO_PERL
+      t7700: do not use "touch" unnecessarily
+
+Johannes Sixt (1):
+      Makefile: Fix compilation of Windows resource file
+
+John Keeping (3):
+      completion: complete merge-base options
+      completion: handle --[no-]fork-point options to git-rebase
+      Makefile: remove redundant object in git-http{fetch,push}
+
+Jonathan Nieder (3):
+      gitignore doc: add global gitignore to synopsis
+      git-gui: chmod +x po2msg, windows/git-gui.sh
+      gitk: chmod +x po2msg.sh
+
+Junio C Hamano (6):
+      Documentation: exclude irrelevant options from "git pull"
+      Documentation: "git pull" does not have the "-m" option
+      revision: mark contents of an uninteresting tree uninteresting
+      revision: propagate flag bits from tags to pointees
+      Documentation: make it easier to maintain enumerated documents
+      Git 1.9-rc1
+
+Marc Branchaud (1):
+      gitk: Replace "next" and "prev" buttons with down and up arrows
+
+Max Kirillov (2):
+      git-gui: fallback right pane to packed widgets with Tk 8.4
+      gitk: Fix mistype
+
+Michael Haggerty (22):
+      safe_create_leading_directories(): fix format of "if" chaining
+      safe_create_leading_directories(): reduce scope of local variable
+      safe_create_leading_directories(): add explicit "slash" pointer
+      safe_create_leading_directories(): rename local variable
+      safe_create_leading_directories(): split on first of multiple slashes
+      safe_create_leading_directories(): always restore slash at end of loop
+      safe_create_leading_directories(): introduce enum for return values
+      cmd_init_db(): when creating directories, handle errors conservatively
+      safe_create_leading_directories(): add new error value SCLD_VANISHED
+      gitattributes: document more clearly where macros are allowed
+      refname_match(): always use the rules in ref_rev_parse_rules
+      lock_ref_sha1_basic(): on SCLD_VANISHED, retry
+      lock_ref_sha1_basic(): if locking fails with ENOENT, retry
+      remove_dir_recurse(): tighten condition for removing unreadable dir
+      remove_dir_recurse(): handle disappearing files and directories
+      rename_ref(): extract function rename_tmp_log()
+      rename_tmp_log(): handle a possible mkdir/rmdir race
+      rename_tmp_log(): limit the number of remote_empty_directories() attempts
+      rename_tmp_log(): on SCLD_VANISHED, retry
+      safe_create_leading_directories(): on Windows, \ can separate path components
+      Add cross-references between docs for for-each-ref and show-ref
+      doc: remote author/documentation sections from more pages
+
+Nguyễn Thái Ngọc Duy (1):
+      tree-walk.c: ignore trailing slash on submodule in tree_entry_interesting()
+
+Pat Thoyts (1):
+      git-gui 0.19
+
+Paul Mackerras (2):
+      gitk: Update copyright dates
+      gitk: Indent word-wrapped lines in commit display header
+
+Pete Wyckoff (11):
+      git p4 test: wildcards are supported
+      git p4 test: ensure p4 symlink parsing works
+      git p4: work around p4 bug that causes empty symlinks
+      git p4 test: explicitly check p4 wildcard delete
+      git p4 test: is_cli_file_writeable succeeds
+      git p4 test: run as user "author"
+      git p4 test: do not pollute /tmp
+      git p4: handle files with wildcards when doing RCS scrubbing
+      git p4: fix an error message when "p4 where" fails
+      git p4 test: examine behavior with locked (+l) files
+      git p4 doc: use two-line style for options with multiple spellings
+
+Ruben Kerkhof (1):
+      send-email: /etc/ssl/certs/ directory may not be usable as ca_path
+
+Thomas Ackermann (2):
+      create HTML for http-protocol.txt
+      http-protocol.txt: don't use uppercase for variable names in "The Negotiation Algorithm"
+
+Thomas Rast (2):
+      Documentation/gitk: document -L option
+      Documentation: @{-N} can refer to a commit
+
+lin zuojian (1):
+      git-svn: memoize _rev_list and rebuild
+
+
+Version v1.9-rc0; changes since v1.8.5.6:
+-----------------------------------------
+
+Anders Kaseorg (1):
+      submodule foreach: skip eval for more than one argument
+
+Antoine Pelisse (2):
+      Prevent buffer overflows when path is too long
+      remote-hg: test 'shared_path' in a moved clone
+
+Benny Siegert (1):
+      Add MirBSD support to the build system.
+
+Brodie Rao (1):
+      sha1_name: don't resolve refs when core.warnambiguousrefs is false
+
+Carlos Martín Nieto (1):
+      send-pack: don't send a thin pack to a server which doesn't support it
+
+Christian Couder (15):
+      environment: normalize use of prefixcmp() by removing " != 0"
+      builtin/remote: remove postfixcmp() and use suffixcmp() instead
+      strbuf: introduce starts_with() and ends_with()
+      replace {pre,suf}fixcmp() with {starts,ends}_with()
+      rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
+      replace_object: don't check read_replace_refs twice
+      sha1_file.c: add lookup_replace_object_extended() to pass flags
+      sha1_object_info_extended(): add an "unsigned flags" parameter
+      t6050: show that git cat-file --batch fails with replace objects
+      sha1_file: perform object replacement in sha1_object_info_extended()
+      builtin/replace: teach listing using short, medium or full formats
+      t6050: add tests for listing with --format
+      builtin/replace: unset read_replace_refs
+      Documentation/git-replace: describe --format option
+      replace info: rename 'full' to 'long' and clarify in-code symbols
+
+Crestez Dan Leonard (1):
+      git p4: Use git diff-tree instead of format-patch
+
+Felipe Contreras (9):
+      test-lib.sh: convert $TEST_DIRECTORY to an absolute path
+      test-bzr.sh, test-hg.sh: allow running from any dir
+      remote-helpers: add extra safety checks
+      remote-hg: fix 'shared path' path
+      remote-hg: add tests for special filenames
+      abspath: trivial style fix
+      t: trivial whitespace cleanups
+      fetch: add missing documentation
+      remote: fix status with branch...rebase=preserve
+
+Francesco Pretto (1):
+      git-submodule.sh: 'checkout' is a valid update mode
+
+Greg Jacobson (1):
+      push: enhance unspecified push default warning
+
+Jeff King (24):
+      log_tree_diff: die when we fail to parse a commit
+      assume parse_commit checks commit->object.parsed
+      assume parse_commit checks for NULL commit
+      use parse_commit_or_die instead of segfaulting
+      use parse_commit_or_die instead of custom message
+      checkout: do not die when leaving broken detached HEAD
+      sha1write: make buffer const-correct
+      use @@PERL@@ in built scripts
+      http: return curl's AUTHAVAIL via slot_results
+      remote-curl: pass curl slot_results back through run_slot
+      drop support for "experimental" loose objects
+      t5000: simplify gzip prerequisite checks
+      pack-objects: name pack files after trailer hash
+      pack-objects doc: treat output filename as opaque
+      diff.c: fix some recent whitespace style violations
+      builtin/prune.c: use strbuf to avoid having to worry about PATH_MAX
+      do not pretend sha1write returns errors
+      sha1_object_info_extended: provide delta base sha1s
+      cat-file: provide %(deltabase) batch format
+      use distinct username/password for http auth tests
+      t0000: set TEST_OUTPUT_DIRECTORY for sub-tests
+      t0000: simplify HARNESS_ACTIVE hack
+      t0000: drop "known breakage" test
+      t5531: further "matching" fixups
+
+Jens Lehmann (3):
+      submodule update: remove unnecessary orig_flags variable
+      mv: better document side effects when moving a submodule
+      rm: better document side effects when removing a submodule
+
+Johannes Sixt (1):
+      document --exclude option
+
+John Keeping (8):
+      repo-config: remove deprecated alias for "git config"
+      tar-tree: remove deprecated command
+      lost-found: remove deprecated command
+      peek-remote: remove deprecated alias of ls-remote
+      pull: use merge-base --fork-point when appropriate
+      rebase: use reflog to find common base with upstream
+      rebase: fix fork-point with zero arguments
+      pull: suppress error when no remoteref is found
+
+John Murphy (1):
+      git-gui: corrected setup of git worktree under cygwin.
+
+John Szakmeister (1):
+      contrib/git-credential-gnome-keyring.c: small stylistic cleanups
+
+Jonathan Nieder (16):
+      git-remote-mediawiki: do not remove installed files in "clean" target
+      git-remote-mediawiki: honor DESTDIR in "make install"
+      git-remote-mediawiki build: make 'install' command configurable
+      git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
+      Makefile: rebuild perl scripts when perl paths change
+      Makefile: add PERLLIB_EXTRA variable that adds to default perl path
+      mark Windows build scripts executable
+      mark perl test scripts executable
+      mark contributed hooks executable
+      contrib: remove git-p4import
+      test: make FILEMODE a lazy prereq
+      test: replace shebangs with descriptions in shell libraries
+      remove #!interpreter line from shell libraries
+      stop installing git-tar-tree link
+      pager: set LV=-c alongside LESS=FRSX
+      diff test: reading a directory as a file need not error out
+
+Junio C Hamano (17):
+      revision: introduce --exclude=<glob> to tame wildcards
+      merge-base: use OPT_CMDMODE and clarify the command line parsing
+      merge-base: teach "--fork-point" mode
+      rev-list --exclude: tests
+      rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
+      rev-parse: introduce --exclude=<glob> to tame wildcards
+      bundle: use argv-array
+      builtin/push.c: use strbuf instead of manual allocation
+      push: use remote.$name.push as a refmap
+      push: also use "upstream" mapping when pushing a single ref
+      Start 1.9 cycle
+      Update draft release notes to 1.9
+      prune-packed: use strbuf to avoid having to worry about PATH_MAX
+      Update draft release notes to 1.9
+      Update draft release notes to 1.9
+      Update draft release notes to 1.9
+      Git 1.9-rc0
+
+Karsten Blees (1):
+      gitignore.txt: clarify recursive nature of excluded directories
+
+Krzesimir Nowak (4):
+      gitweb: Move check-ref-format code into separate function
+      gitweb: Return 1 on validation success instead of passed input
+      gitweb: Add a feature for adding more branch refs
+      gitweb: Denote non-heads, non-remotes branches
+
+Mads Dørup (1):
+      git-gui: Improve font rendering on retina macbooks
+
+Masanari Iida (1):
+      git-gui: correct spelling errors in comments
+
+Max Kirillov (2):
+      git-gui: Add gui.displayuntracked option
+      git-gui: right half window is paned
+
+Michael Haggerty (26):
+      t5510: use the correct tag name in test
+      t5510: prepare test refs more straightforwardly
+      t5510: check that "git fetch --prune --tags" does not prune branches
+      api-remote.txt: correct section "struct refspec"
+      get_ref_map(): rename local variables
+      builtin/fetch.c: reorder function definitions
+      get_expanded_map(): add docstring
+      get_expanded_map(): avoid memory leak
+      fetch: only opportunistically update references based on command line
+      fetch --tags: fetch tags *in addition to* other stuff
+      fetch --prune: prune only based on explicit refspecs
+      query_refspecs(): move some constants out of the loop
+      builtin/remote.c: reorder function definitions
+      builtin/remote.c:update(): use struct argv_array
+      fetch, remote: properly convey --no-prune options to subprocesses
+      fetch-options.txt: simplify ifdef/ifndef/endif usage
+      git-fetch.txt: improve description of tag auto-following
+      ref_remove_duplicates(): avoid redundant bisection
+      t5536: new test of refspec conflicts when fetching
+      ref_remove_duplicates(): simplify loop logic
+      ref_remote_duplicates(): extract a function handle_duplicate()
+      handle_duplicate(): mark error message for translation
+      fetch: improve the error messages emitted for conflicting refspecs
+      shorten_unambiguous_ref(): introduce a new local variable
+      gen_scanf_fmt(): delete function and use snprintf() instead
+      shorten_unambiguous_ref(): tighten up pointer arithmetic
+
+Nguyễn Thái Ngọc Duy (36):
+      wt-status: take the alignment burden off translators
+      gettext.c: detect the vsnprintf bug at runtime
+      glossary-content.txt: rephrase magic signature part
+      Support pathspec magic :(exclude) and its short form :!
+      pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
+      parse-options: remove OPT_BOOLEAN
+      transport.h: remove send_pack prototype, already defined in send-pack.h
+      remote.h: replace struct extra_have_objects with struct sha1_array
+      send-pack: forbid pushing from a shallow repository
+      clone: prevent --reference to a shallow repository
+      make the sender advertise shallow commits to the receiver
+      connect.c: teach get_remote_heads to parse "shallow" lines
+      shallow.c: extend setup_*_shallow() to accept extra shallow commits
+      shallow.c: the 8 steps to select new commits for .git/shallow
+      shallow.c: steps 6 and 7 to select new commits for .git/shallow
+      fetch-pack.c: move shallow update code out of fetch_pack()
+      fetch-pack.h: one statement per bitfield declaration
+      clone: support remote shallow repository
+      fetch: support fetching from a shallow repository
+      upload-pack: make sure deepening preserves shallow roots
+      fetch: add --update-shallow to accept refs that update .git/shallow
+      receive-pack: reorder some code in unpack()
+      receive/send-pack: support pushing from a shallow clone
+      add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
+      connected.c: add new variant that runs with --shallow-file
+      receive-pack: allow pushes that update .git/shallow
+      send-pack: support pushing to a shallow clone
+      remote-curl: pass ref SHA-1 to fetch-pack as well
+      smart-http: support shallow fetch/clone
+      receive-pack: support pushing to a shallow clone via http
+      send-pack: support pushing from a shallow clone via http
+      clone: use git protocol for cloning shallow repo locally
+      prune: clean .git/shallow after pruning objects
+      git-clone.txt: remove shallow clone limitations
+      commit.c: make "tree" a const pointer in commit_tree*()
+      t5537: fix incorrect expectation in test case 10
+
+Nicolas Vigier (2):
+      Use the word 'stuck' instead of 'sticked'
+      rev-parse --parseopt: add the --stuck-long mode
+
+Pat Thoyts (3):
+      git-gui: added gui.maxrecentrepo to extend the number of remembered repos
+      git-gui: show the maxrecentrepo config option in the preferences dialog
+      git-gui: add menu item to launch a bash shell on Windows.
+
+Paul Mackerras (1):
+      gitk: Tag display improvements
+
+Ramkumar Ramachandra (11):
+      t6300 (for-each-ref): clearly demarcate setup
+      t6300 (for-each-ref): don't hardcode SHA-1 hexes
+      for-each-ref: introduce %(HEAD) asterisk marker
+      for-each-ref: introduce %(upstream:track[short])
+      for-each-ref: introduce %(color:...) for color
+      for-each-ref: avoid color leakage
+      zsh completion: find matching custom bash completion
+      completion: introduce __gitcomp_nl_append ()
+      completion: fix branch.autosetup(merge|rebase)
+      completion: fix remote.pushdefault
+      completion: complete format.coverLetter
+
+Ramsay Jones (2):
+      send-pack.c: mark a file-local function static
+      shallow: remove unused code
+
+Richard Hansen (6):
+      test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
+      test-hg.sh: eliminate 'local' bashism
+      test-hg.sh: avoid obsolete 'test' syntax
+      test-hg.sh: fix duplicate content strings in author tests
+      test-hg.sh: help user correlate verbose output with email test
+      remote-bzr, remote-hg: fix email address regular expression
+
+Roberto Tyley (1):
+      docs: add filter-branch notes on The BFG
+
+Roman Kagan (1):
+      git-svn: workaround for a bug in svn serf backend
+
+Samuel Bronson (3):
+      t4056: add new tests for "git diff -O"
+      diff: let "git diff -O" read orderfile from any file and fail properly
+      diff: add diff.orderfile configuration variable
+
+Sebastian Schuberth (3):
+      git.c: consistently use the term "builtin" instead of "internal command"
+      builtin/help.c: call load_command_list() only when it is needed
+      builtin/help.c: speed up is_git_command() by checking for builtin commands first
+
+Thomas Ackermann (1):
+      user-manual: improve html and pdf formatting
+
+Thomas Gummerer (4):
+      diff: move no-index detection to builtin/diff.c
+      diff: don't read index when --no-index is given
+      diff: add test for --no-index executed outside repo
+      diff: avoid some nesting
+
+Thomas Rast (9):
+      commit-slab: document clear_$slabname()
+      commit-slab: declare functions "static inline"
+      gitk: Support -G option from the command line
+      gitk: Refactor per-line part of getblobdiffline and its support
+      gitk: Split out diff part in $commitinfo
+      gitk: Support showing the gathered inline diffs
+      gitk: Recognize -L option
+      commit-slab: sizeof() the right type in xrealloc
+      config: arbitrary number of matches for --unset and --replace-all
+
+Tom Miller (2):
+      fetch --prune: always print header url
+      fetch --prune: Run prune before fetching
+
+Vasily Makarov (1):
+      get_octopus_merge_bases(): cleanup redundant variable
+
+Zoltan Klinger (1):
+      difftool: display the number of files in the diff queue in the prompt
+
+brian m. carlson (2):
+      remote-curl: fix large pushes with GSSAPI
+      Documentation: document pitfalls with 3-way merge
+
+jcb91 (1):
+      remote-hg: avoid buggy strftime()
+
+
+Version v1.8.5.6; changes since v1.8.5.5:
+-----------------------------------------
+
+Jeff King (9):
+      t7300: repair filesystem permissions with test_when_finished
+      unpack-trees: propagate errors adding entries to the index
+      read-tree: add tests for confusing paths like ".." and ".git"
+      verify_dotfile(): reject .git case-insensitively
+      t1450: refactor ".", "..", and ".git" fsck tests
+      fsck: notice .git case-insensitively
+      utf8: add is_hfs_dotgit() helper
+      read-cache: optionally disallow HFS+ .git variants
+      fsck: complain about HFS+ ".git" aliases in trees
+
+Johannes Schindelin (3):
+      path: add is_ntfs_dotgit() helper
+      read-cache: optionally disallow NTFS .git variants
+      fsck: complain about NTFS ".git" aliases in trees
+
+Junio C Hamano (1):
+      Git 1.8.5.6
+
+René Scharfe (1):
+      annotate: use argv_array
+
+Ronnie Sahlberg (1):
+      enums: remove trailing ',' after last item in enum
+
+Wieland Hoffmann (1):
+      git-tag.txt: Add a missing hyphen to `-s`
+
+brian m. carlson (1):
+      Documentation: fix missing text for rev-parse --verify
+
+
+Version v1.8.5.5; changes since v1.8.5.4:
+-----------------------------------------
+
+Andy Spencer (1):
+      tree_entry_interesting: match against all pathspecs
+
+Jeff King (9):
+      fetch-pack: do not filter out one-level refs
+      interpret_branch_name: factor out upstream handling
+      interpret_branch_name: rename "cp" variable to "at"
+      interpret_branch_name: always respect "namelen" parameter
+      interpret_branch_name: avoid @{upstream} past colon
+      interpret_branch_name: find all possible @-marks
+      repack: fix typo in max-pack-size option
+      repack: make parsed string options const-correct
+      repack: propagate pack-objects options as strings
+
+Junio C Hamano (5):
+      merge-base: separate "--independent" codepath into its own helper
+      merge-base --octopus: reduce the result from get_octopus_merge_bases()
+      revision: mark contents of an uninteresting tree uninteresting
+      revision: propagate flag bits from tags to pointees
+      Git 1.8.5.5
+
+Ruben Kerkhof (1):
+      send-email: /etc/ssl/certs/ directory may not be usable as ca_path
+
+
+Version v1.8.5.4; changes since v1.8.5.3:
+-----------------------------------------
+
+Jens Lehmann (1):
+      commit -v: strip diffs and submodule shortlogs from the commit message
+
+Johannes Schindelin (1):
+      Remove the line length limit for graft files
+
+Johannes Sixt (2):
+      git_connect: remove artificial limit of a remote command
+      git_connect: factor out discovery of the protocol and its parts
+
+Junio C Hamano (4):
+      get_max_fd_limit(): fall back to OPEN_MAX upon getrlimit/sysconf failure
+      Documentation: exclude irrelevant options from "git pull"
+      Documentation: "git pull" does not have the "-m" option
+      Git 1.8.5.4
+
+Nguyễn Thái Ngọc Duy (2):
+      clone,fetch: catch non positive --depth option value
+      add: don't complain when adding empty project root
+
+Roman Kagan (1):
+      git-svn: workaround for a bug in svn serf backend
+
+Thomas Rast (3):
+      send-email: pass Debug to Net::SMTP::SSL::new
+      send-email: --smtp-ssl-cert-path takes an argument
+      send-email: set SSL options through IO::Socket::SSL::set_client_defaults
+
+Torsten Bögershausen (8):
+      t5601: remove clear_ssh, refactor setup_ssh_wrapper
+      t5601: add tests for ssh
+      git fetch-pack: add --diag-url
+      t5500: add test cases for diag-url
+      git fetch: support host:/~repo
+      git_connect(): refactor the port handling for ssh
+      connect.c: refactor url parsing
+      git_connect(): use common return point
+
+brian m. carlson (1):
+      log: properly handle decorations with chained tags
+
+Øystein Walle (1):
+      stash: handle specifying stashes with $IFS
+
+
+Version v1.8.5.3; changes since v1.8.5.2:
+-----------------------------------------
+
+Jeff King (5):
+      rev-parse: correctly diagnose revision errors before "--"
+      rev-parse: be more careful with munging arguments
+      cat-file: pass expand_data to print_object_or_die
+      cat-file: handle --batch format with missing type/size
+      Revert "prompt: clean up strbuf usage"
+
+Johannes Sixt (1):
+      mv: let 'git mv file no-such-dir/' error out on Windows, too
+
+Junio C Hamano (1):
+      Git 1.8.5.3
+
+Kyle J. McKay (1):
+      gc: notice gc processes run by other users
+
+Matthieu Moy (1):
+      mv: let 'git mv file no-such-dir/' error out
+
+Nguyễn Thái Ngọc Duy (1):
+      daemon: be strict at parsing parameters --[no-]informative-errors
+
+Ralf Thielow (1):
+      l10n: de.po: fix translation of 'prefix'
+
+Ramkumar Ramachandra (1):
+      for-each-ref: remove unused variable
+
+Thomas Ackermann (1):
+      pack-heuristics.txt: mark up the file header properly
+
+W. Trevor King (1):
+      Documentation/gitmodules: Only 'update' and 'url' are required
+
+
+Version v1.8.5.2; changes since v1.8.5.1:
+-----------------------------------------
+
+Jason St. John (6):
+      Documentation/git-log: update "--log-size" description
+      Documentation/git-log.txt: mark-up fix and minor rephasing
+      State correct usage of literal examples in man pages in the coding standards
+      Documentation/rev-list-options.txt: fix mark-up
+      Documentation/rev-list-options.txt: fix some grammatical issues and typos
+      Documentation/gitcli.txt: fix double quotes
+
+Jeff King (1):
+      unpack-trees: fix "read-tree -u --reset A B" with conflicted index
+
+Johan Herland (1):
+      sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
+
+Junio C Hamano (4):
+      t1005: reindent
+      t1005: add test for "read-tree --reset -u A B"
+      sha1_loose_object_info(): do not return success on missing object
+      Git 1.8.5.2
+
+Masanari Iida (3):
+      typofixes: fix misspelt comments
+      Documentation/technical/http-protocol.txt: typofixes
+      contrib: typofixes
+
+Michael Haggerty (1):
+      cmd_repack(): remove redundant local variable "nr_packs"
+
+Nguyễn Thái Ngọc Duy (2):
+      diff: restrict pathspec limitations to diff b/f case only
+      glossary-content.txt: fix documentation of "**" patterns
+
+René Scharfe (1):
+      SubmittingPatches: document how to handle multiple patches
+
+Thomas Rast (1):
+      Documentation: revamp git-cherry(1)
+
+Torsten Bögershausen (1):
+      git-fetch-pack uses URLs like git-fetch
+
+
+Version v1.8.5.1; changes since v1.8.5:
+---------------------------------------
+
+Junio C Hamano (3):
+      submodule: do not copy unknown update mode from .gitmodules
+      Git 1.8.4.5
+      Git 1.8.5.1
+
+Nick Townsend (1):
+      ref-iteration doc: add_submodule_odb() returns 0 for success
+
+
+Version v1.8.5; changes since v1.8.5-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.8.5
+
+Richard Hansen (2):
+      remote-hg: don't decode UTF-8 paths into Unicode objects
+      remote-hg: don't decode UTF-8 paths into Unicode objects
+
+
+Version v1.8.5-rc3; changes since v1.8.5-rc2:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "upload-pack: send non-HEAD symbolic refs"
+      Git 1.8.4.4
+      Git 1.8.5-rc3
+
+Marc Branchaud (1):
+      RelNotes: spelling & grammar fixes
+
+Nguyễn Thái Ngọc Duy (1):
+      pathspec: stop --*-pathspecs impact on internal parse_pathspec() uses
+
+Torstein Hegge (1):
+      branch: fix --verbose output column alignment
+
+
+Version v1.8.5-rc2; changes since v1.8.5-rc1:
+---------------------------------------------
+
+Jason St. John (1):
+      Correct word usage of "timezone" in "Documentation" directory
+
+Jean-Noël Avila (1):
+      l10n: fr.po 2194/1294 messages translated
+
+Jiang Xin (2):
+      l10n: git.pot: v1.8.5 round 1 (68 new, 9 removed)
+      l10n: zh_CN.po: translate 68 messages (2194t0f0u)
+
+Junio C Hamano (3):
+      Start preparing for 1.8.4.3
+      Git 1.8.4.3
+      Git 1.8.5-rc2
+
+Karsten Blees (1):
+      gitignore.txt: fix documentation of "**" patterns
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2194t0f0u)
+
+Ralf Thielow (3):
+      po/TEAMS: update Thomas Rast's email address
+      l10n: de.po: translate 68 new messages
+      l10n: de.po: improve error message when pushing to unknown upstream
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2194t): Update and minor fix
+
+
+Version v1.8.5-rc1; changes since v1.8.5-rc0:
+---------------------------------------------
+
+Anders Kaseorg (1):
+      cvsserver: Determinize output to combat Perl 5.18 hash randomization
+
+Antoine Pelisse (1):
+      remote-hg: unquote C-style paths when exporting
+
+Ben Walton (2):
+      Change sed i\ usage to something Solaris' sed can handle
+      Avoid difference in tr semantics between System V and BSD
+
+Felipe Contreras (12):
+      merge: simplify ff-only option
+      t: replace pulls with merges
+      revision: add missing include
+      branch: trivial style fix
+      sha1-name: trivial style cleanup
+      transport-helper: trivial style fix
+      describe: trivial style fixes
+      pretty: trivial style fix
+      revision: trivial style fixes
+      diff: trivial style fix
+      run-command: trivial style fixes
+      setup: trivial style fixes
+
+Jeff King (7):
+      add-interactive: handle unborn branch in patch mode
+      reset: pass real rev name to add--interactive
+      howto: add article on recovering a corrupted object
+      t: provide a perl() function which uses $PERL_PATH
+      t: use perl instead of "$PERL_PATH" where applicable
+      for-each-ref: avoid loading objects to print %(objectname)
+      subtree: add makefile target for html docs
+
+Jens Lehmann (1):
+      mv: Fix spurious warning when moving a file in presence of submodules
+
+Johannes Sixt (4):
+      t5300-pack-object: do not compare binary data using test_cmp
+      Windows: a test_cmp that is agnostic to random LF <> CRLF conversions
+      tests: undo special treatment of CRLF for Windows
+      t3200: do not open a HTML manual page when DEFAULT_MAN_FORMAT is html
+
+Jonathan Nieder (1):
+      t/README: tests can use perl even with NO_PERL
+
+Junio C Hamano (5):
+      doc/pull: clarify the illustrations
+      Update draft release notes to 1.8.5
+      t4015: simplify sed command that is not even seen by sed
+      Update draft release notes to 1.8.5
+      Git 1.8.5-rc1
+
+Kacper Kornet (1):
+      Fix '\%o' for printf from coreutils
+
+Rüdiger Sonderfeld (1):
+      web--browse: Add support for xdg-open
+
+Sitaram Chamarty (1):
+      doc/howto: warn about (dumb)http server document being too old
+
+Stefan Beller (2):
+      refs: remove unused function invalidate_ref_cache
+      cache: remove unused function 'have_git_dir'
+
+Vivien Didelot (2):
+      Documentation: restore a space in unpack-objects usage
+      Documentation: "pack-file" is not literal in unpack-objects
+
+
+Version v1.8.5-rc0; changes since v1.8.4.5:
+-------------------------------------------
+
+Alexandru Juncu (1):
+      git-p4: Fix occasional truncation of symlink contents.
+
+Antoine Pelisse (1):
+      remote-hg: fix path when cloning with tilde expansion
+
+Brad King (8):
+      reset: rename update_refs to reset_refs
+      refs: report ref type from lock_any_ref_for_update
+      refs: factor update_ref steps into helpers
+      refs: factor delete_ref loose ref step into a helper
+      refs: add function to repack without multiple refs
+      refs: add update_refs for multiple simultaneous updates
+      update-ref: support multiple simultaneous updates
+      update-ref: add test cases covering --stdin signature
+
+Brandon Casey (18):
+      sha1_file: introduce close_one_pack() to close packs on fd pressure
+      Don't close pack fd when free'ing pack windows
+      contrib/git-credential-gnome-keyring.c: remove unnecessary pre-declarations
+      contrib/git-credential-gnome-keyring.c: remove unused die() function
+      contrib/git-credential-gnome-keyring.c: *style* use "if ()" not "if()" etc.
+      contrib/git-credential-gnome-keyring.c: add static where applicable
+      contrib/git-credential-gnome-keyring.c: exit non-zero when called incorrectly
+      contrib/git-credential-gnome-keyring.c: strlen() returns size_t, not ssize_t
+      contrib/git-credential-gnome-keyring.c: ensure buffer is non-empty before accessing
+      contrib/git-credential-gnome-keyring.c: set Gnome application name
+      contrib/git-credential-gnome-keyring.c: use gnome helpers in keyring_object()
+      contrib/git-credential-gnome-keyring.c: use secure memory functions for passwds
+      contrib/git-credential-gnome-keyring.c: use secure memory for reading passwords
+      contrib/git-credential-gnome-keyring.c: use glib memory allocation functions
+      contrib/git-credential-gnome-keyring.c: use glib messaging functions
+      contrib/git-credential-gnome-keyring.c: report failure to store password
+      contrib/git-credential-gnome-keyring.c: support ancient gnome-keyring
+      contrib/git-credential-gnome-keyring.c: support really ancient gnome-keyring
+
+Brian Gernhardt (3):
+      Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
+      OS X: Fix redeclaration of die warning
+      t5551: Remove header from curl cookie file
+
+Christian Couder (7):
+      replace: forbid replacing an object with one of a different type
+      Documentation/replace: state that objects must be of the same type
+      t6050-replace: test that objects are of the same type
+      t6050-replace: add test to clean up all the replace refs
+      Documentation/replace: add Creating Replacement Objects section
+      replace: allow long option names
+      t6050-replace: use some long option names
+
+Dale R. Worley (2):
+      t0070: test that git_mkstemps correctly checks return value of open()
+      diff --no-index: clarify operation when not inside a repository
+
+Dave Borowitz (1):
+      http: add http.savecookies option to write out HTTP cookies
+
+Dave Williams (1):
+      check-ignore: Add option to ignore index contents
+
+Eric Sunshine (36):
+      t8001/t8002: blame: decompose overly-large test
+      t8001/t8002: blame: demonstrate -L bounds checking bug
+      t8001/t8002: blame: add empty file & partial-line tests
+      blame: fix -L bounds checking bug
+      t4211: log: demonstrate -L bounds checking bug
+      t4211: retire soon-to-be unimplementable tests
+      log: fix -L bounds checking bug
+      t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
+      blame: reject empty ranges -LX,+0 and -LX,-0
+      t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
+      blame: reject empty ranges -L,+0 and -L,-0
+      git-log.txt: place each -L option variation on its own line
+      line-range-format.txt: clarify -L:regex usage form
+      range-set: publish API for re-use by git-blame -L
+      blame: inline one-line function into its lone caller
+      blame: accept multiple -L ranges
+      t8001/t8002: blame: add tests of multiple -L options
+      blame: document multiple -L support
+      line-range: teach -L/RE/ to search relative to anchor point
+      blame: teach -L/RE/ to search from end of previous -L range
+      log: teach -L/RE/ to search from end of previous -L range
+      line-range-format.txt: document -L/RE/ relative search
+      line-range: teach -L^/RE/ to search from start of file
+      line-range: teach -L:RE to search from end of previous -L range
+      line-range: teach -L^:RE to search from start of file
+      t8001/t8002: blame: add tests of -L line numbers less than 1
+      line-range: reject -L line numbers less than 1
+      contacts: validate hunk length earlier
+      contacts: gather all blame sources prior to invoking git-blame
+      contacts: reduce git-blame invocations
+      name-hash: refactor polymorphic index_name_exists()
+      employ new explicit "exists in index?" API
+      name-hash: stop storing trailing '/' on paths in index_state.dir_hash
+      dir: revert work-around for retired dangerous behavior
+      t7508: avoid non-portable sed expression
+      contacts: fix to work in subdirectories
+
+Eric Wong (1):
+      http: enable keepalive on TCP sockets
+
+Felipe Contreras (26):
+      remote-hg: ensure shared repo is initialized
+      remote-hg: add shared repo upgrade
+      unpack-trees: plug a memory leak
+      remote-bzr: fix export of utf-8 authors
+      remote-bzr: make bzr branches configurable per-repo
+      remote-hg: fix test
+      remote-hg: add missing &&s in the test
+      remote-hg: improve basic test
+      remote-helpers: trivial style fixes
+      remote-helpers: cleanup more global variables
+      remote-hg: use notes to keep track of Hg revisions
+      reset: trivial refactoring
+      branch: trivial style fix
+      reset: trivial style cleanup
+      add: trivial style cleanup
+      sha1-name: pass len argument to interpret_branch_name()
+      t: branch: trivial style fix
+      t: branch: fix typo
+      t: branch: fix broken && chains
+      fast-export: make extra_refs global
+      fast-export: refactor get_tags_and_duplicates()
+      rev-parse test: modernize quoting and whitespace
+      rev-parse test: use test_must_fail, not "if <command>; then false; fi"
+      rev-parse test: use standard test functions for setup
+      Add new @ shortcut for HEAD
+      alias: have SP around arithmetic operators
+
+Gerrit Pape (1):
+      hooks/post-receive-email: set declared encoding to utf-8
+
+Hiroshige Umino (1):
+      cherry-pick: allow "-" as abbreviation of '@{-1}'
+
+Jean-Noël Avila (1):
+      l10n: fr.po: 2135/2135 messages translated
+
+Jeff King (22):
+      grep: allow to use textconv filters
+      clear parsed flag when we free tree buffers
+      cat-file: only split on whitespace when %(rest) is used
+      test-sha1: add a binary output mode
+      sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
+      add tests for indexing packs with delta cycles
+      test index-pack on packs with recoverable delta cycles
+      write_index: optionally allow broken null sha1s
+      pager: turn on "cat" optimization for DEFAULT_PAGER
+      peel_onion: do not assume length of x_type globals
+      t5308: check that index-pack --strict detects duplicate objects
+      config: factor out integer parsing from range checks
+      config: properly range-check integer values
+      config: set errno in numeric git_parse_* functions
+      config: make numeric parsing errors more clear
+      git-config: always treat --int as 64-bit internally
+      t5541: mark passing c-a-s test as success
+      cherry-pick: handle "-" after parsing options
+      remote: do not copy "origin" string literal
+      http: use curl's tcp keepalive if available
+      drop redundant semicolon in empty while
+      silence gcc array-bounds warning
+
+Jens Lehmann (6):
+      mv: move submodules together with their work trees
+      mv: move submodules using a gitfile
+      submodule.c: add .gitmodules staging helper functions
+      mv: update the path entry in .gitmodules for moved submodules
+      rm: delete .gitmodules entry of submodules removed from the work tree
+      Improve documentation concerning the status.submodulesummary setting
+
+Jens Lindström (1):
+      Clear fd after closing to avoid double-close error
+
+Jeremy Huddleston (1):
+      imap-send: use Apple's Security framework for base64 encoding
+
+Jiang Xin (6):
+      branch: report invalid tracking branch as gone
+      status: always show tracking branch even no change
+      documentation: clarify notes for clean.requireForce
+      test: use unambigous leading path (/foo) for MSYS
+      relative_path should honor dos-drive-prefix
+      Use simpler relative_path when set_git_dir
+
+Johan Herland (3):
+      sample pre-commit hook: use --bool when retrieving config var
+      Documentation/git-svn: Promote the use of --prefix in docs + examples
+      git-svn: Warn about changing default for --prefix in Git v2.0
+
+Johannes Sixt (1):
+      compat/mingw.h: define PRId64
+
+John Keeping (10):
+      t9300: document fast-import empty path issues
+      fast-import: set valid mode on root tree in "ls"
+      fast-import: allow ls or filecopy of the root tree
+      fast-import: allow moving the root tree
+      rev-parse: remove restrictions on some options
+      rev-parse(1): logically group options
+      git_remote_helpers: remove little used Python library
+      rm: re-use parse_pathspec's trailing-slash removal
+      reset: handle submodule with trailing slash
+      Documentation/Makefile: make AsciiDoc dblatex dir configurable
+
+Jonathan Nieder (7):
+      hooks/post-receive-email: use plumbing instead of git log/show
+      hooks/post-receive-email: force log messages in UTF-8
+      add -i test: use skip_all instead of repeated PERL prerequisite
+      reset test: modernize style
+      rev-parse test: use test_cmp instead of "test" builtin
+      status test: add missing && to <<EOF blocks
+      gc: remove gc.pid file at end of execution
+
+Julien Carsique (1):
+      git-prompt.sh: optionally show upstream branch name
+
+Junio C Hamano (60):
+      pack-objects: shrink struct object_entry
+      diff_opt: track whether flags have been set explicitly
+      setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
+      cache.h: move remote/connect API out of it
+      builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
+      check-ignore: the name of the character is NUL, not NULL
+      check-attr: the name of the character is NUL, not NULL
+      check-ignore -z: a single -z should apply to both input and output
+      check-attr -z: a single -z should apply to both input and output
+      diff: pass the whole diff_options to diffcore_apply_filter()
+      diff: factor out match_filter()
+      diff: preparse --diff-filter string argument
+      diff: reject unknown change class given to --diff-filter
+      diff: allow lowercase letter to specify what change class to exclude
+      diff: deprecate -q option to diff-files
+      remote.c: add command line option parser for "--force-with-lease"
+      push --force-with-lease: implement logic to populate old_sha1_expect[]
+      push --force-with-lease: tie it all together
+      t5533: test "push --force-with-lease"
+      parse-options: add OPT_CMDMODE()
+      tag: use OPT_CMDMODE
+      http.c: fix parsing of http.sslCertPasswordProtected variable
+      config: add generic callback wrapper to parse section.<url>.key
+      t5540/5541: smart-http does not support "--force-with-lease"
+      send-pack: fix parsing of --force-with-lease option
+      push: teach --force-with-lease to smart-http transport
+      builtin/config: refactor collect_config()
+      config: "git config --get-urlmatch" parses section.<url>.key
+      builtin/config.c: compilation fix
+      core-tutorial: trim the section on Inspecting Changes
+      whatchanged: document its historical nature
+      diff --no-index: describe in a separate paragraph
+      config: rewrite core.pager documentation
+      Start the post-1.8.4 cycle
+      contrib/remote-helpers: style updates for test scripts
+      contrib/remote-helpers: quote variable references in redirection targets
+      Update draft release notes after merging the first batch of topics
+      typofix: commit is spelled with two ems
+      typofix: cherry is spelled with two ars
+      Update draft release notes to 1.8.5 for the second batch of topics
+      checkout: update synopsys and documentation on detaching HEAD
+      Update draft release notes to 1.8.5
+      mailmap: work around implementations with pure inline strcasecmp
+      Update draft release notes to 1.8.5 for the third batch of topics
+      Update draft release notes to 1.8.5 for the first half of the fourth batch
+      Update draft release notes to 1.8.5 for the fourth batch of topics
+      Update draft release notes to 1.8.5 for the fifth batch of topics
+      C: have space around && and || operators
+      abspath.c: have SP around arithmetic operators
+      alloc.c: have SP around arithmetic operators
+      archive.c: have SP around arithmetic operators
+      base85.c: have SP around arithmetic operators
+      block-sha1/sha1.c: have SP around arithmetic operators
+      Update draft release notes to 1.8.5
+      Update draft release notes to 1.8.5
+      Update draft release notes to 1.8.5
+      Update draft release notes to 1.8.5
+      checkout_entry(): clarify the use of topath[] parameter
+      Almost -rc0 for 1.8.5
+      Git 1.8.5-rc0
+
+Kacper Kornet (2):
+      Make test "using invalid commit with -C" more strict
+      t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
+
+Karsten Blees (3):
+      MSVC: fix compile errors due to missing libintl.h
+      MSVC: fix compile errors due to macro redefinitions
+      MSVC: fix stat definition hell
+
+Kazuki Saitoh (2):
+      git p4 test: sanitize P4CHARSET
+      git p4: implement view spec wildcards with "p4 where"
+
+Keshav Kini (4):
+      git-svn.txt: fix AsciiDoc formatting error
+      git-svn.txt: reword description of gc command
+      git-svn.txt: replace .git with $GIT_DIR
+      git-svn.txt: elaborate on rev_map files
+
+Kirill A. Shutemov (1):
+      rebase -i: respect core.abbrev
+
+Kyle J. McKay (2):
+      config: add helper to normalize and match URLs
+      config: parse http.<url>.<variable> using urlmatch
+
+Lee Carver (1):
+      Allow git-filter-branch to process large repositories with lots of branches.
+
+Marc Branchaud (1):
+      Provide some linguistic guidance for the documentation.
+
+Mark Levedahl (1):
+      t6131 - skip tests if on case-insensitive file system
+
+Matthieu Moy (16):
+      Documentation/fast-import: clarify summary for `feature` command
+      Documentation/remote-helpers: document common use-case for private ref
+      git-remote-mediawiki: add test and check Makefile targets
+      transport-helper: add no-private-update capability
+      git-remote-mediawiki: use no-private-update capability on dumb push
+      git-remote-mediawiki: no need to update private ref in non-dumb push
+      builtin/stripspace.c: fix broken indentation
+      wt-status: use argv_array API
+      submodule summary: ignore --for-status option
+      status: disable display of '#' comment prefix by default
+      tests: don't set status.displayCommentPrefix file-wide
+      status: add missing blank line after list of "other" files
+      commit: factor status configuration is a helper function
+      wt-status: turn advice_status_hints into a field of wt_status
+      commit: disable status hints when writing to COMMIT_EDITMSG
+      RelNotes/1.8.5: direct script writers to "git status --porcelain"
+
+Michael J Gruber (5):
+      t4030: demonstrate behavior of show with textconv
+      show: honor --textconv for blobs
+      cat-file: do not die on --textconv without textconv filters
+      t7008: demonstrate behavior of grep with textconv
+      grep: honor --textconv for the case rev:path
+
+Michael S. Tsirkin (1):
+      doc: don't claim that cherry calls patch-id
+
+Michael Schubert (1):
+      fetch: make --prune configurable
+
+Michal Nazarewicz (1):
+      remove dead pastebin link from pack-heuristics document
+
+Nazri Ramliy (2):
+      git: run in a directory given with -C option
+      t0056: "git -C" test updates
+
+Nguyễn Thái Ngọc Duy (57):
+      clean: remove unused variable "seen"
+      move struct pathspec and related functions to pathspec.[ch]
+      pathspec: i18n-ize error strings in pathspec parsing code
+      pathspec: add copy_pathspec
+      add parse_pathspec() that converts cmdline args to struct pathspec
+      parse_pathspec: save original pathspec for reporting
+      parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
+      convert some get_pathspec() calls to parse_pathspec()
+      parse_pathspec: add special flag for max_depth feature
+      parse_pathspec: support stripping submodule trailing slashes
+      parse_pathspec: support stripping/checking submodule paths
+      parse_pathspec: support prefixing original patterns
+      guard against new pathspec magic in pathspec matching code
+      clean: convert to use parse_pathspec
+      commit: convert to use parse_pathspec
+      status: convert to use parse_pathspec
+      rerere: convert to use parse_pathspec
+      checkout: convert to use parse_pathspec
+      rm: convert to use parse_pathspec
+      ls-files: convert to use parse_pathspec
+      archive: convert to use parse_pathspec
+      check-ignore: convert to use parse_pathspec
+      add: convert to use parse_pathspec
+      reset: convert to use parse_pathspec
+      line-log: convert to use parse_pathspec
+      convert read_cache_preload() to take struct pathspec
+      convert run_add_interactive to use struct pathspec
+      convert unmerge_cache to take struct pathspec
+      checkout: convert read_tree_some to take struct pathspec
+      convert report_path_error to take struct pathspec
+      convert refresh_index to take struct pathspec
+      convert {read,fill}_directory to take struct pathspec
+      convert add_files_to_cache to take struct pathspec
+      convert common_prefix() to use struct pathspec
+      remove diff_tree_{setup,release}_paths
+      remove init_pathspec() in favor of parse_pathspec()
+      remove match_pathspec() in favor of match_pathspec_depth()
+      tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
+      rename field "raw" to "_raw" in struct pathspec
+      parse_pathspec: make sure the prefix part is wildcard-free
+      parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
+      kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
+      pathspec: support :(literal) syntax for noglob pathspec
+      pathspec: make --literal-pathspecs disable pathspec magic
+      pathspec: support :(glob) syntax
+      parse_pathspec: accept :(icase)path syntax
+      smart http: use the same connectivity check on cloning
+      for-each-ref, quote: convert *_quote_print -> *_quote_buf
+      gc: reject if another gc is running, unless --force is given
+      push: respect --no-thin
+      pathspec: catch prepending :(prefix) on pathspec with short magic
+      add: lift the pathspec magic restriction on "add -p"
+      pack-objects: no crc check when the cached version is used
+      fetch-pack.c: show correct command name that fails
+      clone: tighten "local paths with colons" check a bit
+      Fix calling parse_pathspec with no paths nor PATHSPEC_PREFER_* flags
+      entry.c: convert checkout_entry to use strbuf
+
+Nicolas Pitre (1):
+      lookup_object: remove hashtable_index() and optimize hash_obj()
+
+Nicolas Vigier (2):
+      git-svn: fix signed commit parsing
+      config doc: user.signingkey is also used for signed commits
+
+Philip Oakley (6):
+      Doc: 'replace' merge and non-merge commits
+      doc: command line interface (cli) dot-repository dwimmery
+      config doc: update dot-repository notes
+      remote doc: document long forms of set-head options
+      remote set-head -h: add long options to synopsis
+      doc/cli: make "dot repository" an independent bullet point
+
+Ralf Thielow (2):
+      Documentation/git-merge-file: document option "--diff3"
+      status: show commit sha1 in "You are currently cherry-picking" message
+
+Ramkumar Ramachandra (3):
+      editor: use canonicalized absolute path
+      tar-tree: remove dependency on sq_quote_print()
+      quote: remove sq_quote_print()
+
+Ramsay Jones (8):
+      howto/setup-git-server-over-http: fix unescaped '^'s
+      howto/revert-a-faulty-merge: fix unescaped '^'s
+      config.c: mark file-local function static
+      refs.c: spell NULL pointer as NULL
+      wrapper.c: only define gitmkstemps if needed
+      gitweb test: fix highlight test hang on Linux Mint
+      format-patch doc: Thunderbird wraps lines unless mailnews.wraplength=0
+      sparse: suppress some "using sizeof on a function" warnings
+
+René Scharfe (1):
+      pull: use $curr_branch_short more
+
+Richard Hansen (9):
+      peel_onion(): add support for <rev>^{tag}
+      glossary: mention 'treeish' as an alternative to 'tree-ish'
+      glossary: define commit-ish (a.k.a. committish)
+      use 'tree-ish' instead of 'treeish'
+      use 'commit-ish' instead of 'committish'
+      glossary: more precise definition of tree-ish (a.k.a. treeish)
+      revisions.txt: fix and clarify <rev>^{<type>}
+      glossary: fix and clarify the definition of 'ref'
+      remote-bzr: reuse bzrlib transports when possible
+
+SZEDER Gábor (3):
+      bash prompt: test the prompt with newline in repository path
+      completion: improve untracked directory filtering for filename completion
+      t3600: fix broken "choking git rm" test
+
+Sebastian Schuberth (5):
+      Documentation: make AsciiDoc links always point to HTML files
+      MinGW: Fix stat definitions to work with MinGW runtime version 4.0
+      Windows: do not redefine _WIN32_WINNT
+      clone: add a period after "done" to end the sentence
+      path-utils test: rename mingw_path function to print_path
+
+Shawn O. Pearce (1):
+      Document the HTTP transport protocols
+
+Stefan Beller (22):
+      rm: do not set a variable twice without intermediate reading.
+      Remove deprecated OPTION_BOOLEAN for parsing arguments
+      Replace deprecated OPT_BOOLEAN by OPT_BOOL
+      log, format-patch: parsing uses OPT__QUIET
+      checkout: remove superfluous local variable
+      branch, commit, name-rev: ease up boolean conditions
+      hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
+      config parsing options: allow one flag multiple times
+      checkout-index: fix negations of even numbers of -n
+      revert: use the OPT_CMDMODE for parsing, reducing code
+      diff: remove ternary operator evaluating always to true
+      diff: fix a possible null pointer dereference
+      rm: remove unneeded null pointer check
+      create_delta_index: simplify condition always evaluating to true
+      mailmap: remove redundant check for freeing memory
+      repack: rewrite the shell script in C
+      repack: retain the return value of pack-objects
+      repack: improve warnings about failure of renaming and removing files
+      contrib: remove ciabot
+      checkout test: enable test with complex relative path
+      Reword repack documentation to no longer state it's a script
+      git-svn docs: Use tabs consistently within the ascii doc
+
+Stefan Saasen (2):
+      mergetools/diffmerge: support DiffMerge as a git mergetool
+      mergetool--lib: Fix typo in the merge/difftool help
+
+Steffen Prohaska (1):
+      git.txt: fix asciidoc syntax of --*-pathspecs
+
+Stephen Haberman (1):
+      pull: allow pull to preserve merges when rebasing
+
+Ted Zlatanov (1):
+      git-credential-netrc: fix uninitialized warning
+
+Thomas Ackermann (11):
+      Call it "Git User Manual" and remove reference to very old Git version
+      Use current "detached HEAD" message
+      Use current output for "git repack"
+      Use "git merge" instead of "git pull ."
+      Fix some typos and improve wording
+      Simplify "How to make a commit"
+      Improve section "Manipulating branches"
+      Improve section "Merging multiple trees"
+      Remove unnecessary historical note from "Object storage format"
+      Remove irrelevant reference from "Tying it all together"
+      "git prune" is safe
+
+Thomas Gummerer (1):
+      read-cache: use fixed width integer types
+
+Thomas Rast (5):
+      urlmatch.c: recompute pointer after append_normalized_escapes
+      .mailmap: switch to Thomas Rast's personal address
+      Documentation: revamp gitk(1)
+      Revert "test-lib: support running tests under valgrind in parallel"
+      Revert "test-lib: allow prefixing a custom string before "ok N" etc."
+
+Tony Finch (4):
+      gitweb: ensure OPML text fits inside its box
+      gitweb: vertically centre contents of page footer
+      gitweb: omit the repository owner when it is unset
+      gitweb: make search help link less ugly
+
+Torsten Bögershausen (1):
+      Set core.precomposeunicode to true on e.g. HFS+
+
+Uli Heller (1):
+      git-svn: fix termination issues for remote svn connections
+
+brian m. carlson (3):
+      submodule: fix confusing variable name
+      submodule: don't print status output with ignore=all
+      CodingGuidelines: style for multi-line comments
+
+Ævar Arnfjörð Bjarmason (1):
+      gitweb: Fix the author initials in blame for non-ASCII names
+
+
+Version v1.8.4.5; changes since v1.8.4.4:
+-----------------------------------------
+
+Junio C Hamano (2):
+      submodule: do not copy unknown update mode from .gitmodules
+      Git 1.8.4.5
+
+Richard Hansen (1):
+      remote-hg: don't decode UTF-8 paths into Unicode objects
+
+
+Version v1.8.4.4; changes since v1.8.4.3:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Revert "upload-pack: send non-HEAD symbolic refs"
+      Git 1.8.4.4
+
+
+Version v1.8.4.3; changes since v1.8.4.2:
+-----------------------------------------
+
+Antoine Pelisse (1):
+      remote-hg: unquote C-style paths when exporting
+
+Brian Gernhardt (3):
+      t5570: Update for symref capability
+      t5570: Update for clone-progress-to-stderr branch
+      t5570: Update for clone-progress-to-stderr branch
+
+Hemmo Nieminen (1):
+      graph: fix coloring around octopus merges
+
+Jeff King (11):
+      http_get_file: style fixes
+      http_request: factor out curlinfo_strbuf
+      http: refactor options to http_get_*
+      http: hoist credential request out of handle_curl_result
+      http: provide effective url to callers
+      http: update base URLs when we see redirects
+      remote-curl: make refs_url a strbuf
+      remote-curl: store url as a strbuf
+      remote-curl: rewrite base url from info/refs redirects
+      split_ident: parse timestamp from end of line
+      subtree: add makefile target for html docs
+
+Jonathan Nieder (1):
+      t/README: tests can use perl even with NO_PERL
+
+Junio C Hamano (10):
+      t5505: fix "set-head --auto with ambiguous HEAD" test
+      upload-pack.c: do not pass confusing cb_data to mark_our_ref()
+      upload-pack: send symbolic ref information as capability
+      upload-pack: send non-HEAD symbolic refs
+      connect.c: make parse_feature_value() static
+      connect: annotate refs with their symref information in get_remote_head()
+      clone: test the new HEAD detection logic
+      revision: do not peel tags used in range notation
+      Start preparing for 1.8.4.3
+      Git 1.8.4.3
+
+Karsten Blees (1):
+      gitignore.txt: fix documentation of "**" patterns
+
+Matthieu Moy (2):
+      checkout: allow dwim for branch creation for "git checkout $branch --"
+      checkout: proper error message on 'git checkout foo bar --'
+
+Ramsay Jones (1):
+      http.c: Spell the null pointer as NULL
+
+SZEDER Gábor (1):
+      bash prompt: don't use '+=' operator in show upstream code path
+
+Sitaram Chamarty (1):
+      doc/howto: warn about (dumb)http server document being too old
+
+Vivien Didelot (2):
+      Documentation: restore a space in unpack-objects usage
+      Documentation: "pack-file" is not literal in unpack-objects
+
+
+Version v1.8.4.2; changes since v1.8.4.1:
+-----------------------------------------
+
+Antoine Pelisse (1):
+      commit: search author pattern against mailmap
+
+Christian Couder (1):
+      sha1_file: move comment about return value where it belongs
+
+Eric Sunshine (5):
+      rebase -i: fix cases ignoring core.commentchar
+      dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
+      t3404: make tests more self-contained
+      t3404: rebase -i: demonstrate short SHA-1 collision
+      t3200: fix failure on case-insensitive filesystems
+
+Jeff King (8):
+      has_sha1_file: re-check pack directory before giving up
+      upload-pack: send keepalive packets during pack computation
+      upload-pack: bump keepalive default to 5 seconds
+      clone: send diagnostic messages to stderr
+      clone: treat "checking connectivity" like other progress
+      clone: always set transport options
+      shortlog: ignore commits with missing authors
+      format-patch: print in-body "From" only when needed
+
+Johan Herland (4):
+      t2024: Fix &&-chaining and a couple of typos
+      t3200: Minor fix when preparing for tracking failure
+      Refer to branch.<name>.remote/merge when documenting --track
+      t3200: Add test demonstrating minor regression in 41c21f2
+
+Johannes Sixt (1):
+      add--interactive: fix external command invocation on Windows
+
+John Keeping (1):
+      merge-recursive: fix parsing of "diff-algorithm" option
+
+Junio C Hamano (8):
+      dir.c: use the cache_* macro to access the current index
+      ls-files -k: a directory only can be killed if the index has a non-directory
+      t3010: update to demonstrate "ls-files -k" optimization pitfalls
+      rebase -i: fix short SHA-1 collision
+      cvsserver: pick up the right mode bits
+      Start preparing for 1.8.4.2
+      Almost 1.8.4.2 ;-)
+      Git 1.8.4.2
+
+Matthijs Kooijman (1):
+      Add testcase for needless objects during a shallow fetch
+
+Nguyễn Thái Ngọc Duy (7):
+      move setup_alternate_shallow and write_shallow_commits to shallow.c
+      shallow: only add shallow graft points to new shallow file
+      shallow: add setup_temporary_shallow()
+      upload-pack: delegate rev walking in shallow fetch to pack-objects
+      list-objects: reduce one argument in mark_edges_uninteresting
+      list-objects: mark more commits as edges in mark_edges_uninteresting
+      Make setup_git_env() resolve .git file when $GIT_DIR is not specified
+
+Nicolas Vigier (1):
+      git-merge: document the -S option
+
+Per Cederqvist (1):
+      branch.c: Relax unnecessary requirement on upstream's remote ref name
+
+Ralf Thielow (2):
+      rebase --preserve-merges: ignore "merge.log" config
+      clone --branch: refuse to clone if upstream repo is empty
+
+SZEDER Gábor (1):
+      t4254: modernize tests
+
+Steffen Prohaska (1):
+      git-prune-packed.txt: fix reference to GIT_OBJECT_DIRECTORY
+
+Torstein Hegge (1):
+      test-lib: fix typo in comment
+
+brian m. carlson (1):
+      http-backend: provide Allow header for 405
+
+
+Version v1.8.4.1; changes since v1.8.4:
+---------------------------------------
+
+Andreas Schwab (1):
+      Documentation/git-merge.txt: fix formatting of example block
+
+Benoit Person (1):
+      git-remote-mediawiki: bugfix for pages w/ >500 revisions
+
+Brandon Casey (3):
+      git-completion.bash: use correct Bash/Zsh array length syntax
+      t9902-completion.sh: old Bash still does not support array+=('') notation
+      contrib/git-prompt.sh: handle missing 'printf -v' more gracefully
+
+Jeff King (2):
+      config: do not use C function names as struct members
+      mailmap: handle mailmap blobs without trailing newlines
+
+Jharrod LaFon (1):
+      avoid segfault on submodule.*.path set to an empty "true"
+
+Johannes Sixt (1):
+      stream_to_pack: xread does not guarantee to read all requested bytes
+
+Jonathan Nieder (1):
+      Git 1.8.4.1
+
+Junio C Hamano (6):
+      t5802: add test for connect helper
+      fetch: rename file-scope global "transport" to "gtransport"
+      fetch: refactor code that prepares a transport
+      fetch: refactor code that fetches leftover tags
+      fetch: work around "transport-take-over" hack
+      Start preparing for 1.8.4.1
+
+Kyle J. McKay (3):
+      Git.pm: add new temp_is_locked function
+      git-svn: allow git-svn fetching to work using serf
+      Git.pm: revert _temp_cache use of temp_is_locked
+
+Matthieu Moy (2):
+      die_with_status: use "printf '%s\n'", not "echo"
+      rebase: fix run_specific_rebase's use of "return" on FreeBSD
+
+Nguyễn Thái Ngọc Duy (1):
+      fetch-pack: do not remove .git/shallow file when --depth is not specified
+
+Ralf Thielow (1):
+      l10n: de.po: use "das Tag" instead of "der Tag"
+
+Ramsay Jones (1):
+      builtin/fetch.c: Fix a sparse warning
+
+Sebastien Helleu (1):
+      l10n: fr.po: hotfix for commit 6b388fc
+
+Steffen Prohaska (2):
+      xread, xwrite: limit size of IO to 8MB
+      Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
+
+Tay Ray Chuan (1):
+      t7406-submodule-update: add missing &&
+
+Thomas Rast (2):
+      log: use true parents for diff even when rewriting
+      log: use true parents for diff when walking reflogs
+
+Thorsten Glaser (1):
+      fix shell syntax error in template
+
+brian m. carlson (1):
+      send-email: don't call methods on undefined values
+
+
+Version v1.8.4; changes since v1.8.4-rc4:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Typofix draft release notes to 1.8.4
+      Git 1.8.4
+
+
+Version v1.8.4-rc4; changes since v1.8.4-rc3:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "git stash: avoid data loss when "git stash save" kills a directory"
+      Revert "Add new @ shortcut for HEAD"
+      Git 1.8.4-rc4
+
+
+Version v1.8.4-rc3; changes since v1.8.4-rc2:
+---------------------------------------------
+
+Eric Sunshine (1):
+      parse-options: fix clang opterror() -Wunused-value warning
+
+Jean-Noël Avila (2):
+      l10n: fr.po: 821/2112 messages translated
+      l10n: Add reference for french translation team
+
+Jiang Xin (2):
+      l10n: git.pot: v1.8.4 round 2 (5 new, 3 removed)
+      l10n: zh_CN.po: translate 5 messages (2135t0f0u)
+
+Junio C Hamano (2):
+      .mailmap: update long-lost friends with multiple defunct addresses
+      Git 1.8.4-rc3
+
+Matthieu Moy (1):
+      git-remote-mediawiki: ignore generated git-mw
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2135t0f0u)
+
+Phil Hord (1):
+      t/t7407: fix two typos in submodule tests
+
+Ralf Thielow (3):
+      l10n: de.po: switch from pure German to German+English
+      l10n: de.po: translate 99 new messages
+      l10n: de.po: translate 5 messages
+
+Stefan Beller (2):
+      .mailmap: fixup entries
+      .mailmap: Combine more (name, email) to individual persons
+
+Trần Ngọc Quân (1):
+      l10n: vi.po(2135t): v1.8.4 round 2
+
+Wieland Hoffmann (1):
+      l10n: de.po: Fix a typo
+
+
+Version v1.8.4-rc2; changes since v1.8.4-rc1:
+---------------------------------------------
+
+Felix Gruber (1):
+      fix typo in documentation of git-svn
+
+Jiang Xin (2):
+      l10n: git.pot: v1.8.4 round 1 (99 new, 46 removed)
+      l10n: zh_CN.po: translate 99 messages (2133t0f0u)
+
+Jonathan Nieder (1):
+      log doc: the argument to --encoding is not optional
+
+Junio C Hamano (4):
+      Revert "cat-file: split --batch input lines on whitespace"
+      t3900: test rejecting log message with NULs correctly
+      commit: typofix for xxFFF[EF] check
+      Git 1.8.4-rc2
+
+Ramsay Jones (1):
+      cygwin: Remove the Win32 l/stat() implementation
+
+René Scharfe (1):
+      t8001, t8002: fix "blame -L :literal" test on NetBSD
+
+Stefan Beller (1):
+      .mailmap: Multiple addresses of Michael S. Tsirkin
+
+Torstein Hegge (1):
+      Documentation/rev-list-options: add missing word in --*-parents
+
+Trần Ngọc Quân (1):
+      l10n: vi.po (2133t)
+
+brian m. carlson (1):
+      Add missing test file for UTF-16.
+
+
+Version v1.8.4-rc1; changes since v1.8.4-rc0:
+---------------------------------------------
+
+Brandon Casey (1):
+      git-completion.bash: replace zsh notation that breaks bash 3.X
+
+Daniele Segato (1):
+      docs/git-tag: explain lightweight versus annotated tags
+
+Jeff King (6):
+      docs: fix 'report-status' protocol capability thinko
+      docs: note that receive-pack knows side-band-64k capability
+      document 'agent' protocol capability
+      document 'quiet' receive-pack capability
+      commit.h: drop redundant comment
+      commit: tweak empty cherry pick advice for sequencer
+
+Jiang Xin (2):
+      Documentation/git-clean: fix description for range
+      git-clean: implement partial matching for selection
+
+Junio C Hamano (2):
+      builtin/rm.c: consolidate error reporting for removing submodules
+      Git 1.8.4-rc1
+
+Lukas Fleischer (1):
+      Avoid using `echo -n` anywhere
+
+Maurício C Antunes (1):
+      hg-to-git: --allow-empty-message in git commit
+
+Michael Haggerty (1):
+      do_one_ref(): save and restore value of current_ref
+
+Michal Sojka (1):
+      contrib/subtree: Fix make install target
+
+Nguyễn Thái Ngọc Duy (1):
+      document 'allow-tip-sha1-in-want' capability
+
+Ondřej Bílka (1):
+      many small typofixes
+
+Ralf Thielow (1):
+      git-rebase: fix typo
+
+Ramkumar Ramachandra (1):
+      config doc: quote paths, fixing tilde-interpretation
+
+Ramsay Jones (1):
+      commit-slab.h: Fix memory allocation and addressing
+
+Stefan Beller (1):
+      .mailmap: combine more (email, name) to individual persons
+
+Thomas Rast (1):
+      Rename advice.object_name_warning to objectNameWarning
+
+
+Version v1.8.4-rc0; changes since v1.8.3.4:
+-------------------------------------------
+
+Adam Spiers (6):
+      t0008: remove duplicated test fixture data
+      check-ignore: add -n / --non-matching option
+      check-ignore: move setup into cmd_check_ignore()
+      check-ignore: allow incremental streaming of queries via --stdin
+      Documentation: add caveats about I/O buffering for check-{attr,ignore}
+      t0008: use named pipe (FIFO) to test check-ignore streaming
+
+Alexey Shumkin (10):
+      t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
+      t7102 (reset): don't hardcode SHA-1 in expected outputs
+      t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
+      pretty: Add failing tests: --format output should honor logOutputEncoding
+      pretty: --format output should honor logOutputEncoding
+      t4041, t4205, t6006, t7102: use iso8859-1 rather than iso-8859-1
+      t4205 (log-pretty-formats): revert back single quotes
+      t4205, t6006, t7102: make functions better readable
+      t6006 (rev-list-format): add tests for "%b" and "%s" for the case i18n.commitEncoding is not set
+      t4205 (log-pretty-formats): avoid using `sed`
+
+Andrew Pimlott (2):
+      rebase -i: handle fixup! fixup! in --autosquash
+      lib-rebase: style: use write_script, <<-\EOF
+
+Andrew Wong (1):
+      git add -e: Explicitly specify that patch should have no color
+
+Antoine Pelisse (1):
+      diff: add --ignore-blank-lines option
+
+Arnaud Fontaine (1):
+      Do not ignore merge options in interactive rebase
+
+Benoit Person (9):
+      git-remote-mediawiki: use Git.pm functions for credentials
+      git-remote-mediawiki: remove hardcoded version number in the test suite
+      git-remote-mediawiki: introduction of Git::Mediawiki.pm
+      wrap-for-bin: make bin-wrappers chainable
+      git-remote-mediawiki: add a git bin-wrapper for developement
+      git-remote-mediawiki: update tests to run with the new bin-wrapper
+      git-remote-mediawiki: factoring code between git-remote-mediawiki and Git::Mediawiki
+      git-remote-mediawiki: add git-mw command
+      git-remote-mediawiki: add preview subcommand into git mw
+
+Benoit Sigoure (1):
+      Revert "compat/unsetenv.c: Fix a sparse warning"
+
+Bo Yang (2):
+      Refactor parse_loc
+      Export rewrite_parents() for 'log -L'
+
+Brandon Casey (3):
+      builtin/checkout.c: don't leak memory in check_tracking_name
+      t/t9802: explicitly name the upstream branch to use as a base
+      remote.c: avoid O(m*n) behavior in match_push_refs
+
+Brian Gernhardt (1):
+      t4205: replace .\+ with ..* in sed commands
+
+Chris Packham (1):
+      submodule update: allow custom command to update submodule working tree
+
+Christian Couder (1):
+      Makefile: replace "echo 1>..." with "echo >..."
+
+Célestin Matte (32):
+      git-remote-mediawiki: display message when launched directly
+      git-remote-mediawiki: make a regexp clearer
+      git-remote-mediawiki: move "use warnings;" before any instruction
+      git-remote-mediawiki: replace :utf8 by :encoding(UTF-8)
+      git-remote-mediawiki: always end a subroutine with a return
+      git-remote-mediawiki: move a variable declaration at the top of the code
+      git-remote-mediawiki: change syntax of map calls
+      git-remote-mediawiki: rewrite unclear line of instructions
+      git-remote-mediawiki: remove useless regexp modifier (m)
+      git-remote-mediawiki: change the behaviour of a split
+      git-remote-mediawiki: change separator of some regexps
+      git-remote-mediawiki: change style in a regexp
+      git-remote-mediawiki: change style in a regexp
+      git-remote-mediawiki: add newline in the end of die() error messages
+      git-remote-mediawiki: change the name of a variable
+      git-remote-mediawiki: turn double-negated expressions into simple expressions
+      git-remote-mediawiki: remove unused variable $entry
+      git-remote-mediawiki: rename a variable ($last) which has the name of a keyword
+      git-remote-mediawiki: assign a variable as undef and make proper indentation
+      git-remote-mediawiki: check return value of open
+      git-remote-mediawiki: remove import of unused open2
+      git-remote-mediawiki: put long code into a subroutine
+      git-remote-mediawiki: modify strings for a better coding-style
+      git-remote-mediawiki: brace file handles for print for more clarity
+      git-remote-mediawiki: replace "unless" statements with negated "if" statements
+      git-remote-mediawiki: don't use quotes for empty strings
+      git-remote-mediawiki: put non-trivial numeric values in constants.
+      git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki")
+      git-remote-mediawiki: clearly rewrite double dereference
+      git-remote-mediawiki: add a .perlcriticrc file
+      git-remote-mediawiki: add a perlcritic rule in Makefile
+      git-remote-mediawiki: make error message more precise
+
+Dale R. Worley (1):
+      git_mkstemps: correctly test return value of open()
+
+Dirk Wallenstein (1):
+      request-pull: improve error message for invalid revision args
+
+Doug Bell (1):
+      show-ref: make --head always show the HEAD ref
+
+Eduardo R. D'Avila (5):
+      t9903: add tests for git-prompt pcmode
+      git-prompt.sh: refactor colored prompt code
+      t9903: remove redundant tests
+      git-prompt.sh: do not print duplicate clean color code
+      git-prompt.sh: add missing information in comments
+
+Eric Sunshine (27):
+      t4211: fix broken test when one -L range is subset of another
+      range_set: fix coalescing bug when range is a subset of another
+      builtin: add git-check-mailmap command
+      t4203: test check-mailmap command invocation
+      t4203: demonstrate loss of single-character name in mailmap entry
+      t4203: demonstrate loss of uppercase characters in canonical email
+      mailmap: debug: fix out-of-order fprintf() arguments
+      mailmap: debug: fix malformed fprintf() format conversion specification
+      mailmap: debug: eliminate -Wformat field precision type warning
+      mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
+      git-log.txt: fix typesetting of example "git-log -L" invocation
+      line-range: fix "blame -L X,-N" regression
+      t8001/t8002 (blame): modernize style
+      t8001/t8002 (blame): add blame -L tests
+      t8001/t8002 (blame): add blame -L :funcname tests
+      blame-options.txt: place each -L option variation on its own line
+      blame-options.txt: explain that -L <start> and <end> are optional
+      contrib: add git-contacts helper
+      contrib: contacts: add ability to parse from committish
+      contrib: contacts: interpret committish akin to format-patch
+      contrib: contacts: add mailmap support
+      contrib: contacts: add documentation
+      range-set: fix sort_and_merge_range_set() corner case bug
+      t4211: demonstrate empty -L range crash
+      t4211: demonstrate crash when first -L encountered is empty range
+      range-set: satisfy non-empty ranges invariant
+      line-log: fix "log -LN" crash when N is last line of file
+
+Felipe Contreras (108):
+      transport-helper: report errors properly
+      transport-helper: improve push messages
+      transport-helper: clarify *:* refspec
+      transport-helper: update refspec documentation
+      transport-helper: clarify pushing without refspecs
+      transport-helper: warn when refspec is not used
+      transport-helper: trivial code shuffle
+      transport-helper: update remote helper namespace
+      completion: add file completion tests
+      completion: document tilde expansion failure in tests
+      completion; remove unuseful comments
+      completion: use __gitcompadd for __gitcomp_file
+      completion: refactor diff_index wrappers
+      completion: refactor __git_complete_index_file()
+      completion: add hack to enable file mode in bash < 4
+      completion: add space after completed filename
+      completion: remove __git_index_file_list_filter()
+      fast-export: do not parse non-commit objects while reading marks file
+      fast-export: don't parse commits while reading marks file
+      fast-{import,export}: use get_sha1_hex() to read from marks file
+      tests: at-combinations: simplify setup
+      tests: at-combinations: check ref names directly
+      tests: at-combinations: improve nonsense()
+      sha1_name: remove no-op
+      sha1_name: remove unnecessary braces
+      completion: cleanup zsh wrapper
+      completion: synchronize zsh wrapper
+      sha1_name: reorganize get_sha1_basic()
+      sha1_name: refactor reinterpret()
+      Add new @ shortcut for HEAD
+      sha1_name: compare variable with constant, not constant with variable
+      test: remote-helper: add missing and
+      transport-helper: fix remote helper namespace regression
+      transport-helper: barf when user tries old:new
+      transport-helper: check if the dry-run is supported
+      remote-helpers: tests: use python directly
+      remote-hg: tests: fix hg merge
+      build: trivial simplification
+      build: cleanup using $^
+      build: cleanup using $<
+      build: add NO_INSTALL variable
+      build: do not install git-remote-testpy
+      remote-bzr: recover from failed clones
+      remote-bzr: fix for files with spaces
+      remote-bzr: simplify get_remote_branch()
+      remote-bzr: delay cloning/pulling
+      remote-bzr: change global repo
+      remote-bzr: trivial cleanups
+      remote-bzr: reorganize the way 'wanted' works
+      remote-bzr: add fallback check for a partial clone
+      remote-hg: test: be a little more quiet
+      remote-hg: trivial reorganization
+      remote-helpers: test: cleanup white-spaces
+      remote-helpers: test: cleanup style
+      remote-helpers: tests: general improvements
+      remote-helpers: test: simplify remote URLs
+      remote-hg: test: simplify previous branch checkout
+      remote-hg: load all extensions
+      remote-hg: use a shared repository store
+      remote-hg: shuffle some code
+      remote-hg: improve node traversing
+      remote-hg: add version checks to the marks
+      remote-hg: switch from revisions to SHA-1 noteids
+      remote-hg: upgrade version 1 marks
+      remote-hg: ensure remote rebasing works
+      remote-hg: trivial cleanups
+      remote-hg: improve progress calculation
+      remote-hg: always point HEAD to master
+      remote-hg: add tests for 'master' bookmark
+      remote-bzr: simplify test checks
+      remote-hg: add check_bookmark() test helper
+      remote-hg: update bookmarks when using a remote
+      remote-hg: add remote tests
+      remote-hg: add test to push new bookmark
+      remote-hg: add test for diverged push
+      remote-hg: add test for bookmark diverge
+      remote-hg: add test for new bookmark special
+      remote-hg: add test for big push
+      remote-hg: add test for failed double push
+      remote-hg: reorganize bookmark handling
+      remote-hg: force remote bookmark push selectively
+      remote-hg: only update necessary revisions
+      remote-hg: implement custom push()
+      remote-hg: implement custom checkheads()
+      remote-hg: pass around revision refs
+      remote-hg: check diverged bookmarks
+      remote-hg: simplify branch_tip()
+      remote-hg: improve branch listing
+      remote-hg: use remote 'default' not local one
+      remote-hg: improve lightweight tag author
+      remote-hg: remove files before modifications
+      remote-hg: add setup_big_push() helper
+      remote-hg: add check_push() helper
+      remote-helpers: improve marks usage
+      remote-hg: trivial cleanup
+      remote-hg: check if a fetch is needed
+      remote-hg: add support for --dry-run
+      remote-hg: add support for --force
+      remote: trivial style cleanup
+      test: trivial cleanups
+      test: rebase: fix --interactive test
+      send-email: remove warning about unset chainreplyto
+      completion: zsh: improve bash script loading
+      completion: avoid ls-remote in certain scenarios
+      test: fix post rewrite hook report
+      build: generate and clean test scripts
+      build: do not install git-remote-testgit
+      Makefile: use $^ to avoid listing prerequisites on the command line
+
+Fredrik Gustafsson (2):
+      git-submodule.sh: remove duplicate call to set_rev_name
+      Add --depth to submodule update/add
+
+Grahack (1):
+      French translation: copy -> copie.
+
+Heiko Voigt (6):
+      git-gui: allow "\ No newline at end of file" for linewise staging
+      config: factor out config file stack management
+      config: drop cf validity check in get_next_char()
+      config: make parsing stack struct independent from actual data source
+      teach config --blob option to parse config from database
+      do not die when error in config parsing of buf occurs
+
+Jeff King (40):
+      transport-helper: mention helper name when it dies
+      commit: allow associating auxiliary info on-demand
+      lookup_object: prioritize recently found objects
+      t5510: start tracking-ref tests from a known state
+      refactor "ref->merge" flag
+      fetch: opportunistically update tracking refs
+      t0005: test git exit code from signal death
+      contrib: drop blameview/ directory
+      t5303: drop "count=1" from corruption dd
+      unpack_entry: do not die when we fail to apply a delta
+      get_packed_ref_cache: reload packed-refs file when it changes
+      for_each_ref: load all loose refs before packed refs
+      transport-helper: be quiet on read errors from helpers
+      fetch-pack: avoid quadratic list insertion in mark_complete
+      commit.c: make compare_commits_by_commit_date global
+      fetch-pack: avoid quadratic behavior in rev_list_push
+      pretty.c: drop const-ness from pretty_print_context
+      teach format-patch to place other authors into in-body "From"
+      zero-initialize object_info structs
+      teach sha1_object_info_extended a "disk_size" query
+      clone: drop connectivity check for local clones
+      add missing "format" function attributes
+      use "sentinel" function attribute for variadic lists
+      wt-status: use "format" function attribute for status_printf
+      t1006: modernize output comparisons
+      cat-file: teach --batch to stream blob objects
+      cat-file: refactor --batch option parsing
+      cat-file: add --batch-check=<format>
+      cat-file: add %(objectsize:disk) format atom
+      cat-file: split --batch input lines on whitespace
+      pack-revindex: use unsigned to store number of objects
+      pack-revindex: radix-sort the revindex
+      t0008: avoid SIGPIPE race condition on fifo
+      cat-file: disable object/refname ambiguity check for batch mode
+      sha1_object_info_extended: rename "status" to "type"
+      sha1_loose_object_info: make type lookup optional
+      packed_object_info: hoist delta type resolution to helper
+      packed_object_info: make type lookup optional
+      sha1_object_info_extended: make type calculation optional
+      sha1_object_info_extended: pass object_info to helpers
+
+Jiang Xin (16):
+      test: add test cases for relative_path
+      path.c: refactor relative_path(), not only strip prefix
+      quote.c: substitute path_relative with relative_path
+      quote_path_relative(): remove redundant parameter
+      write_name{_quoted_relative,}(): remove redundant parameters
+      git-clean: refactor git-clean into two phases
+      git-clean: add support for -i/--interactive
+      git-clean: show items of del_list in columns
+      git-clean: add colors to interactive git-clean
+      git-clean: use a git-add-interactive compatible UI
+      git-clean: add filter by pattern interactive action
+      git-clean: add select by numbers interactive action
+      git-clean: add ask each interactive action
+      git-clean: add documentation for interactive git-clean
+      test: add t7301 for git-clean--interactive
+      test: run testcases with POSIX absolute paths on Windows
+
+Johan Herland (3):
+      finish_copy_notes_for_rewrite(): Let caller provide commit message
+      Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
+      Move create_notes_commit() from notes-merge.c into notes-utils.c
+
+Johannes Schindelin (2):
+      Define NO_GETTEXT for Git for Windows
+      Windows resource: handle dashes in the Git version gracefully
+
+Johannes Sixt (4):
+      git-remote-testgit: avoid process substitution
+      git-remote-testgit: further remove some bashisms
+      t0005: skip signal death exit code test on Windows
+      rebase topology tests: fix commit names on case-insensitive file systems
+
+John Keeping (20):
+      t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY
+      test output: respect $TEST_OUTPUT_DIRECTORY
+      t/Makefile: don't define TEST_RESULTS_DIRECTORY recursively
+      fetch: don't try to update unfetched tracking refs
+      git-gui: fix file name handling with non-empty prefix
+      add--interactive: respect diff.algorithm
+      Documentation/Makefile: fix spaces around assignments
+      Documentation/Makefile: move infodir to be with other '*dir's
+      mergetool--lib: refactor {diff,merge}_cmd logic
+      t7401: make indentation consistent
+      t7403: modernize style
+      t7403: add missing && chaining
+      submodule: show full path in error message
+      rev-parse: add --prefix option
+      submodule: drop the top-level requirement
+      completion: handle unstuck form of base git options
+      completion: learn about --man-path
+      git-config(1): clarify precedence of multiple values
+      push: avoid suggesting "merging" remote changes
+      pull: change the description to "integrate" changes
+
+Jonathan Nieder (1):
+      mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE
+
+Jonathon Mah (2):
+      Documentation: remove --prune from pack-refs examples
+      Documentation: fix git-prune example usage
+
+Jorge Juan Garcia Garcia (4):
+      status: introduce status.short to enable --short by default
+      status: introduce status.branch to enable --branch by default
+      status: introduce status.short to enable --short by default
+      status: introduce status.branch to enable --branch by default
+
+Junio C Hamano (56):
+      commit-slab: avoid large realloc
+      date.c: add parse_expiry_date()
+      line-log: fix documentation formatting
+      t5801: "VAR=VAL shell_func args" is forbidden
+      prune: introduce OPT_EXPIRY_DATE() and use it
+      git-remote-testgit: build it to run under $SHELL_PATH
+      t6111: allow checking the parents as well
+      t6012: update test for tweaked full-history traversal
+      Start 1.8.4 cycle
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      commit-slab: introduce a macro to define a slab for new type
+      test: test_must_be_empty helper
+      Update draft release notes
+      toposort: rename "lifo" field
+      prio-queue: priority queue of pointers to structs
+      sort-in-topological-order: use prio-queue
+      log: --author-date-order
+      Update draft release notes to 1.8.4
+      t7512: test "detached from" as well
+      Update draft release notes to 1.8.4
+      t/lib-t6000: style fixes
+      topology tests: teach a helper to take abbreviated timestamps
+      t6003: add --date-order test
+      topology tests: teach a helper to set author dates as well
+      t6003: add --author-date-order test
+      add -i: add extra options at the right place in "diff" command line
+      Update draft release notes to 1.8.4
+      Revert "Merge branch 'jg/status-config'"
+      status/commit: make sure --porcelain is not affected by user-facing config
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      treat_directory(): do not declare submodules to be untracked
+      name-ref: factor out name shortening logic from name_ref()
+      name-rev: allow converting the exact object name at the tip of a ref
+      describe: use argv-array
+      remote-http: use argv-array
+      Update draft release notes to 1.8.4
+      Update draft release notes for 1.8.4
+      mailmap: do not lose single-letter names
+      mailmap: do not downcase mailmap entries
+      mailmap: style fixes
+      Revert "git-clone.txt: remove the restriction on pushing from a shallow clone"
+      Update draft release notes to 1.8.4
+      Update draft release notes to 1.8.4
+      name-rev: differentiate between tags and commits they point at
+      describe: fix --contains when a tag is given as input
+      t2202: make sure "git add" (no args) stays a no-op
+      Update draft release notes to 1.8.4
+      t7600: fix typo in test title
+      t4211: fix incorrect rebase at f8395edc (range-set: satisfy non-empty ranges invariant)
+      Git 1.8.4-rc0
+
+Kevin Bracey (14):
+      decorate.c: compact table when growing
+      t6019: test file dropped in -s ours merge
+      t6111: new TREESAME test set
+      t6111: add parents to tests
+      rev-list-options.txt: correct TREESAME for P
+      Documentation: avoid "uninteresting"
+      revision.c: Make --full-history consider more merges
+      simplify-merges: never remove all TREESAME parents
+      simplify-merges: drop merge from irrelevant side branch
+      revision.c: add BOTTOM flag for commits
+      revision.c: discount side branches when computing TREESAME
+      revision.c: don't show all merges for --parents
+      revision.c: make default history consider bottom commits
+      am: replace uses of --resolved with --continue
+
+Kirill Smelkov (1):
+      git-gui: Fix parsing of <rev> <path-which-not-present-in-worktree>
+
+Mark Levedahl (6):
+      test-lib.sh - cygwin does not have usable FIFOs
+      test-lib.sh - define and use GREP_STRIPS_CR
+      Cygwin 1.7 needs compat/regex
+      Cygwin 1.7 has thread-safe pread
+      Cygwin 1.7 supports mmap
+      cygwin: stop forcing core.filemode=false
+
+Martin von Zweigbergk (7):
+      add simple tests of consistency across rebase types
+      add tests for rebasing with patch-equivalence present
+      add tests for rebasing of empty commits
+      add tests for rebasing root
+      add tests for rebasing merged history
+      t3406: modernize style
+      tests: move test for rebase messages from t3400 to t3406
+
+Mathieu Lienard--Mayor (2):
+      rm: better error message on failure for multiple files
+      rm: introduce advice.rmHints to shorten messages
+
+Matthieu Moy (10):
+      config: refactor management of color.ui's default value
+      git-remote-mediawiki: better error message when HTTP(S) access fails
+      make color.ui default to 'auto'
+      git-remote-mediawiki: un-brace file handles in binmode calls
+      t4000-diff-format.sh: modernize style
+      diff: allow --no-patch as synonym for -s
+      diff: allow --patch & cie to override -s/--no-patch
+      Documentation/git-show.txt: include common diff options, like git-log.txt
+      Documentation: move description of -s, --no-patch to diff-options.txt
+      Documentation/git-log.txt: capitalize section names
+
+Matthijs Kooijman (1):
+      upload-pack: remove a piece of dead code
+
+Michael Haggerty (75):
+      git-gc.txt, git-reflog.txt: document new expiry options
+      api-parse-options.txt: document "no-" for non-boolean options
+      refs: document flags constants REF_*
+      refs: document the fields of struct ref_value
+      refs: document do_for_each_ref() and do_one_ref()
+      refs: document how current_ref is used
+      refs: define constant PEELED_LINE_LENGTH
+      do_for_each_ref_in_dirs(): remove dead code
+      get_packed_ref(): return a ref_entry
+      peel_ref(): use function get_packed_ref()
+      repack_without_ref(): use function get_packed_ref()
+      refs: extract a function ref_resolves_to_object()
+      refs: extract function peel_object()
+      peel_object(): give more specific information in return value
+      peel_ref(): fix return value for non-peelable, not-current reference
+      refs: extract a function peel_entry()
+      refs: change the internal reference-iteration API
+      t3210: test for spurious error messages for dangling packed refs
+      repack_without_ref(): silence errors for dangling packed refs
+      search_ref_dir(): return an index rather than a pointer
+      refs: change how packed refs are deleted
+      t3211: demonstrate loss of peeled refs if a packed ref is deleted
+      repack_without_ref(): write peeled refs in the rewritten file
+      refs: extract a function write_packed_entry()
+      pack-refs: rename handle_one_ref() to pack_one_ref()
+      pack-refs: merge code from pack-refs.{c,h} into refs.{c,h}
+      pack_one_ref(): rename "path" parameter to "refname"
+      refs: use same lock_file object for both ref-packing functions
+      pack_refs(): change to use do_for_each_entry()
+      refs: inline function do_not_prune()
+      pack_one_ref(): use function peel_entry()
+      pack_one_ref(): use write_packed_entry() to do the writing
+      pack_one_ref(): do some cheap tests before a more expensive one
+      refs: change do_for_each_*() functions to take ref_cache arguments
+      refs: handle the main ref_cache specially
+      describe: make own copy of refname
+      fetch: make own copies of refnames
+      add_rev_cmdline(): make a copy of the name argument
+      builtin_diff_tree(): make it obvious that function wants two entries
+      cmd_diff(): use an object_array for holding trees
+      cmd_diff(): rename local variable "list" -> "entry"
+      cmd_diff(): make it obvious which cases are exclusive of each other
+      revision: split some overly-long lines
+      object_array: add function object_array_filter()
+      revision: use object_array_filter() in implementation of gc_boundary()
+      object_array_remove_duplicates(): rewrite to reduce copying
+      fsck: don't put a void*-shaped peg in a char*-shaped hole
+      find_first_merges(): initialize merges variable using initializer
+      find_first_merges(): remove unnecessary code
+      object_array_entry: fix memory handling of the name field
+      do_fetch(): reduce scope of peer_item
+      do_fetch(): clean up existing_refs before exiting
+      add_existing(): do not retain a reference to sha1
+      show_head_ref(): do not shadow name of argument
+      show_head_ref(): rename first parameter to "refname"
+      string_list_add_one_ref(): rename first parameter to "refname"
+      string_list_add_refs_by_glob(): add a comment about memory management
+      exclude_existing(): set existing_refs.strdup_strings
+      register_ref(): make a copy of the bad reference SHA-1
+      refs: document the lifetime of the args passed to each_ref_fn
+      resolve_ref_unsafe(): extract function handle_missing_loose_ref()
+      resolve_ref_unsafe(): handle the case of an SHA-1 within loop
+      resolve_ref_unsafe(): close race condition reading loose refs
+      repack_without_ref(): split list curation and entry writing
+      pack_refs(): split creation of packed refs and entry writing
+      refs: wrap the packed refs cache in a level of indirection
+      refs: implement simple transactions for the packed-refs file
+      refs: manage lifetime of packed refs cache via reference counting
+      do_for_each_entry(): increment the packed refs cache refcount
+      packed_ref_cache: increment refcount when locked
+      Extract a struct stat_data from cache_entry
+      add a stat_validity struct
+      refs: do not invalidate the packed-refs cache unnecessarily
+      git-multimail: an improved replacement for post-receive-email
+      post-receive-email: deprecate script in favor of git-multimail
+
+Michael Schubert (1):
+      Change "remote tracking" to "remote-tracking"
+
+Mike Crowe (1):
+      describe: Add --first-parent option
+
+Miklos Vajna (1):
+      merge: handle --ff/--no-ff/--ff-only as a tri-state option
+
+Namhyung Kim (1):
+      name-rev: allow to specify a subpath for --refs option
+
+Nguyễn Thái Ngọc Duy (10):
+      clone: allow cloning local paths with colons in them
+      index-pack: remove dead code (it should never happen)
+      clone: open a shortcut for connectivity check
+      prune-packed: avoid implying "1" is DRY_RUN in prune_packed_objects()
+      get_sha1: warn about full or short object names that look like refs
+      Makefile: promote wildmatch to be the default fnmatch implementation
+      core: use env variable instead of config var to turn on logging pack access
+      git.txt: document GIT_TRACE_PACKET
+      Convert "struct cache_entry *" to "const ..." wherever possible
+      git-clone.txt: remove the restriction on pushing from a shallow clone
+
+Ondřej Bílka (3):
+      typofix: release notes
+      typofix: documentation
+      typofix: in-code comments
+
+Pat Thoyts (7):
+      git-gui: fix the mergetool launcher for the Beyond Compare tool.
+      git-gui: change dialog button positions for Windows to suit platform.
+      Provide a Windows version resource for the git executables.
+      Ensure the resource file is rebuilt when the version changes.
+      Set the default help format to html for msys builds.
+      git-gui: avoid an error message when removing the last remote
+      git-gui 0.18
+
+Peter Krefting (1):
+      commit: reject non-characters
+
+Petr Baudis (1):
+      git stash: avoid data loss when "git stash save" kills a directory
+
+Pierre le Riche (1):
+      msysgit: Add the --large-address-aware linker directive to the makefile.
+
+Ralf Thielow (1):
+      wt-status: give better advice when cherry-pick is in progress
+
+Ramkumar Ramachandra (54):
+      tests: at-combinations: increase coverage
+      tests: at-combinations: @{N} versus HEAD@{N}
+      sha1_name: don't waste cycles in the @-parsing loop
+      sha1_name: check @{-N} errors sooner
+      am: tighten a conditional that checks for $dotest
+      rebase -i: don't error out if $state_dir already exists
+      rebase: prepare to do generic housekeeping
+      am: return control to caller, for housekeeping
+      rebase -i: return control to caller, for housekeeping
+      rebase --merge: return control to caller, for housekeeping
+      prompt: introduce GIT_PS1_STATESEPARATOR
+      prompt: factor out gitstring coloring logic
+      prompt: colorize ZSH prompt
+      rebase: implement --[no-]autostash and rebase.autostash
+      contrib: remove continuous/ and patches/
+      completion: difftool takes both revs and files
+      completion: show can take both revlist and paths
+      rebase: guard against missing files in read_basic_state()
+      rebase: finish_rebase() in fast-forward rebase
+      rebase: finish_rebase() in noop rebase
+      prompt: squelch error output from cat
+      t/rebase: add failing tests for a peculiar revision
+      sh-setup: add new peel_committish() helper
+      rebase: use peel_committish() where appropriate
+      am: handle stray $dotest directory
+      t/am: use test_path_is_missing() where appropriate
+      stash doc: add a warning about using create
+      stash doc: document short form -p in synopsis
+      stash: simplify option parser for create
+      wt-status: remove unused field in grab_1st_switch_cbdata
+      t/t2021-checkout-last: "checkout -" should work after a rebase finishes
+      status: do not depend on rebase reflog messages
+      checkout: respect GIT_REFLOG_ACTION
+      stash: introduce 'git stash store'
+      rebase: use 'git stash store' to simplify logic
+      sequencer: write useful reflog message for fast-forward
+      t/t5528-push-default: remove redundant test_config lines
+      t/t5505-remote: modernize style
+      t/t5505-remote: test push-refspec in branches-file
+      t/t5505-remote: use test_path_is_missing
+      remote: remove dead code in read_branches_file()
+      t/t5505-remote: test url-with-# in branches-file
+      ls-remote doc: fix example invocation on git.git
+      ls-remote doc: rewrite <repository> paragraph
+      ls-remote doc: don't encourage use of branches-file
+      t/t5505-remote: test multiple push/pull in remotes-file
+      config doc: rewrite push.default section
+      rebase: use a better reflog message
+      rebase -i: use a better reflog message
+      push: change `simple` to accommodate triangular workflows
+      t/t5528-push-default: generalize test_push_*
+      t/t5528-push-default: test pushdefault workflows
+      commit: make it work with status.short
+      send-email: be explicit with SSL certificate verification
+
+Ramsay Jones (14):
+      compat/regex/regexec.c: Fix some sparse warnings
+      compat/fnmatch/fnmatch.c: Fix a sparse error
+      compat/nedmalloc: Fix some sparse warnings
+      compat/nedmalloc: Fix compiler warnings on linux
+      compat/unsetenv.c: Fix a sparse warning
+      compat/win32/pthread.c: Fix a sparse warning
+      compat/poll/poll.c: Fix a sparse warning
+      compat/win32mmap.c: Fix some sparse warnings
+      compat/mingw.c: Fix some sparse warnings
+      sparse: Fix mingw_main() argument number/type errors
+      cygwin: Remove the CYGWIN_V15_WIN32API build variable
+      path: Fix a sparse warning
+      Fix some sparse warnings
+      Add the LAST_ARG_MUST_BE_NULL macro
+
+René Scharfe (11):
+      cache: mark cache_entry pointers const
+      read-cache: mark cache_entry pointers const
+      unpack-trees: factor out dup_entry
+      unpack-trees: create working copy of merge entry in merged_entry
+      diff-lib, read-tree, unpack-trees: mark cache_entry pointers const
+      diff-lib, read-tree, unpack-trees: mark cache_entry array paramters const
+      unpack-trees: free cache_entry array members for merges
+      match-trees: factor out fill_tree_desc_strict
+      unpack-trees: don't shift conflicts left and right
+      diffcore-pickaxe: simplify has_changes and contains
+      .mailmap: René Scharfe has a new email address
+
+Richard Hartmann (3):
+      templates: Use heredoc in pre-commit hook
+      templates: Reformat pre-commit hook's message
+      templates: spell ASCII in uppercase in pre-commit hook
+
+SZEDER Gábor (16):
+      bash prompt: fix redirection coding style in tests
+      bash prompt: use 'write_script' helper in interactive rebase test
+      completion, bash prompt: move __gitdir() tests to completion test suite
+      bash prompt: add a test for symbolic link symbolic refs
+      bash prompt: print unique detached HEAD abbreviated object name
+      bash prompt: return early from __git_ps1() when not in a git repository
+      bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
+      bash prompt: use bash builtins to find out rebase state
+      bash prompt: use bash builtins to find out current branch
+      bash prompt: combine 'git rev-parse' executions in the main code path
+      bash prompt: combine 'git rev-parse' for detached head
+      bash prompt: use bash builtins to check for unborn branch for dirty state
+      bash prompt: use bash builtins to check stash state
+      bash prompt: avoid command substitution when checking for untracked files
+      bash prompt: avoid command substitution when finalizing gitstring
+      bash prompt: mention that PROMPT_COMMAND mode is faster
+
+Sebastian Schuberth (1):
+      Makefile: Do not use OLD_ICONV on MINGW anymore
+
+Slava Kardakov (1):
+      Fix `git svn` `rebase` & `dcommit` if top-level HEAD directory exist
+
+Stefan Beller (10):
+      .mailmap: Map "H.Merijn Brand" to "H. Merijn Brand"
+      .mailmap: Map email addresses to names
+      .mailmap: Combine more (email, name) to individual persons
+      daemon.c:handle: Remove unneeded check for null pointer.
+      commit: Fix a memory leak in determine_author_info
+      diff.c: Do not initialize a variable, which gets reassigned anyway.
+      parse_object_buffer: correct freeing the buffer
+      .mailmap: combine more (email, name) to individual persons
+      traverse_trees(): clarify return value of the callback
+      open_istream: remove unneeded check for null pointer
+
+Stefan Haller (1):
+      git-gui: bring wish process to front on Mac
+
+Thomas Gummerer (1):
+      perf-lib: fix start/stop of perf tests
+
+Thomas Rast (25):
+      Implement line-history search (git log -L)
+      log -L: :pattern:file syntax to find by funcname
+      Speed up log -L... -M
+      log -L: check range set invariants when we look it up
+      log -L: fix overlapping input ranges
+      t4211: pass -M to 'git log -M -L...' test
+      log -L: test merge of parallel modify/rename
+      log -L: store the path instead of a diff_filespec
+      log -L: improve comments in process_all_files()
+      git-log(1): remove --full-line-diff description
+      fetch/pull doc: untangle meaning of bare <ref>
+      sha1_file: silence sha1_loose_object_info
+      test-lib: enable MALLOC_* for the actual tests
+      test-lib: refactor $GIT_SKIP_TESTS matching
+      test-lib: rearrange start/end of test_expect_* and test_skip
+      test-lib: self-test that --verbose works
+      test-lib: verbose mode for only tests matching a pattern
+      test-lib: valgrind for only tests matching a pattern
+      test-lib: allow prefixing a custom string before "ok N" etc.
+      test-lib: support running tests under valgrind in parallel
+      run-command: dup_devnull(): guard against syscalls failing
+      daemon/shell: refactor redirection of 0/1/2 from /dev/null
+      git: ensure 0/1/2 are open in main()
+      apply, entry: speak of submodules instead of subprojects
+      show-branch: fix description of --date-order
+
+Tony Finch (1):
+      gitweb: allow extra breadcrumbs to prefix the trail
+
+Torsten Bögershausen (1):
+      t0000: do not use export X=Y
+
+W. Trevor King (4):
+      doc/clone: Remove the '--bare -l -s' example
+      doc/clone: Pick more compelling paths for the --reference example
+      Documentation: Update the NFS remote examples to use the staging repo
+      Documentation: Update 'linux-2.6.git' -> 'linux.git'
+
+Xidorn Quan (1):
+      credential-osxkeychain: support more protocols
+
+brian m. carlson (3):
+      send-email: provide port separately from hostname
+      commit: reject invalid UTF-8 codepoints
+      commit: reject overlong UTF-8 sequences
+
+
+Version v1.8.3.4; changes since v1.8.3.3:
+-----------------------------------------
+
+Dennis Kaarsemaker (2):
+      tests: allow sha1's as part of the path
+      GIT-VERSION-GEN: support non-standard $GIT_DIR path
+
+Fraser Tweedale (2):
+      documentation: add git:// transport security notice
+      diff-options: document default similarity index
+
+Jeff King (5):
+      t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
+      t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
+      t/lib-httpd/apache.conf: load compat access module in apache 2.4
+      t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
+      lib-httpd/apache.conf: check version only after mod_version loads
+
+Johannes Sixt (10):
+      test-chmtime: Fix exit code on Windows
+      t3010: modernize style
+      tests: introduce test_ln_s_add
+      tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
+      t0000: use test_ln_s_add to remove SYMLINKS prerequisite
+      t3030: use test_ln_s_add to remove SYMLINKS prerequisite
+      t3100: use test_ln_s_add to remove SYMLINKS prerequisite
+      t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
+      t6035: use test_ln_s_add to remove SYMLINKS prerequisite
+      t4011: remove SYMLINKS prerequisite
+
+Junio C Hamano (7):
+      fetch-options.txt: prevent a wildcard refspec from getting misformatted
+      diff: demote core.safecrlf=true to core.safecrlf=warn
+      t1512: correct leftover constants from earlier edition
+      get_short_sha1(): correctly disambiguate type-limited abbreviation
+      Start preparing for 1.8.3.4
+      Update draft release notes to 1.8.3.4
+      Git 1.8.3.4
+
+Kevin Bracey (1):
+      Documentation: Move "git diff <blob> <blob>"
+
+Matthieu Moy (2):
+      Documentation/git-push.txt: explain better cases where --force is dangerous
+      Documentation/git-merge.txt: weaken warning about uncommited changes
+
+Michael Haggerty (1):
+      lockfile: fix buffer overflow in path handling
+
+Namhyung Kim (1):
+      config: Add description of --local option
+
+Ondřej Bílka (1):
+      update URL to the marc.info mail archive
+
+Phil Hord (1):
+      fix "builtin-*" references to be "builtin/*"
+
+Ramkumar Ramachandra (2):
+      column doc: rewrite documentation for column.ui
+      name-rev doc: rewrite --stdin paragraph
+
+René Scharfe (9):
+      t5000: integrate export-subst tests into regular tests
+      t5000, t5003: create directories for extracted files lazily
+      t5000: factor out check_tar
+      t5000: use check_tar for prefix test
+      t5000: simplify tar-tree tests
+      t5000: test long filenames
+      read-cache: add simple performance test
+      read-cache: free cache in discard_index
+      use logical OR (||) instead of binary OR (|) in logical context
+
+Stefan Beller (4):
+      archive-zip:write_zip_entry: Remove second reset of size variable to zero.
+      Documentation: "git reset <tree-ish> <pathspec>" takes a tree-ish, not tree-sh
+      http-push.c::add_send_request(): do not initialize transfer_request
+      apply.c::find_name_traditional(): do not initialize len to the line's length
+
+Thomas Rast (7):
+      coverage: split build target into compile and test
+      coverage: do not delete .gcno files before building
+      coverage: set DEFAULT_TEST_TARGET to avoid using prove
+      coverage: build coverage-untested-functions by default
+      Test 'commit --only' after 'checkout --orphan'
+      t9902: fix 'test A == B' to use = operator
+      test-lint: detect 'export FOO=bar'
+
+Torstein Hegge (1):
+      bisect: Fix log output for multi-parent skip ranges
+
+Veres Lajos (1):
+      random typofixes (committed missing a 't', successful missing an 's')
+
+Vitor Antunes (1):
+      t9801: git-p4: check ignore files with client spec
+
+W. Trevor King (1):
+      user-manual: Update download size for Git and the kernel
+
+Yaakov Selkowitz (1):
+      web--browse: support /usr/bin/cygstart on Cygwin
+
+
+Version v1.8.3.3; changes since v1.8.3.2:
+-----------------------------------------
+
+Andrew Pimlott (2):
+      lib-rebase: document exec_ in FAKE_LINES
+      t7500: fix flipped actual/expect
+
+Anthony Ramine (1):
+      wildmatch: properly fold case everywhere
+
+Brandon Casey (1):
+      http.c: don't rewrite the user:passwd string multiple times
+
+Charles McGarvey (1):
+      gitweb: fix problem causing erroneous project list
+
+Chris Rorvick (1):
+      git.txt: remove stale comment regarding GIT_WORK_TREE
+
+Clemens Buchacher (1):
+      fix segfault with git log -c --follow
+
+David Aguilar (4):
+      Makefile: fix default regex settings on Darwin
+      Makefile: add support for Apple CommonCrypto facility
+      cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
+      imap-send: eliminate HMAC deprecation warnings on Mac OS X
+
+Dmitry Marakasov (1):
+      contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
+
+Felipe Contreras (4):
+      read-cache: fix wrong 'the_index' usage
+      read-cache: trivial style cleanups
+      sequencer: remove useless indentation
+      sequencer: avoid leaking message buffer when refusing to create an empty commit
+
+Filipe Cabecinhas (1):
+      compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
+
+Fredrik Gustafsson (1):
+      handle multibyte characters in name
+
+Jeff King (1):
+      pull: update unborn branch tip after index
+
+John Keeping (1):
+      git-config: update doc for --get with multiple values
+
+Junio C Hamano (6):
+      deprecate core.statinfo at Git 2.0 boundary
+      t5551: do not use unportable sed '\+'
+      Documentation/diff-index: mention two modes of operation
+      Start preparing for 1.8.3.3
+      Update draft release notes to 1.8.3.3
+      Git 1.8.3.3
+
+Michael S. Tsirkin (9):
+      t/send-email.sh: add test for suppress-cc=self
+      send-email: fix suppress-cc=self on cccmd
+      t/send-email: test suppress-cc=self on cccmd
+      send-email: make --suppress-cc=self sanitize input
+      t/send-email: add test with quoted sender
+      t/send-email: test suppress-cc=self with non-ascii
+      test-send-email: test for pre-sanitized self name
+      send-email: add test for duplicate utf8 name
+      send-email: sanitize author when writing From line
+
+Ramkumar Ramachandra (6):
+      sha1_name: fix error message for @{u}
+      sha1_name: fix error message for @{<N>}, @{<date>}
+      diffcore-pickaxe: make error messages more consistent
+      diffcore-pickaxe doc: document -S and -G properly
+      check-ignore doc: fix broken link to ls-files page
+      fixup-builtins: retire an old transition helper script
+
+René Scharfe (2):
+      t5004: avoid using tar for checking emptiness of archive
+      t5004: resurrect original empty tar archive test
+
+Richard Hansen (1):
+      Documentation/merge-options.txt: restore `-e` option
+
+SZEDER Gábor (1):
+      test: spell 'ls-files --delete' option correctly in test descriptions
+
+Thomas Rast (2):
+      pull: merge into unborn by fast-forwarding from empty tree
+      apply: carefully strdup a possibly-NULL name
+
+Torsten Bögershausen (1):
+      t7400: test of UTF-8 submodule names pass under Mac OS
+
+Vikrant Varma (2):
+      help: add help_unknown_ref()
+      merge: use help_unknown_ref()
+
+
+Version v1.8.3.2; changes since v1.8.3.1:
+-----------------------------------------
+
+Felipe Contreras (1):
+      prompt: fix for simple rebase
+
+Johan Herland (8):
+      t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
+      t2024: Show failure to use refspec when DWIMming remote branch names
+      checkout: Use remote refspecs when DWIMming tracking branches
+      t3200.39: tracking setup should fail if there is no matching refspec.
+      t7201.24: Add refspec to keep --track working
+      t9114.2: Don't use --track option against "svn-remote"-tracking branches
+      branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
+      glossary: Update and rephrase the definition of a remote-tracking branch
+
+John Keeping (1):
+      contrib/subtree: don't delete remote branches if split fails
+
+Junio C Hamano (3):
+      strbuf_branchname(): do not double-expand @{-1}~22
+      Start preparing for 1.8.3.2
+      Git 1.8.3.2
+
+Kenichi Saita (1):
+      difftool --dir-diff: allow changing any clean working tree file
+
+Kevin Bracey (2):
+      t6019: demonstrate --ancestry-path A...B breakage
+      revision.c: treat A...B merge bases as if manually specified
+
+Matthijs Kooijman (1):
+      combine-diff.c: Fix output when changes are exactly 3 lines apart
+
+Michael Heemskerk (2):
+      upload-pack: ignore 'shallow' lines with unknown obj-ids
+      t5500: add test for fetching with an unknown 'shallow'
+
+Nguyễn Thái Ngọc Duy (3):
+      clone: let the user know when check_everything_connected is run
+      urls.txt: avoid auto converting to hyperlink
+      fetch-pack: prepare updated shallow file before fetching the pack
+
+Ramkumar Ramachandra (4):
+      push: factor out the detached HEAD error message
+      push: fail early with detached HEAD and current
+      push: make push.default = current use resolved HEAD
+      completion: complete diff --word-diff
+
+René Scharfe (1):
+      commit: don't start editor if empty message is given with -m
+
+Stefano Lattarini (1):
+      configure: fix option help message for --disable-pthreads
+
+Thomas Gummerer (1):
+      prompt: fix show upstream with svn and zsh
+
+Thomas Rast (1):
+      Document push --no-verify
+
+Torsten Bögershausen (1):
+      t0070 "mktemp to unwritable directory" needs SANITY
+
+Wieland Hoffmann (1):
+      pre-push.sample: Make the script executable
+
+
+Version v1.8.3.1; changes since v1.8.3:
+---------------------------------------
+
+Erik Faye-Lund (1):
+      mingw: make mingw_signal return the correct handler
+
+Felipe Contreras (1):
+      sha1_file: trivial style cleanup
+
+Fredrik Gustafsson (1):
+      Document .git/modules
+
+Jonathan Nieder (1):
+      config: allow inaccessible configuration under $HOME
+
+Junio C Hamano (3):
+      Start 1.8.3.1 maintenance track
+      t/README: test_must_fail is for testing Git
+      Git 1.8.3.1
+
+Karsten Blees (1):
+      dir.c: fix ignore processing within not-ignored directories
+
+Phil Hord (1):
+      trivial: Add missing period in documentation
+
+René Scharfe (1):
+      submodule: remove redundant check for the_index.initialized
+
+
+Version v1.8.3; changes since v1.8.3-rc3:
+-----------------------------------------
+
+Amit Bakshi (1):
+      remote-hg: set stdout to binary mode on win32
+
+Felipe Contreras (3):
+      completion: regression fix for zsh
+      remote-hg: trivial configuration note cleanup
+      remote-hg: fix order of configuration comments
+
+Jonathan Nieder (1):
+      git-svn: clarify explanation of --destination argument
+
+Junio C Hamano (1):
+      Git 1.8.3
+
+Nathan Gray (1):
+      git-svn: multiple fetch/branches/tags keys are supported
+
+Tobias Schulte (1):
+      git-svn: introduce --parents parameter for commands branch and tag
+
+
+Version v1.8.3-rc3; changes since v1.8.3-rc2:
+---------------------------------------------
+
+Dale R. Worley (1):
+      git-submodule.txt: Clarify 'init' and 'add' subcommands.
+
+Dale Worley (1):
+      CodingGuidelines: Documentation/*.txt are the sources
+
+Felipe Contreras (13):
+      remote-bzr: update old organization
+      remote-hg: trivial cleanups
+      remote-hg: get rid of unused exception checks
+      remote-hg: enable track-branches in hg-git mode
+      remote-hg: add new get_config_bool() helper
+      remote-hg: fix new branch creation
+      remote-hg: disable forced push by default
+      remote-hg: don't push fake 'master' bookmark
+      remote-hg: update bookmarks when pulling
+      remote-bzr: fix cloning of non-listable repos
+      Revert "remote-hg: update bookmarks when pulling"
+      remote-bzr: fixes for older versions of bzr
+      documentation: trivial style cleanups
+
+John Keeping (1):
+      difftool: fix dir-diff when file does not exist in working tree
+
+Junio C Hamano (1):
+      Git 1.8.3-rc3
+
+Peter Krefting (1):
+      gitk: Update Swedish translation (304t)
+
+Sandor Bodo-Merle (1):
+      remote-bzr: fix old organization destroy
+
+
+Version v1.8.3-rc2; changes since v1.8.3-rc1:
+---------------------------------------------
+
+Anand Kumria (1):
+      gitk: Display the date of a tag in a human-friendly way
+
+David Aguilar (1):
+      mergetools/kdiff3: do not use --auto when diffing
+
+Felipe Contreras (25):
+      remote-bzr: cleanup CustomTree
+      remote-bzr: delay blob fetching until the very end
+      remote-bzr: fix order of locking in CustomTree
+      remote-bzr: always try to update the worktree
+      remote-bzr: add support to push merges
+      remote-bzr: fixes for branch diverge
+      remote-bzr: fix partially pushed merge
+      remote-bzr: use branch variable when appropriate
+      remote-bzr: add support for bzr repos
+      remote-bzr: fix branch names
+      remote-bzr: add support for shared repo
+      remote-bzr: improve author sanitazion
+      remote-bzr: add custom method to find branches
+      remote-bzr: add option to specify branches
+      remote-bzr: improve progress reporting
+      remote-bzr: iterate revisions properly
+      remote-bzr: delay peer branch usage
+      remote-bzr: access branches only when needed
+      transport-helper: improve push messages
+      remote-bzr: convert all unicode keys to str
+      remote-bzr: avoid bad refs
+      remote-bzr: fix for disappeared revisions
+      remote-helpers: trivial cleanup
+      transport-helper: trivial style cleanup
+      gitk: Simplify file filtering
+
+Gauthier Östervall (1):
+      gitk: Move hard-coded colors to .gitk
+
+Jiang Xin (2):
+      l10n: git.pot: v1.8.3 round 2 (44 new, 12 removed)
+      l10n: zh_CN.po: translate 44 messages (2080t0f0u)
+
+John Keeping (1):
+      merge-tree: handle directory/empty conflict correctly
+
+Jonathan Nieder (1):
+      Git::SVN::*: add missing "NAME" section to perldoc
+
+Junio C Hamano (4):
+      Update draft release notes for 1.8.3
+      cherry-pick: picking a tag that resolves to a commit is OK
+      Git 1.8.2.3
+      Git 1.8.3-rc2
+
+Knut Franke (1):
+      gitk: Add menu item for reverting commits
+
+Martin Langhoff (1):
+      gitk: Add support for -G'regex' pickaxe variant
+
+Michael Contreras (1):
+      git-svn: avoid self-referencing mergeinfo
+
+Paul Mackerras (1):
+      gitk: Improve behaviour of drop-down lists
+
+Paul Walmsley (1):
+      git-svn: added an --include-path flag
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2080t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 44 new messages
+
+René Scharfe (2):
+      t5004: ignore pax global header file
+      t5004: avoid using tar for checking emptiness of archive
+
+Tair Sabirgaliev (1):
+      gitk: On OSX, bring the gitk window to front
+
+Torsten Bögershausen (1):
+      test-bzr: do not use unportable sed '\+'
+
+Trần Ngọc Quân (1):
+      l10n: Update Vietnamese translation (2080t0f0u)
+
+
+Version v1.8.3-rc1; changes since v1.8.3-rc0:
+---------------------------------------------
+
+Anders Granskogen Bjørnstad (1):
+      Documentation/git-commit: Typo under --edit
+
+Felipe Contreras (5):
+      completion: add missing format-patch options
+      documentation: trivial whitespace cleanups
+      complete: zsh: trivial simplification
+      complete: zsh: use zsh completion for the main cmd
+      completion: zsh: don't override suffix on _detault
+
+H. Merijn Brand (1):
+      Git.pm: call tempfile from File::Temp as a regular function
+
+John Keeping (2):
+      merge-tree: fix typo in "both changed identically"
+      t/Makefile: remove smoke test targets
+
+Junio C Hamano (2):
+      Update draft release notes to 1.8.3
+      Git 1.8.3-rc1
+
+Marc Branchaud (1):
+      Fix grammar in the 1.8.3 release notes.
+
+Ramkumar Ramachandra (5):
+      git-completion.bash: lexical sorting for diff.statGraphWidth
+      git-completion.bash: add diff.submodule to config list
+      git-completion.bash: complete branch.*.rebase as boolean
+      git-completion.bash: add branch.*.pushremote to config list
+      git-completion.bash: add remote.pushdefault to config list
+
+Ramsay Jones (2):
+      clone: Make the 'junk_mode' symbol a file static
+      pretty: Fix bug in truncation support for %>, %< and %><
+
+René Scharfe (3):
+      pretty: simplify input line length calculation in pp_user_info()
+      pretty: simplify output line length calculation in pp_user_info()
+      pretty: remove intermediate strbufs from pp_user_info()
+
+Thomas Rast (4):
+      remote: add a test for extra arguments, according to docs
+      remote: check for superfluous arguments in 'git remote add'
+      remote: 'show' and 'prune' can take more than one remote
+      unpack_entry: avoid freeing objects in base cache
+
+Zoltan Klinger (1):
+      bash-prompt.sh: show where rebase is at when stopped
+
+
+Version v1.8.3-rc0; changes since v1.8.2.3:
+-------------------------------------------
+
+Aaron Schrab (2):
+      clone: Fix error message for reference repository
+      clone: Allow repo using gitfile as a reference
+
+Antoine Pelisse (5):
+      combine-diff: coalesce lost lines optimally
+      fast-export: Allow pruned-references in mark file
+      strbuf: create strbuf_humanise_bytes() to show byte sizes
+      count-objects: add -H option to humanize sizes
+      remote-hg: activate graphlog extension for hg_log()
+
+Brad King (1):
+      commit-tree: document -S option consistently
+
+Brandon Casey (11):
+      commit, cherry-pick -s: remove broken support for multiline rfc2822 fields
+      t/test-lib-functions.sh: allow to specify the tag name to test_commit
+      t/t3511: add some tests of 'cherry-pick -s' functionality
+      sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer
+      sequencer.c: require a conforming footer to be preceded by a blank line
+      sequencer.c: always separate "(cherry picked from" from commit body
+      sequencer.c: teach append_signoff how to detect duplicate s-o-b
+      sequencer.c: teach append_signoff to avoid adding a duplicate newline
+      Unify appending signoff in format-patch, commit and sequencer
+      t7502: perform commits using alternate editor in a subshell
+      git-commit: populate the edit buffer with 2 blank lines before s-o-b
+
+Brian Gernhardt (3):
+      t5550: do not assume the "matching" push is the default
+      t5551: do not assume the "matching" push is the default
+      t5570: do not assume the "matching" push is the default
+
+Christophe Simonis (3):
+      remote-bzr: fix directory renaming
+      remote-bzr: remove files before modifications
+      remote-bzr: fix utf-8 support for fetching
+
+David Aguilar (4):
+      difftool: silence uninitialized variable warning
+      t7800: update copyright notice
+      t7800: modernize tests
+      t7800: "defaults" is no longer a builtin tool name
+
+David Engster (1):
+      remote-bzr: set author if available
+
+Dusty Phillips (3):
+      remote-hg: add missing config variable in doc
+      remote-hg: push to the appropriate branch
+      remote-helpers: avoid has_key
+
+Felipe Contreras (64):
+      remote-bzr: avoid echo -n
+      remote-helpers: fix the run of all tests
+      remote-bzr: remove stale check code for tests
+      remote-hg: fix hg-git test-case
+      remote-bzr: only update workingtree on local repos
+      remote-bzr: avoid unreferred tags
+      remote-bzr: add utf-8 support for pushing
+      send-email: make annotate configurable
+      format-patch: improve head calculation for cover-letter
+      format-patch: refactor branch name calculation
+      log: update to OPT_BOOL
+      format-patch: add format.coverLetter configuration variable
+      format-patch: trivial cleanups
+      remote-bzr: improve tag handling
+      remote-hg: trivial cleanups
+      remote-hg: properly report errors on bookmark pushes
+      remote-hg: make sure fake bookmarks are updated
+      remote-hg: trivial test cleanups
+      remote-hg: redirect buggy mercurial output
+      remote-hg: split bookmark handling
+      remote-hg: refactor export
+      remote-hg: update remote bookmarks
+      remote-hg: update tags globally
+      remote-hg: force remote push
+      remote-hg: show more proper errors
+      remote-hg: add basic author tests
+      remote-hg: add simple mail test
+      remote-hg: fix bad state issue
+      remote-hg: fix bad file paths
+      completion: add more cherry-pick options
+      completion: trivial test improvement
+      completion: get rid of empty COMPREPLY assignments
+      rebase-am: explicitly disable cover-letter
+      completion: add new __gitcompadd helper
+      completion: add __gitcomp_nl tests
+      completion: get rid of compgen
+      completion: inline __gitcomp_1 to its sole callsite
+      completion: small optimization
+      branch: colour upstream branches
+      remote-bzr: fix prefix of tags
+      remote-hg: safer bookmark pushing
+      remote-hg: use python urlparse
+      remote-hg: properly mark branches up-to-date
+      remote-hg: add branch_tip() helper
+      remote-hg: add support for tag objects
+      remote-hg: custom method to write tags
+      remote-hg: write tags in the appropriate branch
+      remote-hg: add custom local tag write code
+      remote-hg: improve email sanitation
+      remote-hg: add support for schemes extension
+      remote-hg: don't update bookmarks unnecessarily
+      remote-hg: allow refs with spaces
+      remote-hg: small performance improvement
+      remote-hg: use marks instead of inlined files
+      remote-hg: strip extra newline
+      remote-bzr: use proper push method
+      remote-helpers: trivial cleanups
+      remote-hg: remove extra check
+      remote-bzr: fix bad state issue
+      remote-bzr: add support to push URLs
+      remote-hg: use hashlib instead of hg sha1 util
+      remote-bzr: store converted URL
+      remote-bzr: tell bazaar to be quiet
+      remote-bzr: strip extra newline
+
+Jacob Sarvis (1):
+      log: read gpg settings for signed commit verification
+
+Jeff King (53):
+      upload-pack: use get_sha1_hex to parse "shallow" lines
+      upload-pack: do not add duplicate objects to shallow list
+      upload-pack: remove packet debugging harness
+      fetch-pack: fix out-of-bounds buffer offset in get_ack
+      send-pack: prefer prefixcmp over memcmp in receive_status
+      upload-archive: do not copy repo name
+      upload-archive: use argv_array to store client arguments
+      write_or_die: raise SIGPIPE when we get EPIPE
+      pkt-line: move a misplaced comment
+      pkt-line: drop safe_write function
+      pkt-line: provide a generic reading function with options
+      pkt-line: teach packet_read_line to chomp newlines
+      pkt-line: move LARGE_PACKET_MAX definition from sideband
+      pkt-line: provide a LARGE_PACKET_MAX static buffer
+      pkt-line: share buffer/descriptor reading implementation
+      teach get_remote_heads to read from a memory buffer
+      remote-curl: pass buffer straight to get_remote_heads
+      remote-curl: move ref-parsing code up in file
+      remote-curl: always parse incoming refs
+      t2200: check that "add -u" limits itself to subdirectory
+      fast-export: rename handle_object function
+      fast-export: do not load blob objects twice
+      do not use GIT_TRACE_PACKET=3 in tests
+      stream_blob_to_fd: detect errors reading from stream
+      check_sha1_signature: check return value from read_istream
+      read_istream_filtered: propagate read error from upstream
+      avoid infinite loop in read_istream_loose
+      add test for streaming corrupt blobs
+      streaming_write_entry: propagate streaming errors
+      add tests for cloning corrupted repositories
+      clone: die on errors from unpack_trees
+      clone: run check_everything_connected
+      t1300: document some aesthetic failures of the config editor
+      clone: leave repo in place after checkout errors
+      t5516 (fetch-push): drop implicit arguments from helper functions
+      t3200: test --set-upstream-to with bogus refs
+      branch: factor out "upstream is not a branch" error messages
+      branch: improve error message for missing --set-upstream-to ref
+      branch: mention start_name in set-upstream error messages
+      branch: give advice when tracking start-point is missing
+      rm: do not complain about d/f conflicts during deletion
+      t3600: test behavior of reverse-d/f conflict
+      t3600: document failure of rm across symbolic links
+      http: add HTTP_KEEP_ERROR option
+      remote-curl: show server content on http errors
+      remote-curl: let servers override http 404 advice
+      remote-curl: always show friendlier 404 message
+      remote-curl: consistently report repo url for http errors
+      http: simplify http_error helper function
+      http: re-word http error message
+      remote-curl: die directly with http error messages
+      http: drop http_error function
+      http: set curl FAILONERROR each time we select a handle
+
+Jens Lehmann (2):
+      submodule: add 'deinit' command
+      submodule deinit: clarify work tree removal message
+
+Jiang Xin (3):
+      l10n: git.pot: v1.8.3 round 1 (54 new, 15 removed)
+      l10n: zh_CN.po: translate 54 messages (2048t0f0u)
+      i18n: branch: mark strings for translation
+
+John Keeping (16):
+      Makefile: make mandir, htmldir and infodir absolute
+      git-difftool(1): fix formatting of --symlink description
+      difftool: avoid double slashes in symlink targets
+      difftool --dir-diff: symlink all files matching the working tree
+      refs.c: fix fread error handling
+      t7800: move '--symlinks' specific test to the end
+      difftool: don't overwrite modified files
+      t7800: don't hide grep output
+      t7800: fix tests when difftool uses --no-symlinks
+      t7800: run --dir-diff tests with and without symlinks
+      submodule: print graph output next to submodule log
+      gitremote-helpers(1): clarify refspec behaviour
+      merge-tree: don't print entries that match "local"
+      fast-export: add --signed-tags=warn-strip mode
+      transport-helper: pass --signed-tags=warn-strip to fast-export
+      transport-helper: add 'signed-tags' capability
+
+John Koleszar (1):
+      http-backend: respect GIT_NAMESPACE with dumb clients
+
+John Szakmeister (1):
+      git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X
+
+Jonathan Nieder (11):
+      sequencer.c: rework search for start of footer to improve clarity
+      shell doc: emphasize purpose and security model
+      shell: new no-interactive-login command to print a custom message
+      push test: use test_config when appropriate
+      push test: simplify check of push result
+      push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi'
+      add: make pathless 'add [-u|-A]' warning a file-global function
+      add: make warn_pathless_add() a no-op after first call
+      add -u: only show pathless 'add -u' warning when changes exist outside cwd
+      add -A: only show pathless 'add -A' warning when changes exist outside cwd
+      convert: The native line-ending is \r\n on MinGW
+
+Jonathon Mah (1):
+      branch: give better message when no names specified for rename
+
+Junio C Hamano (53):
+      t5404: do not assume the "matching" push is the default
+      t5505: do not assume the "matching" push is the default
+      t5516: do not assume the "matching" push is the default
+      t5517: do not assume the "matching" push is the default
+      t5519: do not assume the "matching" push is the default
+      t5531: do not assume the "matching" push is the default
+      t7406: do not assume the "matching" push is the default
+      t9400: do not assume the "matching" push is the default
+      t9401: do not assume the "matching" push is the default
+      simplify-merges: drop merge from irrelevant side branch
+      config.mak.in: remove unused definitions
+      parse_fetch_refspec(): clarify the codeflow a bit
+      fetch: use struct ref to represent refs to be fetched
+      upload-pack: optionally allow fetching from the tips of hidden refs
+      fetch: fetch objects by their exact SHA-1 object names
+      Makefile: do not export mandir/htmldir/infodir
+      match_push_refs(): nobody sets src->peer_ref anymore
+      commit.c: add clear_commit_marks_many()
+      commit.c: add in_merge_bases_many()
+      commit.c: use clear_commit_marks_many() in in_merge_bases_many()
+      push: --follow-tags
+      for_each_reflog_ent(): extract a helper to process a single entry
+      for_each_recent_reflog_ent(): simplify opening of a reflog file
+      reflog: add for_each_reflog_ent_reverse() API
+      builtin/add.c: simplify boolean variables
+      git add: start preparing for "git add <pathspec>..." to default to "-A"
+      Start the post 1.8.2 cycle
+      The first wave of topics for 1.8.3
+      Update draft release notes to 1.8.3
+      merge-one-file: remove stale comment
+      merge-one-file: force content conflict for "both sides added" case
+      Second wave of topics toward 1.8.3
+      More topics from the second batch for 1.8.3
+      peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish
+      peel_onion(): teach $foo^{object} peeler
+      Update draft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      Revert 4b7f53da7618 (simplify-merges: drop merge from irrelevant side branch, 2013-01-17)
+      Update dtaft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      git add: rework the logic to warn "git add <pathspec>..." default change
+      Update draft release notes to 1.8.3
+      Update draft release notes to 1.8.3
+      git add: rephrase the "removal will cease to be ignored" warning
+      Update draft release notes to 1.8.3
+      git add: --ignore-removal is a better named --no-all
+      git add: rephrase -A/--no-all warning
+      Update draft release notes to 1.8.3
+      git add: avoid "-u/-A without pathspec" warning on stat-dirty paths
+      Git 1.8.3-rc0
+
+Karsten Blees (14):
+      dir.c: git-status --ignored: don't drop ignored directories
+      dir.c: git-status --ignored: don't list files in ignored directories
+      dir.c: git-status --ignored: don't list empty ignored directories
+      dir.c: git-ls-files --directories: don't hide empty directories
+      dir.c: git-status --ignored: don't list empty directories as ignored
+      dir.c: make 'git-status --ignored' work within leading directories
+      dir.c: git-clean -d -X: don't delete tracked directories
+      dir.c: factor out parts of last_exclude_matching for later reuse
+      dir.c: move prep_exclude
+      dir.c: unify is_excluded and is_path_excluded APIs
+      dir.c: replace is_path_excluded with now equivalent is_excluded API
+      dir.c: git-status: avoid is_excluded checks for tracked files
+      dir.c: git-status --ignored: don't scan the work tree three times
+      dir.c: git-status --ignored: don't scan the work tree twice
+
+Kevin Bracey (5):
+      mergetools/p4merge: swap LOCAL and REMOTE
+      mergetools/p4merge: create a base if none available
+      git-merge-one-file: style cleanup
+      git-merge-one-file: send "ERROR:" messages to stderr
+      checkout: abbreviate hash in suggest_reattach
+
+Kirill Smelkov (1):
+      Fix `make install` when configured with autoconf
+
+Lukas Fleischer (3):
+      attr.c: extract read_index_data() as read_blob_data_from_index()
+      read_blob_data_from_index(): optionally return the size of blob data
+      convert.c: remove duplicate code
+
+Matthieu Moy (3):
+      status: show 'revert' state and status hint
+      status: show commit sha1 in "You are currently reverting" message
+      add: add a blank line at the end of pathless 'add [-u|-A]' warning
+
+Michael Haggerty (1):
+      rev-parse: clarify documentation for the --verify option
+
+Michal Nazarewicz (6):
+      Git.pm: allow command_close_bidi_pipe to be called as method
+      Git.pm: fix example in command_close_bidi_pipe documentation
+      Git.pm: refactor command_close_bidi_pipe to use _cmd_close
+      Git.pm: allow pipes to be closed prior to calling command_close_bidi_pipe
+      Git.pm: add interface for git credential command
+      git-send-email: use git credential to obtain password
+
+Mike Gorchak (2):
+      date.c: fix unsigned time_t comparison
+      Fix time offset calculation in case of unsigned time_t
+
+Miklos Vajna (1):
+      cherry-pick: make sure all input objects are commits
+
+Miklós Fazekas (1):
+      git p4: avoid expanding client paths in chdir
+
+Modestas Vainius (1):
+      Support FTP-over-SSL/TLS for regular FTP
+
+Nguyễn Thái Ngọc Duy (28):
+      git-count-objects.txt: describe each line in -v output
+      t4014: more tests about appending s-o-b lines
+      format-patch: update append_signoff prototype
+      sha1_file: reorder code in prepare_packed_git_one()
+      count-objects: report garbage files in pack directory too
+      count-objects: report how much disk space taken by garbage files
+      wt-status: move strbuf into read_and_strip_branch()
+      wt-status: split wt_status_state parsing function out
+      wt-status: move wt_status_get_state() out to wt_status_print()
+      status: show more info than "currently not on any branch"
+      branch: show more information when HEAD is detached
+      Preallocate hash tables when the number of inserts are known in advance
+      status, branch: fix the misleading "bisecting" message
+      checkout: avoid unnecessary match_pathspec calls
+      checkout: add --ignore-skip-worktree-bits in sparse checkout mode
+      pretty: save commit encoding from logmsg_reencode if the caller needs it
+      pretty: get the correct encoding for --pretty:format=%e
+      pretty-formats.txt: wrap long lines
+      pretty: share code between format_decoration and show_decorations
+      utf8.c: move display_mode_esc_sequence_len() for use by other functions
+      utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
+      utf8.c: add reencode_string_len() that can handle NULs in string
+      pretty: two phase conversion for non utf-8 commits
+      pretty: split color parsing into a separate function
+      pretty: add %C(auto) for auto-coloring
+      pretty: support padding placeholders, %< %> and %><
+      pretty: support truncating in %>, %< and %><
+      pretty: support %>> that steal trailing spaces
+
+Pete Wyckoff (2):
+      git p4 test: make sure P4CONFIG relative path works
+      git p4 test: should honor symlink in p4 client root
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2048t0f0u)
+
+Peter van Zetten (1):
+      remote-hg: fix for files with spaces
+
+Phil Hord (1):
+      rebase: find orig_head unambiguously
+
+Philip Oakley (5):
+      builtin/help.c: split "-a" processing into two
+      builtin/help.c: add --guide option
+      builtin/help.c: add list_common_guides_help() function
+      help: mention -a and -g option, and 'git help <concept>' usage.
+      doc: include --guide option description for "git help"
+
+Ralf Thielow (1):
+      l10n: de.po: translate 54 new messages
+
+Ramkumar Ramachandra (14):
+      t5520: use test_config to set/unset git config variables (leftover bits)
+      remote.c: simplify a bit of code using git_config_string()
+      t5516 (fetch-push): update test description
+      remote.c: introduce a way to have different remotes for fetch/push
+      remote.c: introduce remote.pushdefault
+      remote.c: introduce branch.<name>.pushremote
+      git-shortlog.txt: remove (-h|--help) from OPTIONS
+      revisions.txt: clarify the .. and ... syntax
+      git-log.txt: order OPTIONS properly; move <since>..<until>
+      git-log.txt: generalize <since>..<until>
+      git-log.txt: rewrite note on why "--" may be required
+      git-shortlog.txt: make SYNOPSIS match log, update OPTIONS
+      builtin/log.c: make usage string consistent with doc
+      builtin/shortlog.c: make usage string consistent with log
+
+Ramsay Jones (5):
+      msvc: Fix compilation errors caused by poll.h emulation
+      msvc: git-daemon: Fix linker "unresolved external" errors
+      msvc: Fix build by adding missing symbol defines
+      msvc: test-svn-fe: Fix linker "unresolved external" error
+      msvc: avoid collisions between "tags" and "TAGS"
+
+René Scharfe (1):
+      archive-zip: use deflateInit2() to ask for raw compressed data
+
+Sebastian Götte (5):
+      Move commit GPG signature verification to commit.c
+      commit.c/GPG signature verification: Also look at the first GPG status line
+      merge/pull: verify GPG signatures of commits being merged
+      merge/pull Check for untrusted good GPG signatures
+      pretty printing: extend %G? to include 'N' and 'U'
+
+Sebastian Schuberth (1):
+      git-svn: Support custom tunnel schemes instead of SSH only
+
+Simon Ruderich (4):
+      git-am: show the final log message on "Applying:" indicator
+      remote-hg: add 'insecure' option
+      remote-hg: document location of stored hg repository
+      help: mark common_guides[] as translatable
+
+Stefano Lattarini (1):
+      zlib: fix compilation failures with Sun C Compilaer
+
+Steven Walter (1):
+      safe_create_leading_directories: fix race that could give a false negative
+
+Ted Zlatanov (1):
+      Add contrib/credentials/netrc with GPG support
+
+Thomas Rast (8):
+      sha1_file: remove recursion in packed_object_info
+      Refactor parts of in_delta_base_cache/cache_or_unpack_entry
+      sha1_file: remove recursion in unpack_entry
+      Avoid loading commits twice in log with diffs
+      t/README: --valgrind already implies -v
+      tests: parameterize --valgrind option
+      tests --valgrind: provide a mode without --track-origins
+      tests: notice valgrind error in test_must_fail
+
+Timotheus Pokorra (1):
+      remote-bzr: add utf-8 support for fetching
+
+Torstein Hegge (3):
+      t9903: Don't fail when run from path accessed through symlink
+      bisect: Store first bad commit as comment in log file
+      bisect: Log possibly bad, skipped commits at bisection end
+
+Torsten Bögershausen (4):
+      Make core.sharedRepository work under cygwin 1.7
+      path.c: simplify adjust_shared_perm()
+      path.c: optimize adjust_shared_perm()
+      test-bzr: portable shell and utf-8 strings for Mac OS
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: Update translation (2048t0u0f)
+
+Yann Droneaud (12):
+      t3400: use test_config to set/unset git config variables
+      t4304: use test_config to set/unset git config variables
+      t4034: use test_config/test_unconfig to set/unset git config variables
+      t4202: use test_config/test_unconfig to set/unset git config variables
+      t5520: use test_config to set/unset git config variables
+      t5541: use test_config to set/unset git config variables
+      t7500: use test_config to set/unset git config variables
+      t7508: use test_config to set/unset git config variables
+      t9500: use test_config to set/unset git config variables
+      t7502: use test_config to set/unset git config variables
+      t7502: remove clear_config
+      t7600: use test_config to set/unset git config variables
+
+
+Version v1.8.2.3; changes since v1.8.2.2:
+-----------------------------------------
+
+Anders Granskogen Bjørnstad (1):
+      Documentation/git-commit: Typo under --edit
+
+David Aguilar (1):
+      mergetools/kdiff3: do not use --auto when diffing
+
+Felipe Contreras (5):
+      documentation: trivial whitespace cleanups
+      complete: zsh: trivial simplification
+      complete: zsh: use zsh completion for the main cmd
+      completion: zsh: don't override suffix on _detault
+      transport-helper: trivial style cleanup
+
+John Keeping (1):
+      t/Makefile: remove smoke test targets
+
+Jonathan Nieder (1):
+      glossary: a revision is just a commit
+
+Junio C Hamano (1):
+      Git 1.8.2.3
+
+Ramkumar Ramachandra (3):
+      git-completion.bash: lexical sorting for diff.statGraphWidth
+      git-completion.bash: add diff.submodule to config list
+      git-completion.bash: complete branch.*.rebase as boolean
+
+René Scharfe (2):
+      t5004: ignore pax global header file
+      t5004: avoid using tar for checking emptiness of archive
+
+Thomas Rast (4):
+      read_revisions_from_stdin: make copies for handle_revision_arg
+      remote: add a test for extra arguments, according to docs
+      remote: check for superfluous arguments in 'git remote add'
+      remote: 'show' and 'prune' can take more than one remote
+
+
+Version v1.8.2.2; changes since v1.8.2.1:
+-----------------------------------------
+
+Adam Spiers (1):
+      t: make PIPE a standard test prerequisite
+
+Antoine Pelisse (2):
+      fix clang -Wtautological-compare with unsigned enum
+      Allow combined diff to ignore white-spaces
+
+Benoit Bourbie (1):
+      Typo fix: replacing it's -> its
+
+Carlos Martín Nieto (1):
+      Documentation/git-commit: reword the --amend explanation
+
+David Aguilar (1):
+      help.c: add a compatibility comment to cmd_version()
+
+Felipe Contreras (2):
+      remote-hg: fix commit messages
+      prompt: fix untracked files for zsh
+
+Jakub Narębski (1):
+      gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM
+
+Jeff King (13):
+      submodule: clarify logic in show_submodule_summary
+      filter-branch: return to original dir after filtering
+      diffcore-pickaxe: remove fill_one()
+      diffcore-pickaxe: unify code for log -S/-G
+      show-branch: use strbuf instead of static buffer
+      doc/http-backend: clarify "half-auth" repo configuration
+      doc/http-backend: give some lighttpd config examples
+      doc/http-backend: match query-string in apache half-auth example
+      t/test-lib.sh: drop "$test" variable
+      usage: allow pluggable die-recursion checks
+      run-command: use thread-aware die_is_recursing routine
+      cat-file: print tags raw for "cat-file -p"
+      receive-pack: close sideband fd on early pack errors
+
+Jiang Xin (1):
+      i18n: make the translation of -u advice in one go
+
+Johannes Sixt (3):
+      rerere forget: grok files containing NUL
+      rerere forget: do not segfault if not all stages are present
+      t6200: avoid path mangling issue on Windows
+
+John Keeping (5):
+      diffcore-break: don't divide by zero
+      bisect: avoid signed integer overflow
+      git-merge(1): document diff-algorithm option to merge-recursive
+      diff: allow unstuck arguments with --diff-algorithm
+      t/test-lib.sh: fix TRASH_DIRECTORY handling
+
+Jonathan Nieder (1):
+      gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility
+
+Junio C Hamano (13):
+      merge: a random object may not necssarily be a commit
+      apply --whitespace=fix: avoid running over the postimage buffer
+      t5516: test interaction between pushURL and pushInsteadOf correctly
+      test: resurrect q_to_tab
+      t6200: use test_config/test_unconfig
+      t6200: test message for merging of an annotated tag
+      diffcore-pickaxe: port optimization from has_changes() to diff_grep()
+      diffcore-pickaxe: fix leaks in "log -S<block>" and "log -G<pattern>"
+      glossary: extend "detached HEAD" description
+      doc: clarify that "git daemon --user=<user>" option does not export HOME=~user
+      Start preparing for 1.8.2.2
+      Update draft release notes to 1.8.2.2
+      Git 1.8.2.2
+
+Kevin Bracey (1):
+      cherry-pick/revert: make usage say '<commit-ish>...'
+
+Lukas Fleischer (1):
+      bundle: Accept prerequisites without commit messages
+
+Martin von Gagern (1):
+      Documentation: Strip texinfo anchors to avoid duplicates
+
+Mårten Kongstad (1):
+      completion: remove duplicate block for "git commit -c"
+
+Paul Price (1):
+      fast-export: fix argument name in error messages
+
+Peter Eisentraut (1):
+      pull: Apply -q and -v options to rebase mode as well
+
+Ralf Thielow (2):
+      fmt-merge-msg: respect core.commentchar in people credits
+      fmt-merge-msg: use core.commentchar in tag signatures completely
+
+Ramkumar Ramachandra (4):
+      t3200 (branch): modernize style
+      send-email: use "return;" not "return undef;" on error codepaths
+      send-email: drop misleading function prototype
+      send-email: use the three-arg form of open in recipients_cmd
+
+René Scharfe (5):
+      match-trees: simplify score_trees() using tree_entry()
+      t5004: fix issue with empty archive test and bsdtar
+      archive: clarify explanation of --worktree-attributes
+      pretty: handle broken commit headers gracefully
+      blame: handle broken commit headers gracefully
+
+Robin Rosenberg (1):
+      bash: teach __git_ps1 about REVERT_HEAD
+
+Simon Ruderich (3):
+      diffcore-pickaxe: remove unnecessary call to get_textconv()
+      diffcore-pickaxe: respect --no-textconv
+      t/README: --immediate skips cleanup commands for failed tests
+
+Stefan Saasen (1):
+      Documentation: distinguish between ref and offset deltas in pack-format
+
+Stefano Lattarini (9):
+      doc: various spelling fixes
+      git-remote-mediawiki: spelling fixes
+      contrib/subtree: fix spelling of accidentally
+      obstack: fix spelling of similar
+      compat/regex: fix spelling and grammar in comments
+      compat/nedmalloc: fix spelling in comments
+      precompose-utf8: fix spelling of "want" in error message
+      kwset: fix spelling in comments
+      Correct common spelling mistakes in comments and tests
+
+Thomas Ackermann (4):
+      glossary: remove outdated/misleading/irrelevant entries
+      glossary: improve description of SHA-1 related topics
+      The name of the hash function is "SHA-1", not "SHA1"
+      glossary: improve definitions of refspec and pathspec
+
+Thomas Rast (2):
+      perl: redirect stderr to /dev/null instead of closing
+      t9700: do not close STDERR
+
+Torsten Bögershausen (5):
+      t9020: do not use export X=Y
+      t9501: do not use export X=Y
+      test-hg-bidi.sh: do not use export X=Y
+      test-hg-hg-git.sh: do not use export X=Y
+      t7409: do not use export X=Y
+
+
+Version v1.8.2.1; changes since v1.8.2:
+---------------------------------------
+
+Andrew Wong (2):
+      setup.c: stop prefix_pathspec() from looping past the end of string
+      setup.c: check that the pathspec magic ends with ")"
+
+Antoine Pelisse (3):
+      update-index: allow "-h" to also display options
+      diff: Fix rename pretty-print when suffix and prefix overlap
+      tests: make sure rename pretty print works
+
+Brandon Casey (4):
+      t/t7502: compare entire commit message with what was expected
+      t7502: demonstrate breakage with a commit message with trailing newlines
+      git-commit: only append a newline to -m mesg if necessary
+      Documentation/git-commit.txt: rework the --cleanup section
+
+Christian Helmuth (1):
+      git-commit doc: describe use of multiple `-m` options
+
+Dan Bornstein (1):
+      Correct the docs about GIT_SSH.
+
+David Aguilar (20):
+      git-sh-setup: use a lowercase "usage:" string
+      git-svn: use a lowercase "usage:" string
+      git-relink: use a lowercase "usage:" string
+      git-merge-one-file: use a lowercase "usage:" string
+      git-archimport: use a lowercase "usage:" string
+      git-cvsexportcommit: use a lowercase "usage:" string
+      git-cvsimport: use a lowercase "usage:" string
+      git-cvsimport: use a lowercase "usage:" string
+      contrib/credential: use a lowercase "usage:" string
+      contrib/fast-import: use a lowercase "usage:" string
+      contrib/fast-import/import-zips.py: fix broken error message
+      contrib/fast-import/import-zips.py: use spaces instead of tabs
+      contrib/examples: use a lowercase "usage:" string
+      contrib/hooks/setgitperms.perl: use a lowercase "usage:" string
+      templates/hooks--update.sample: use a lowercase "usage:" string
+      Documentation/user-manual.txt: use a lowercase "usage:" string
+      git-svn: use a lowercase "usage:" string
+      tests: use a lowercase "usage:" string
+      contrib/examples/git-remote.perl: use a lowercase "usage:" string
+      contrib/mw-to-git/t/install-wiki.sh: use a lowercase "usage:" string
+
+David Michael (1):
+      git-compat-util.h: Provide missing netdb.h definitions
+
+Greg Price (2):
+      Fix ".git/refs" stragglers
+      describe: Document --match pattern format
+
+Jeff King (23):
+      utf8: accept alternate spellings of UTF-8
+      mailsplit: sort maildir filenames more cleverly
+      cache.h: drop LOCAL_REPO_ENV_SIZE
+      environment: add GIT_PREFIX to local_repo_env
+      setup: suppress implicit "." work-tree for bare repos
+      test-lib: factor out $GIT_UNZIP setup
+      archive: handle commits with an empty tree
+      upload-pack: drop lookup-before-parse optimization
+      upload-pack: make sure "want" objects are parsed
+      upload-pack: load non-tip "want" objects from disk
+      avoid segfaults on parse_object failure
+      use parse_object_or_die instead of die("bad object")
+      pack-refs: write peeled entry for non-tags
+      index-pack: always zero-initialize object_entry list
+      fast-import: use pointer-to-pointer to keep list tail
+      drop some obsolete "x = x" compiler warning hacks
+      transport: drop "int cmp = cmp" hack
+      run-command: always set failed_errno in start_command
+      fast-import: clarify "inline" logic in file_change_m
+      wt-status: fix possible use of uninitialized variable
+      dir.c::match_pathname(): adjust patternlen when shifting pattern
+      dir.c::match_pathname(): pay attention to the length of string parameters
+      t: check that a pattern without trailing slash matches a directory
+
+Johannes Sixt (1):
+      t2003: work around path mangling issue on Windows
+
+John Keeping (4):
+      Revert "graph.c: mark private file-scope symbols as static"
+      t2003: modernize style
+      entry: fix filter lookup
+      merge-tree: fix typo in merge-tree.c::unresolved
+
+Joshua Clayton (1):
+      Git.pm: fix cat_blob crashes on large files
+
+Junio C Hamano (21):
+      imap-send: support Server Name Indication (RFC4366)
+      diff-options: unconfuse description of --color
+      describe: --match=<pattern> must limit the refs even when used with --all
+      reflog: fix typo in "reflog expire" clean-up codepath
+      Documentation/git-push: clarify the description of defaults
+      git status: document trade-offs in choosing parameters to the -u option
+      CodingGuidelines: our documents are in AsciiDoc
+      Documentation: merging a tag is a special case
+      transport.c: help gcc 4.6.3 users by squelching compiler warning
+      Start preparing for 1.8.2.1
+      attr.c::path_matches(): the basename is part of the pathname
+      More corrections for 1.8.2.1
+      More fixes for 1.8.2.1
+      attr.c::path_matches(): special case paths that end with a slash
+      dir.c::match_basename(): pay attention to the length of string parameters
+      Update draft release notes to 1.8.2.1
+      Start preparing for 1.8.1.6
+      Update draft release notes to 1.8.2.1
+      mailmap: update Pasky's address
+      Git 1.8.1.6
+      Git 1.8.2.1
+
+Kacper Kornet (3):
+      rev-parse: clarify documentation of $name@{upstream} syntax
+      t1507: Test that branchname@{upstream} is interpreted as branch
+      Fix revision walk for commits with the same dates
+
+Karsten Blees (1):
+      name-hash.c: fix endless loop with core.ignorecase=true
+
+Kirill Smelkov (1):
+      format-patch: RFC 2047 says multi-octet character may not be split
+
+Lukas Fleischer (2):
+      bundle: Fix "verify" output if history is complete
+      bundle: Add colons to list headings in "verify"
+
+Matthias Krüger (1):
+      git help config: s/insn/instruction/
+
+Matthieu Moy (1):
+      git-remote-mediawiki: new wiki URL in documentation
+
+Max Nanasy (1):
+      diff.c: diff.renamelimit => diff.renameLimit in message
+
+Michael Haggerty (1):
+      pack-refs: add fully-peeled trait
+
+Michael J Gruber (5):
+      gpg-interface: check good signature in a reliable way
+      log-tree: rely upon the check in the gpg_interface
+      gpg_interface: allow to request status return
+      pretty: parse the gpg status lines rather than the output
+      pretty: make %GK output the signing key for signed commits
+
+Mihai Capotă (1):
+      git-pull doc: fix grammo ("conflicts" is plural)
+
+Nguyễn Thái Ngọc Duy (7):
+      index-format.txt: mention of v4 is missing in some places
+      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
+      branch: segfault fixes and validation
+      update-index: list supported idx versions and their features
+      status: advise to consider use of -u when read_directory takes too long
+      index-pack: fix buffer overflow caused by translations
+      index-pack: protect deepest_delta in multithread code
+
+Phil Hord (1):
+      tag: --force does not have to warn when creating tags
+
+Ramkumar Ramachandra (1):
+      t4018,7810,7811: remove test_config() redefinition
+
+Ramsay Jones (2):
+      fast-import: Fix an gcc -Wuninitialized warning
+      cat-file: Fix an gcc -Wuninitialized warning
+
+René Scharfe (4):
+      archive-zip: fix compressed size for stored export-subst files
+      Makefile: keep LIB_H entries together and sorted
+      sha1_name: pass object name length to diagnose_invalid_sha1_path()
+      submodule summary: support --summary-limit=<n>
+
+Tadeusz Andrzej Kadłubowski (2):
+      git-filter-branch.txt: clarify ident variables usage
+      Documentation: filter-branch env-filter example
+
+Thomas Rast (3):
+      diff: prevent pprint_rename from underrunning input
+      index-pack: guard nr_resolved_deltas reads by lock
+      git-tag(1): we tag HEAD by default
+
+Torsten Bögershausen (1):
+      remote-helpers/test-bzr.sh: do not use "grep '\s'"
+
+W. Trevor King (2):
+      Documentation/githooks: Explain pre-rebase parameters
+      user-manual: Standardize backtick quoting
+
+William Entriken (1):
+      submodule update: when using recursion, show full path
+
+
+Version v1.8.2; changes since v1.8.2-rc3:
+-----------------------------------------
+
+Antoine Pelisse (1):
+      perf: update documentation of GIT_PERF_REPEAT_COUNT
+
+Eric Wong (1):
+      git svn: consistent spacing after "W:" in warnings
+
+Greg Price (1):
+      add: Clarify documentation of -A and -u
+
+Jan Pešta (1):
+      git svn: ignore partial svn:mergeinfo
+
+Junio C Hamano (2):
+      Update draft release notes to 1.8.2
+      Git 1.8.2
+
+Kevin Bracey (2):
+      Translate git_more_info_string consistently
+      git.c: make usage match manual page
+
+Matthieu Moy (2):
+      add: update pathless 'add [-u|-A]' warning to reflect change of plan
+      git-completion.bash: zsh does not implement function redirection correctly
+
+
+Version v1.8.2-rc3; changes since v1.8.2-rc2:
+---------------------------------------------
+
+Fredrik Gustafsson (1):
+      gitweb/README: remove reference to git.kernel.org
+
+Jiang Xin (2):
+      l10n: git.pot: v1.8.2 round 4 (1 changed)
+      l10n: zh_CN.po: translate 1 new message
+
+Junio C Hamano (1):
+      Git 1.8.2-rc3
+
+Matthieu Moy (1):
+      git-completion.zsh: define __gitcomp_file compatibility function
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (2009t0f0u)
+
+Ralf Thielow (4):
+      l10n: de.po: translate 35 new messages
+      l10n: de.po: translate 5 new messages
+      l10n: de.po: correct translation of "bisect" messages
+      l10n: de.po: translate 1 new message
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: Update translation (2009t0f0u)
+
+
+Version v1.8.2-rc2; changes since v1.8.2-rc1:
+---------------------------------------------
+
+Andrew Wong (1):
+      Documentation/githooks: Fix linkgit
+
+Brad King (1):
+      Documentation/submodule: Add --force to update synopsis
+
+Erik Faye-Lund (1):
+      Revert "compat: add strtok_r()"
+
+Junio C Hamano (3):
+      Update draft release notes to 1.8.1.5
+      Git 1.8.1.5
+      Git 1.8.2-rc2
+
+Karsten Blees (2):
+      wincred: accept CRLF on stdin to simplify console usage
+      wincred: improve compatibility with windows versions
+
+Michael Haggerty (1):
+      Provide a mechanism to turn off symlink resolution in ceiling paths
+
+Thomas Rast (1):
+      Make !pattern in .gitattributes non-fatal
+
+
+Version v1.8.2-rc1; changes since v1.8.2-rc0:
+---------------------------------------------
+
+Adam Spiers (1):
+      t0008: document test_expect_success_multi
+
+Greg Price (1):
+      Documentation: "advice" is uncountable
+
+Jeff King (1):
+      Makefile: avoid infinite loop on configure.ac change
+
+Jiang Xin (5):
+      l10n: Update git.pot (35 new, 14 removed messages)
+      l10n: zh_CN.po: translate 35 new messages
+      l10n: git.pot: v1.8.2 round 3 (5 new)
+      l10n: zh_CN.po: translate 5 new messages
+      Bugfix: undefined htmldir in config.mak.autogen
+
+Junio C Hamano (8):
+      doc: mention tracking for pull.default
+      user-manual: typofix (ofthe->of the)
+      RelNotes 1.8.2: push-simple will not be in effect in this release
+      imap-send: move #ifdef around
+      name-hash: allow hashing an empty string
+      Git 1.8.1.4
+      Prepare for 1.8.1.5
+      Git 1.8.2-rc1
+
+Martin Erik Werner (1):
+      shell-prompt: clean up nested if-then
+
+Matthieu Moy (1):
+      git.txt: update description of the configuration mechanism
+
+Oswald Buddenhagen (2):
+      imap-send: the subject of SSL certificate must match the host
+      imap-send: support subjectAltName as well
+
+Peter Krefting (2):
+      l10n: Update Swedish translation (2004t0f0u)
+      l10n: Update Swedish translation (2009t0f0u)
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: update new strings (2004t0u0f)
+      l10n: vi.po: Updated 5 new messages (2009t0f0u)
+
+W. Trevor King (8):
+      user-manual: use 'remote add' to setup push URLs
+      user-manual: give 'git push -f' as an alternative to +master
+      user-manual: mention 'git remote add' for remote branch config
+      user-manual: use 'git config --global user.*' for setup
+      user-manual: use -o latest.tar.gz to create a gzipped tarball
+      user-manual: Reorganize the reroll sections, adding 'git rebase -i'
+      user-manual: Use request-pull to generate "please pull" text
+      user-manual: Flesh out uncommitted changes and submodule updates
+
+
+Version v1.8.2-rc0; changes since v1.8.1.6:
+-------------------------------------------
+
+Aaron Schrab (3):
+      hooks: Add function to check if a hook exists
+      push: Add support for pre-push hooks
+      Add sample pre-push hook script
+
+Adam Spiers (29):
+      tests: test number comes first in 'not ok $count - $message'
+      tests: paint known breakages in yellow
+      tests: paint skipped tests in blue
+      tests: change info messages from yellow/brown to cyan
+      tests: refactor mechanics of testing in a sub test-lib
+      tests: test the test framework more thoroughly
+      tests: paint unexpectedly fixed known breakages in bold red
+      api-directory-listing.txt: update to match code
+      Improve documentation and comments regarding directory traversal API
+      dir.c: rename cryptic 'which' variable to more consistent name
+      dir.c: rename path_excluded() to is_path_excluded()
+      dir.c: rename excluded_from_list() to is_excluded_from_list()
+      dir.c: rename excluded() to is_excluded()
+      dir.c: refactor is_excluded_from_list()
+      dir.c: refactor is_excluded()
+      dir.c: refactor is_path_excluded()
+      dir.c: rename free_excludes() to clear_exclude_list()
+      dir.c: use a single struct exclude_list per source of excludes
+      dir.c: keep track of where patterns came from
+      dir.c: provide clear_directory() for reclaiming dir_struct memory
+      dir.c: improve docs for match_pathspec() and match_pathspec_depth()
+      add.c: remove unused argument from validate_pathspec()
+      add.c: move pathspec matchers into new pathspec.c for reuse
+      pathspec.c: rename newly public functions for clarity
+      add.c: extract check_path_for_gitlink() from treat_gitlinks() for reuse
+      add.c: extract new die_if_path_beyond_symlink() for reuse
+      setup.c: document get_pathspec()
+      add git-check-ignore sub-command
+      clean.c, ls-files.c: respect encapsulation of exclude_list_groups
+
+Adam Tkac (1):
+      contrib/subtree: honor DESTDIR
+
+Alexey Shumkin (1):
+      t7102 (reset): don't hardcode SHA-1 in expected outputs
+
+Andrew Wong (3):
+      rebase: Handle cases where format-patch fails
+      gitk: Refactor code for binding modified function keys
+      gitk: Use bindshiftfunctionkey to bind Shift-F5
+
+Antoine Pelisse (8):
+      Use split_ident_line to parse author and committer
+      mailmap: simplify map_user() interface
+      mailmap: add mailmap structure to rev_info and pp
+      pretty: use mailmap to display username and email
+      log: add --use-mailmap option
+      test: add test for --use-mailmap option
+      log: grep author/committer using mailmap
+      log: add log.mailmap configuration option
+
+Barry Wardell (1):
+      git-svn: Simplify calculation of GIT_DIR
+
+Chris Hiestand (1):
+      Add Auto-Submitted header to post-receive-email
+
+Chris Rorvick (10):
+      push: return reject reasons as a bitset
+      push: add advice for rejected tag reference
+      push: keep track of "update" state separately
+      push: flag updates that require force
+      push: require force for refs under refs/tags/
+      push: require force for annotated tags
+      push: clarify rejection of update to non-commit-ish
+      push: cleanup push rules comment
+      push: rename config variable for more general use
+      push: allow already-exists advice to be disabled
+
+Christian Couder (4):
+      Makefile: remove tracking of TCLTK_PATH
+      Makefile: detect when PYTHON_PATH changes
+      Makefile: replace "echo 1>..." with "echo >..."
+      gitk: Ignore gitk-wish buildproduct
+
+Christoph J. Thompson (1):
+      Honor configure's htmldir switch
+
+David A. Greene (3):
+      contrib/subtree: remove test number comments
+      contrib/subtree: better error handling for 'subtree add'
+      contrib/subtree: fix synopsis
+
+David Aguilar (7):
+      mergetools/vim: remove redundant diff command
+      mergetool--lib: improve show_tool_help() output
+      mergetools: simplify how we handle "vim" and "defaults"
+      mergetool--lib: simplify command expressions
+      mergetool--lib: improve the help text in guess_merge_tool()
+      mergetool--lib: add functions for finding available tools
+      doc: generate a list of valid merge tools
+
+David Michael (3):
+      Support builds when sys/param.h is missing
+      Detect when the passwd struct is missing pw_gecos
+      Generalize the inclusion of strings.h
+
+Eric S. Raymond (1):
+      Add checks to Python scripts for version dependencies.
+
+Eric Wong (1):
+      git-svn: cleanup sprintf usage for uppercasing hex
+
+Felipe Contreras (26):
+      remote-testgit: properly check for errors
+      fast-export: avoid importing blob marks
+      remote-testgit: fix direction of marks
+      remote-helpers: fix failure message
+      Add new remote-bzr transport helper
+      remote-bzr: add support for pushing
+      remote-bzr: add support for remote repositories
+      Rename git-remote-testgit to git-remote-testpy
+      Add new simplified git-remote-testgit
+      remote-testgit: remove non-local functionality
+      remote-testgit: remove irrelevant test
+      remote-testgit: cleanup tests
+      remote-testgit: exercise more features
+      remote-testgit: report success after an import
+      remote-testgit: implement the "done" feature manually
+      fast-export: trivial cleanup
+      fast-export: fix comparison in tests
+      fast-export: don't handle uninteresting refs
+      fast-export: make sure updated refs get updated
+      remote-bzr: update working tree upon pushing
+      remote-bzr: add simple tests
+      remote-bzr: add support for fecthing special modes
+      remote-bzr: add support to push special modes
+      remote-bzr: add support for older versions of bzr
+      remote-bzr: detect local repositories
+      remote-hg: store converted URL
+
+Jeff King (28):
+      fsck: warn about '.' and '..' in trees
+      fsck: warn about ".git" in trees
+      mailmap: refactor mailmap parsing for non-file sources
+      mailmap: support reading mailmap from blobs
+      mailmap: clean up read_mailmap error handling
+      mailmap: fix some documentation loose-ends for mailmap.blob
+      mailmap: default mailmap.blob in bare repositories
+      make error()'s constant return value more visible
+      silence some -Wuninitialized false positives
+      add global --literal-pathspecs option
+      Makefile: hoist uname autodetection to config.mak.uname
+      config: add helper function for parsing key names
+      archive-tar: use parse_config_key when parsing config
+      convert some config callbacks to parse_config_key
+      userdiff: drop parse_driver function
+      submodule: use parse_config_key when parsing config
+      submodule: simplify memory handling in config parsing
+      help: use parse_config_key for man config
+      reflog: use parse_config_key in config callback
+      commit: drop useless xstrdup of commit message
+      logmsg_reencode: never return NULL
+      logmsg_reencode: lazily load missing commit buffers
+      fetch: run gc --auto after fetching
+      fetch-pack: avoid repeatedly re-scanning pack directory
+      docs: clarify git-branch --list behavior
+      branch: let branch filters imply --list
+      Documentation/Makefile: clean up MAN*_TXT lists
+      log: re-encode commit messages before grepping
+
+Jesper L. Nielsen (1):
+      contrib/subtree: make the manual directory if needed
+
+Jiang Xin (1):
+      l10n: Update git.pot (11 new, 7 removed messages)
+
+Johannes Sixt (1):
+      t6130-pathspec-noglob: Windows does not allow a file named "f*"
+
+John Keeping (24):
+      git-svn: teach find-rev to find near matches
+      git_remote_helpers: allow building with Python 3
+      git_remote_helpers: fix input when running under Python 3
+      git_remote_helpers: force rebuild if python version changes
+      git_remote_helpers: use 2to3 if building with Python 3
+      svn-fe: allow svnrdump_sim.py to run with Python 3
+      git-remote-testpy: hash bytes explicitly
+      git-remote-testpy: don't do unbuffered text I/O
+      git-remote-testpy: call print as a function
+      git-mergetool: move show_tool_help to mergetool--lib
+      git-mergetool: remove redundant assignment
+      git-mergetool: don't hardcode 'mergetool' in show_tool_help
+      git-difftool: use git-mergetool--lib for "--tool-help"
+      mergetool--lib: don't call "exit" in setup_tool
+      git-remote-testpy: fix path hashing on Python 3
+      CodingGuidelines: add Python coding guidelines
+      mergetool--lib: list user configured tools in '--tool-help'
+      graph: output padding for merge subsequent parents
+      diff: write prefix to the correct file
+      diff.c: make constant string arguments const
+      diff: add diff_line_prefix function
+      diff.c: use diff_line_prefix() where applicable
+      combine-diff.c: teach combined diffs about line prefix
+      rebase -i: respect core.commentchar
+
+Jonathan Nieder (2):
+      Git::SVN::Editor::T: pass $deletions to ->A and ->D
+      git svn: do not overescape URLs (fallback case)
+
+Junio C Hamano (52):
+      diff: accept --no-follow option
+      blame: pay attention to --no-follow
+      t6006: clean up whitespace
+      log --format: teach %C(auto,black) to respect color config
+      git-compat-util.h: do not #include <sys/param.h> by default
+      builtin/log.c: drop unused "numbered" parameter from make_cover_letter()
+      builtin/log.c: drop redundant "numbered_files" parameter from make_cover_letter()
+      builtin/log.c: stop using global patch_suffix
+      get_patch_filename(): simplify function signature
+      get_patch_filename(): drop "just-numbers" hack
+      get_patch_filename(): split into two functions
+      format-patch: add --reroll-count=$N option
+      Start 1.8.2 cycle
+      format-patch: document and test --reroll-count
+      Update draft release notes to 1.8.2
+      format-patch: give --reroll-count a short synonym -v
+      Update draft release notes to 1.8.2
+      string-list: allow case-insensitive string list
+      Update draft release notes to 1.8.2
+      mailmap: remove email copy and length limitation
+      log --use-mailmap: optimize for cases without --author/--committer search
+      Update draft release notes to 1.8.2
+      clone: do not export and unexport GIT_CONFIG
+      Update draft release notes to 1.8.2
+      Makefile: add description on PERL/PYTHON_PATH
+      Update draft release notes to 1.8.2
+      Allow custom "comment char"
+      push: fix "refs/tags/ hierarchy cannot be updated without --force"
+      Update draft release notes to 1.8.2
+      upload-pack: share more code
+      Update draft release notes to 1.8.2
+      Update draft release notes to 1.8.2
+      push: further clean up fields of "struct ref"
+      push: further simplify the logic to assign rejection reason
+      push: introduce REJECT_FETCH_FIRST and REJECT_NEEDS_FORCE
+      push: finishing touches to explain REJECT_ALREADY_EXISTS better
+      Update draft release notes to 1.8.2
+      Update draft release notes to 1.8.2
+      upload-pack: simplify request validation
+      git_remote_helpers: remove GIT-PYTHON-VERSION upon "clean"
+      Update draft release notes to 1.8.2
+      Documentation: describe the "repository" in repository-layout
+      Update draft release notes to 1.8.2
+      apply: verify submodule commit object name better
+      Update draft release notes to 1.8.2
+      upload/receive-pack: allow hiding ref hierarchies
+      Update draft release notes to 1.8.2
+      Update draft release notes to 1.8.2
+      Update draft release notes to 1.8.2
+      Documentation/git-add: kill remaining <filepattern>
+      Update draft release notes to 1.8.2
+      Git 1.8.2-rc0
+
+Manlio Perillo (1):
+      git-completion.bash: add support for path completion
+
+Marc Khouzam (1):
+      completion: handle path completion and colon for tcsh script
+
+Marcus Karlsson (1):
+      gitk: Fix crash when not using themed widgets
+
+Martin Erik Werner (3):
+      shell prompt: add bash.showUntrackedFiles option
+      t9903: add tests for bash.showUntrackedFiles
+      t9903: add extra tests for bash.showDirtyState
+
+Martin von Zweigbergk (21):
+      oneway_merge(): only lstat() when told to update worktree
+      reset $pathspec: no need to discard index
+      reset $pathspec: exit with code 0 if successful
+      reset.c: pass pathspec around instead of (prefix, argv) pair
+      reset: don't allow "git reset -- $pathspec" in bare repo
+      reset.c: extract function for parsing arguments
+      reset.c: remove unnecessary variable 'i'
+      reset.c: extract function for updating {ORIG_,}HEAD
+      reset.c: share call to die_if_unmerged_cache()
+      reset --keep: only write index file once
+      reset: avoid redundant error message
+      reset.c: replace switch by if-else
+      reset.c: move update_index_refresh() call out of read_from_tree()
+      reset.c: move lock, write and commit out of update_index_refresh()
+      reset [--mixed]: only write index file once
+      reset.c: finish entire cmd_reset() whether or not pathspec is given
+      reset.c: inline update_index_refresh()
+      reset $sha1 $pathspec: require $sha1 only to be treeish
+      reset: allow reset on unborn branch
+      reset [--mixed]: use diff-based reset whether or not pathspec was given
+      reset: update documentation to require only tree-ish with paths
+
+Matt Kraai (5):
+      Make lock local to fetch_pack
+      Port to QNX
+      Use __VA_ARGS__ for all of error's arguments
+      Allow building with xmlparse.h
+      Makefile: don't run "rm" without any files
+
+Matthew Ogilvie (10):
+      cvsserver: factor out git-log parsing logic
+      cvsserver: cleanup extra slashes in filename arguments
+      cvsserver: define a tag name character escape mechanism
+      cvsserver: add misc commit lookup, file meta data, and file listing functions
+      cvsserver: implement req_Sticky and related utilities
+      cvsserver: generalize getmeta() to recognize commit refs
+      cvsserver: Add version awareness to argsfromdir
+      cvsserver: support -r and sticky tags for most operations
+      cvsserver: add t9402 to test branch and tag refs
+      cvsserver Documentation: new cvs ... -r support
+
+Matthieu Moy (4):
+      add: warn when -u or -A is used without pathspec
+      Makefile: make script-related rules usable from subdirectories
+      git-remote-mediawiki: use toplevel's Makefile
+      completion: support 'git config --local'
+
+Max Horn (2):
+      remote-hg: fix handling of file perms when pushing
+      fix clang -Wunused-value warnings for error functions
+
+Michael Haggerty (22):
+      Add new function strbuf_add_xml_quoted()
+      xml_entities(): use function strbuf_addstr_xml_quoted()
+      lf_to_crlf(): NUL-terminate msg_data::data
+      imap-send: store all_msgs as a strbuf
+      imap-send: correctly report errors reading from stdin
+      imap-send: change msg_data from storing (ptr, len) to storing strbuf
+      wrap_in_html(): use strbuf_addstr_xml_quoted()
+      wrap_in_html(): process message in bulk rather than line-by-line
+      imap-send.c: remove msg_data::flags, which was always zero
+      imap-send.c: remove struct msg_data
+      iamp-send.c: remove unused struct imap_store_conf
+      imap-send.c: remove struct store_conf
+      imap-send.c: remove struct message
+      imap-send.c: remove some unused fields from struct store
+      imap-send.c: inline parse_imap_list() in parse_list()
+      imap-send.c: remove struct imap argument to parse_imap_list_l()
+      imap-send.c: remove namespace fields from struct imap
+      imap-send.c: remove unused field imap_store::trashnc
+      imap-send.c: use struct imap_store instead of struct store
+      imap-send.c: remove unused field imap_store::uidvalidity
+      imap-send.c: fold struct store into struct imap_store
+      imap-send.c: simplify logic in lf_to_crlf()
+
+Michal Privoznik (3):
+      git-completion.bash: Autocomplete --minimal and --histogram for git-diff
+      config: Introduce diff.algorithm variable
+      diff: Introduce --diff-algorithm command line option
+
+Nguyễn Thái Ngọc Duy (43):
+      ctype: make sane_ctype[] const array
+      ctype: support iscntrl, ispunct, isxdigit and isprint
+      Import wildmatch from rsync
+      wildmatch: remove unnecessary functions
+      wildmatch: follow Git's coding convention
+      Integrate wildmatch to git
+      t3070: disable unreliable fnmatch tests
+      wildmatch: make wildmatch's return value compatible with fnmatch
+      wildmatch: remove static variable force_lower_case
+      wildmatch: fix case-insensitive matching
+      wildmatch: adjust "**" behavior
+      wildmatch: make /**/ match zero or more directories
+      Support "**" wildcard in .gitignore and .gitattributes
+      pathspec: save the non-wildcard length part
+      test-wildmatch: avoid Windows path mangling
+      pathspec: do exact comparison on the leading non-wildcard part
+      pathspec: apply "*.c" optimization from exclude
+      tree_entry_interesting: do basedir compare on wildcard patterns when possible
+      config.txt: a few lines about branch.<name>.description
+      wildmatch: fix "**" special case
+      wildmatch: rename constants and update prototype
+      compat/fnmatch: respect NO_FNMATCH* even on glibc
+      wildmatch: make dowild() take arbitrary flags
+      wildmatch: replace variable 'special' with better named ones
+      wildmatch: support "no FNM_PATHNAME" mode
+      test-wildmatch: add "perf" command to compare wildmatch and fnmatch
+      wildmatch: make a special case for "*/" with FNM_PATHNAME
+      wildmatch: advance faster in <asterisk> + <literal> patterns
+      Makefile: add USE_WILDMATCH to use wildmatch as fnmatch
+      branch: delete branch description if it's empty
+      t4014: a few more tests on cover letter using branch description
+      format-patch: pick up correct branch name from symbolic ref
+      format-patch: pick up branch description when no ref is specified
+      upload-pack: only accept commits from "shallow" line
+      fetch: add --unshallow for turning shallow repo into complete one
+      upload-pack: fix off-by-one depth calculation in shallow clone
+      fetch: elaborate --depth action
+      Update :/abc ambiguity check
+      grep: avoid accepting ambiguous revision
+      branch: reject -D/-d without branch name
+      branch: give a more helpful message on redundant arguments
+      branch: mark more strings for translation
+      status: show the branch name if possible in in-progress info
+
+Paul Mackerras (3):
+      gitk: Fix display of branch names on some commits
+      gitk: Improve display of list of nearby tags and heads
+      gitk: Display important heads even when there are many
+
+Pete Wyckoff (35):
+      git p4: test sync/clone --branch behavior
+      git p4: rearrange and simplify hasOrigin handling
+      git p4: add comments to p4BranchesInGit
+      git p4: inline listExistingP4GitBranches
+      git p4: create p4/HEAD on initial clone
+      git p4: verify expected refs in clone --bare test
+      git p4: clone --branch should checkout master
+      git p4 doc: fix branch detection example
+      git p4: allow short ref names to --branch
+      git p4: rearrange self.initialParent use
+      git p4: fail gracefully on sync with no master branch
+      git p4: fix sync --branch when no master branch
+      git p4 test: keep P4CLIENT changes inside subshells
+      git p4: fix submit when no master branch
+      git p4: temp branch name should use / even on windows
+      git p4: remove unused imports
+      git p4: generate better error message for bad depot path
+      git p4 test: use client_view to build the initial client
+      git p4 test: avoid loop in client_view
+      git p4 test: use client_view in t9806
+      git p4 test: start p4d inside its db dir
+      git p4 test: translate windows paths for cygwin
+      git p4: remove unreachable windows \r\n conversion code
+      git p4: scrub crlf for utf16 files on windows
+      git p4 test: newline handling
+      git p4 test: use LineEnd unix in windows tests too
+      git p4 test: avoid wildcard * in windows
+      git p4: cygwin p4 client does not mark read-only
+      git p4 test: use test_chmod for cygwin
+      git p4: disable read-only attribute before deleting
+      git p4: avoid shell when mapping users
+      git p4: avoid shell when invoking git rev-list
+      git p4: avoid shell when invoking git config --get-all
+      git p4: avoid shell when calling git config
+      git p4: introduce gitConfigBool
+
+Peter Krefting (2):
+      gitk: Update Swedish translation (296t)
+      l10n: Update Swedish translation (1983t0f0u)
+
+Peter Wu (1):
+      git-svn: do not escape certain characters in paths
+
+Ralf Thielow (6):
+      l10n: de.po: address the user formally
+      commit: make default of "cleanup" option configurable
+      l10n: de.po: fix some minor issues
+      l10n: de.po: translate 11 new messages
+      l10n: de.po: translate "revision" consistently as "Revision"
+      l10n: de.po: translate "reset" as "neu setzen"
+
+Ramsay Jones (1):
+      t3070: Disable some failing fnmatch tests
+
+René Scharfe (3):
+      t0008: avoid brace expansion
+      pretty: use prefixcmp instead of memcmp on NUL-terminated strings
+      refs: use strncmp() instead of strlen() and memcmp()
+
+Robin Rosenberg (1):
+      Enable minimal stat checking
+
+Stefan Haller (6):
+      gitk: Synchronize highlighting in file view when scrolling diff
+      gitk: Highlight current search hit in orange
+      gitk: Highlight first search result immediately on incremental search
+      gitk: Work around empty back and forward images when buttons are disabled
+      gitk: Fix error message when clicking on a connecting line
+      gitk: When searching, only highlight files when in Patch mode
+
+Stephen Boyd (2):
+      gpg: allow translation of more error messages
+      run-command: be more informative about what failed
+
+Sven Strickroth (2):
+      mergetools: support TortoiseGitMerge
+      mergetools: teach tortoisemerge to handle filenames with SP correctly
+
+Techlive Zheng (1):
+      contrib/subtree: use %B for split subject/body
+
+Ted Zlatanov (1):
+      Update CodingGuidelines for Perl
+
+Thomas Ackermann (5):
+      Documentation: avoid poor-man's small caps GIT
+      Documentation: the name of the system is 'Git', not 'git'
+      Documentation: do not use undefined terms git-dir and git-file
+      Documentation: add a description for 'gitfile' to glossary
+      Documentation: StGit is the right spelling, not StGIT
+
+Torsten Bögershausen (9):
+      t9402: sed -i is not portable
+      t9402: improve check_end_tree() and check_end_full_tree()
+      t9402: Dont use test_must_fail cvs
+      t9402: No space after IO-redirection
+      t9402: Add missing &&; Code style
+      t9402: Simplify git ls-tree
+      t9402: Rename check.cvsCount and check.list
+      t9402: Use TABs for indentation
+      test: Add check-non-portable-shell.pl
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: updated Vietnamese translation
+
+W. Trevor King (3):
+      submodule: add get_submodule_config helper funtion
+      submodule update: add --remote for submodule's upstream changes
+      submodule add: If --branch is given, record it in .gitmodules
+
+Wang Sheng (1):
+      l10n: zh_CN.po: 800+ new translations on command usages
+
+
+Version v1.8.1.6; changes since v1.8.1.5:
+-----------------------------------------
+
+Antoine Pelisse (4):
+      update-index: allow "-h" to also display options
+      diff: Fix rename pretty-print when suffix and prefix overlap
+      tests: make sure rename pretty print works
+      perf: update documentation of GIT_PERF_REPEAT_COUNT
+
+Christian Helmuth (1):
+      git-commit doc: describe use of multiple `-m` options
+
+Dan Bornstein (1):
+      Correct the docs about GIT_SSH.
+
+David Michael (1):
+      git-compat-util.h: Provide missing netdb.h definitions
+
+Fredrik Gustafsson (1):
+      gitweb/README: remove reference to git.kernel.org
+
+Greg Price (1):
+      describe: Document --match pattern format
+
+Jeff King (6):
+      avoid segfaults on parse_object failure
+      use parse_object_or_die instead of die("bad object")
+      pack-refs: write peeled entry for non-tags
+      dir.c::match_pathname(): adjust patternlen when shifting pattern
+      dir.c::match_pathname(): pay attention to the length of string parameters
+      t: check that a pattern without trailing slash matches a directory
+
+Johannes Sixt (1):
+      t2003: work around path mangling issue on Windows
+
+John Keeping (3):
+      t2003: modernize style
+      entry: fix filter lookup
+      merge-tree: fix typo in merge-tree.c::unresolved
+
+Joshua Clayton (1):
+      Git.pm: fix cat_blob crashes on large files
+
+Junio C Hamano (8):
+      imap-send: support Server Name Indication (RFC4366)
+      diff-options: unconfuse description of --color
+      Documentation: merging a tag is a special case
+      attr.c::path_matches(): the basename is part of the pathname
+      attr.c::path_matches(): special case paths that end with a slash
+      dir.c::match_basename(): pay attention to the length of string parameters
+      Start preparing for 1.8.1.6
+      Git 1.8.1.6
+
+Kacper Kornet (3):
+      rev-parse: clarify documentation of $name@{upstream} syntax
+      t1507: Test that branchname@{upstream} is interpreted as branch
+      Fix revision walk for commits with the same dates
+
+Karsten Blees (1):
+      name-hash.c: fix endless loop with core.ignorecase=true
+
+Kevin Bracey (2):
+      Translate git_more_info_string consistently
+      git.c: make usage match manual page
+
+Lukas Fleischer (2):
+      bundle: Fix "verify" output if history is complete
+      bundle: Add colons to list headings in "verify"
+
+Matthias Krüger (1):
+      git help config: s/insn/instruction/
+
+Michael Haggerty (2):
+      Provide a mechanism to turn off symlink resolution in ceiling paths
+      pack-refs: add fully-peeled trait
+
+Mihai Capotă (1):
+      git-pull doc: fix grammo ("conflicts" is plural)
+
+Nguyễn Thái Ngọc Duy (4):
+      index-format.txt: mention of v4 is missing in some places
+      read-cache.c: use INDEX_FORMAT_{LB,UB} in verify_hdr()
+      update-index: list supported idx versions and their features
+      index-pack: fix buffer overflow caused by translations
+
+René Scharfe (2):
+      Makefile: keep LIB_H entries together and sorted
+      sha1_name: pass object name length to diagnose_invalid_sha1_path()
+
+Tadeusz Andrzej Kadłubowski (2):
+      git-filter-branch.txt: clarify ident variables usage
+      Documentation: filter-branch env-filter example
+
+Thomas Rast (2):
+      diff: prevent pprint_rename from underrunning input
+      git-tag(1): we tag HEAD by default
+
+Torsten Bögershausen (1):
+      remote-helpers/test-bzr.sh: do not use "grep '\s'"
+
+W. Trevor King (1):
+      Documentation/githooks: Explain pre-rebase parameters
+
+
+Version v1.8.1.5; changes since v1.8.1.4:
+-----------------------------------------
+
+Andrej E Baranov (1):
+      gitweb: refer to picon/gravatar images over the same scheme
+
+Andrew Wong (1):
+      Documentation/githooks: Fix linkgit
+
+Asheesh Laroia (1):
+      git-mergetool: print filename when it contains %
+
+Ben Walton (3):
+      Move Git::SVN::get_tz to Git::get_tz_offset
+      perl/Git.pm: fix get_tz_offset to properly handle DST boundary cases
+      cvsimport: format commit timestamp ourselves without using strftime
+
+Brad King (1):
+      Documentation/submodule: Add --force to update synopsis
+
+David Aguilar (3):
+      mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder
+      difftool--helper: fix printf usage
+      p4merge: fix printf usage
+
+Erik Faye-Lund (1):
+      parse-options: report uncorrupted multi-byte options
+
+Greg Price (1):
+      Documentation: "advice" is uncountable
+
+Jeff King (2):
+      http_request: reset "type" strbuf before adding
+      Makefile: avoid infinite loop on configure.ac change
+
+Jiang Xin (1):
+      Add utf8_fprintf helper that returns correct number of columns
+
+John Keeping (3):
+      Rename {git- => git}remote-helpers.txt
+      builtin/apply: tighten (dis)similarity index parsing
+      t4038: add tests for "diff --cc --raw <trees>"
+
+Junio C Hamano (7):
+      doc: mention tracking for pull.default
+      combine-diff: lift 32-way limit of combined diff
+      t5551: fix expected error output
+      user-manual: typofix (ofthe->of the)
+      Prepare for 1.8.1.5
+      Update draft release notes to 1.8.1.5
+      Git 1.8.1.5
+
+Matthieu Moy (1):
+      git.txt: update description of the configuration mechanism
+
+Michael J Gruber (1):
+      git-bisect.txt: clarify that reset quits bisect
+
+Nguyễn Thái Ngọc Duy (1):
+      clone: forbid --bare --separate-git-dir <dir>
+
+Shawn O. Pearce (1):
+      Verify Content-Type from smart HTTP servers
+
+Thomas Rast (1):
+      Make !pattern in .gitattributes non-fatal
+
+W. Trevor King (4):
+      user-manual: Update for receive.denyCurrentBranch=refuse
+      user-manual: Reorganize the reroll sections, adding 'git rebase -i'
+      user-manual: Use request-pull to generate "please pull" text
+      user-manual: Flesh out uncommitted changes and submodule updates
+
+Zoltan Klinger (1):
+      git-clean: Display more accurate delete messages
+
+
+Version v1.8.1.4; changes since v1.8.1.3:
+-----------------------------------------
+
+Junio C Hamano (2):
+      imap-send: move #ifdef around
+      Git 1.8.1.4
+
+Matthieu Moy (1):
+      Replace filepattern with pathspec for consistency
+
+Oswald Buddenhagen (2):
+      imap-send: the subject of SSL certificate must match the host
+      imap-send: support subjectAltName as well
+
+W. Trevor King (9):
+      user-manual: Fix 'both: so' -> 'both; so' typo
+      user-manual: Fix 'http' -> 'HTTP' typos
+      user-manual: Fix 'you - Git' -> 'you--Git' typo
+      user-manual: Rewrite git-gc section for automatic packing
+      user-manual: use 'remote add' to setup push URLs
+      user-manual: give 'git push -f' as an alternative to +master
+      user-manual: mention 'git remote add' for remote branch config
+      user-manual: use 'git config --global user.*' for setup
+      user-manual: use -o latest.tar.gz to create a gzipped tarball
+
+
+Version v1.8.1.3; changes since v1.8.1.2:
+-----------------------------------------
+
+Brandon Casey (3):
+      git-completion.bash: replace zsh notation that breaks bash 3.X
+      git-p4.py: support Python 2.5
+      git-p4.py: support Python 2.4
+
+Dmitry V. Levin (1):
+      am: invoke perl's strftime in C locale
+
+Fraser Tweedale (1):
+      push: fix segfault when HEAD points nowhere
+
+John Keeping (1):
+      git-cvsimport.txt: cvsps-2 is deprecated
+
+Jonathan Nieder (2):
+      ident: do not drop username when reading from /etc/mailname
+      Makefile: explicitly set target name for autogenerated dependencies
+
+Junio C Hamano (17):
+      Which merge_file() function do you mean?
+      merge-tree: lose unused "flags" from merge_list
+      merge-tree: lose unused "resolve_directories"
+      merge-tree: add comments to clarify what these functions are doing
+      merge-tree: fix d/f conflicts
+      Documentation: update "howto maintain git"
+      howto/maintain: mark titles for asciidoc
+      help: include <common-cmds.h> only in one file
+      t9902: protect test from stray build artifacts
+      howto/maintain: document "### match next" convention in jch/pu branch
+      README: update stale and/or incorrect information
+      INSTALL: git-p4 does not support Python 3
+      git-am: record full index line in the patch used while rebasing
+      apply: simplify build_fake_ancestor()
+      apply: diagnose incomplete submodule object name better
+      Start preparing for 1.8.1.3
+      Git 1.8.1.3
+
+Martin von Zweigbergk (2):
+      tests: move test_cmp_rev to test-lib-functions
+      learn to pick/revert into unborn branch
+
+Nguyễn Thái Ngọc Duy (4):
+      attr: fix off-by-one directory component length calculation
+      test-lib.sh: unfilter GIT_PERF_*
+      attr: avoid calling find_basename() twice per path
+      branch: no detached HEAD check when editing another branch's description
+
+Phil Hord (1):
+      rebase --preserve-merges: keep all merge commits including empty ones
+
+Ramsay Jones (1):
+      Makefile: Replace merge-file.h with merge-blobs.h in LIB_H
+
+Stephen Boyd (1):
+      gpg: close stderr once finished with it in verify_signed_buffer()
+
+Torsten Bögershausen (3):
+      t0050: known breakage vanished in merge (case change)
+      t0050: honor CASE_INSENSITIVE_FS in add (with different case)
+      t0050: Use TAB for indentation
+
+
+Version v1.8.1.2; changes since v1.8.1.1:
+-----------------------------------------
+
+Antoine Pelisse (3):
+      dir.c: Make git-status --ignored more consistent
+      git-status: Test --ignored behavior
+      status: always report ignored tracked directories
+
+Dylan Smith (1):
+      git-completion.bash: silence "not a valid object" errors
+
+Eric S. Raymond (1):
+      Remove the suggestion to use parsecvs, which is currently broken.
+
+John Keeping (1):
+      git-for-each-ref.txt: 'raw' is a supported date format
+
+Jonathan Nieder (1):
+      contrib/vim: simplify instructions for old vim support
+
+Junio C Hamano (2):
+      Start preparing for 1.8.1.2
+      Git 1.8.1.2
+
+Marc Khouzam (1):
+      Prevent space after directories in tcsh completion
+
+Michael Haggerty (8):
+      Introduce new static function real_path_internal()
+      real_path_internal(): add comment explaining use of cwd
+      Introduce new function real_path_if_valid()
+      longest_ancestor_length(): use string_list_split()
+      longest_ancestor_length(): take a string_list argument for prefixes
+      longest_ancestor_length(): require prefix list entries to be normalized
+      setup_git_directory_gently_1(): resolve symlinks in ceiling paths
+      string_list_longest_prefix(): remove function
+
+Nguyễn Thái Ngọc Duy (1):
+      attr: make it build with DEBUG_ATTR again
+
+Nickolai Zeldovich (1):
+      git-send-email: treat field names as case-insensitively
+
+Peter Eisentraut (1):
+      git-commit-tree(1): correct description of defaults
+
+René Scharfe (5):
+      archive-zip: write uncompressed size into header even with streaming
+      t0024, t5000: clear variable UNZIP, use GIT_UNZIP instead
+      t0024, t5000: use test_lazy_prereq for UNZIP
+      t5000, t5003: move ZIP tests into their own script
+      t5003: check if unzip supports symlinks
+
+Sebastian Staudt (1):
+      config.txt: Document help.htmlpath config parameter
+
+
+Version v1.8.1.1; changes since v1.8.1:
+---------------------------------------
+
+Aaron Schrab (1):
+      Use longer alias names in subdirectory tests
+
+Adam Spiers (1):
+      api-allocation-growing.txt: encourage better variable naming
+
+Antoine Pelisse (1):
+      merge: Honor prepare-commit-msg return code
+
+Christian Couder (1):
+      Makefile: detect when PYTHON_PATH changes
+
+Jean-Noël AVILA (1):
+      Add directory pattern matching to attributes
+
+Jeff King (9):
+      run-command: drop silent_exec_failure arg from wait_or_whine
+      launch_editor: refactor to use start/finish_command
+      run-command: do not warn about child death from terminal
+      launch_editor: propagate signals from editor to git
+      completion: complete refs for "git commit -c"
+      refs: do not use cached refs in repack_without_ref
+      tests: turn on test-lint by default
+      fix compilation with NO_PTHREADS
+      run-command: encode signal death as a positive integer
+
+Jens Lehmann (1):
+      clone: support atomic operation with --separate-git-dir
+
+John Keeping (4):
+      git-fast-import(1): remove duplicate '--done' option
+      git-shortlog(1): document behaviour of zero-width wrap
+      git-fast-import(1): combine documentation of --[no-]relative-marks
+      git-fast-import(1): reorganise options
+
+Jonathan Nieder (6):
+      config, gitignore: failure to access with ENOTDIR is ok
+      config: treat user and xdg config permission problems as errors
+      doc: advertise GIT_CONFIG_NOSYSTEM
+      config: exit on error accessing any config file
+      build: do not automatically reconfigure unless configure.ac changed
+      docs: manpage XML depends on asciidoc.conf
+
+Junio C Hamano (20):
+      apply.c:update_pre_post_images(): the preimage can be truncated
+      format_commit_message(): simplify calls to logmsg_reencode()
+      sh-setup: work around "unset IFS" bug in some shells
+      fetch: ignore wildcarded refspecs that update local symbolic refs
+      xmkstemp(): avoid showing truncated template more carefully
+      t0200: "locale" may not exist
+      t9502: do not assume GNU tar
+      t4014: fix arguments to grep
+      t3600: Avoid "cp -a", which is a GNUism
+      t9020: use configured Python to run the test helper
+      compat/fnmatch: update old-style definition to ANSI
+      t9200: let "cvs init" create the test repository
+      merge --no-edit: do not credit people involved in the side branch
+      SubmittingPatches: who am I and who cares?
+      SubmittingPatches: mention subsystems with dedicated repositories
+      Documentation: full-ness of a bundle is significant for cloning
+      SubmittingPatches: remove overlong checklist
+      SubmittingPatches: give list and maintainer addresses
+      Prepare for 1.8.1.1
+      Git 1.8.1.1
+
+Kirill Brilliantov (1):
+      Documentation: correct example restore from bundle
+
+Mark Levedahl (1):
+      Makefile: add comment on CYGWIN_V15_WIN32API
+
+Matthew Daley (1):
+      gitweb: Sort projects with undefined ages last
+
+Max Horn (1):
+      configure.ac: fix pthreads detection on Mac OS X
+
+Michael Schubert (2):
+      git-subtree: ignore git-subtree executable
+      git-subtree: fix typo in manpage
+
+Michał Kiedrowicz (1):
+      graph.c: infinite loop in git whatchanged --graph -m
+
+Nguyễn Thái Ngọc Duy (4):
+      cache-tree: remove dead i-t-a code in verify_cache()
+      cache-tree: replace "for" loops in update_one with "while" loops
+      cache-tree: fix writing cache-tree when CE_REMOVE is present
+      cache-tree: invalidate i-t-a paths after generating trees
+
+Orgad Shaneh (1):
+      gitweb: fix error in sanitize when highlight is enabled
+
+Paul Fox (1):
+      launch_editor: ignore terminal signals while editor has control
+
+Rene Bredlau (1):
+      http.c: Avoid username prompt for certifcate credentials
+
+René Scharfe (2):
+      archive-tar: split long paths more carefully
+      t1402: work around shell quoting issue on NetBSD
+
+Sebastian Schuberth (1):
+      nedmalloc: Fix a compile warning (exposed as error) with GCC 4.7.2
+
+Steffen Prohaska (2):
+      shortlog: fix wrapping lines of wraplen
+      strbuf_add_wrapped*(): Remove unused return value
+
+Sven Strickroth (3):
+      git-svn, perl/Git.pm: add central method for prompting passwords
+      perl/Git.pm: Honor SSH_ASKPASS as fallback if GIT_ASKPASS is not set
+      git-svn, perl/Git.pm: extend and use Git->prompt method for querying users
+
+Thomas Ackermann (1):
+      Remove Documentation/pt_BR/gittutorial.txt
+
+Torsten Bögershausen (2):
+      t9810: Do not use sed -i
+      t9020: which is not portable
+
+W. Trevor King (1):
+      remote-hg: Fix biridectionality -> bidirectionality typos
+
+
+Version v1.8.1; changes since v1.8.1-rc3:
+-----------------------------------------
+
+Junio C Hamano (3):
+      git(1): show link to contributor summary page
+      Git 1.8.0.3
+      Git 1.8.1
+
+Max Horn (1):
+      git-remote-helpers.txt: document invocation before input format
+
+Ramkumar Ramachandra (1):
+      Documentation: move diff.wordRegex from config.txt to diff-config.txt
+
+Sebastian Leske (4):
+      git-svn: Document branches with at-sign(@).
+      git-svn: Recommend use of structure options.
+      git-svn: Expand documentation for --follow-parent
+      git-svn: Note about tags.
+
+Simon Oosthoek (1):
+      make __git_ps1 accept a third parameter in pcmode
+
+Thomas Ackermann (1):
+      Sort howto documents in howto-index.txt
+
+
+Version v1.8.1-rc3; changes since v1.8.1-rc2:
+---------------------------------------------
+
+Adam Spiers (2):
+      SubmittingPatches: add convention of prefixing commit messages
+      Documentation: move support for old compilers to CodingGuidelines
+
+Chris Rorvick (2):
+      Documentation/git-checkout.txt: clarify usage
+      Documentation/git-checkout.txt: document 70c9ac2 behavior
+
+Jeff King (5):
+      .mailmap: match up some obvious names/emails
+      .mailmap: fix broken entry for Martin Langhoff
+      .mailmap: normalize emails for Jeff King
+      .mailmap: normalize emails for Linus Torvalds
+      contrib: update stats/mailmap script
+
+John Keeping (1):
+      Documentation: don't link to example mail addresses
+
+Junio C Hamano (5):
+      fetch --tags: clarify documentation
+      README: it does not matter who the current maintainer is
+      t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
+      Documentation: Describe "git diff <blob> <blob>" separately
+      Git 1.8.1-rc3
+
+Nguyễn Thái Ngọc Duy (1):
+      index-format.txt: clarify what is "invalid"
+
+Sebastian Leske (4):
+      git-svn: Document branches with at-sign(@).
+      git-svn: Recommend use of structure options.
+      git-svn: Expand documentation for --follow-parent
+      git-svn: Note about tags.
+
+Sitaram Chamarty (1):
+      clarify -M without % symbol in diff-options
+
+Stefano Lattarini (1):
+      README: Git is released under the GPLv2, not just "the GPL"
+
+Thomas Ackermann (3):
+      Remove misleading date from api-index-skel.txt
+      Remove duplicate entry in ./Documentation/Makefile
+      Move ./technical/api-command.txt to ./howto/new-command.txt
+
+
+Version v1.8.1-rc2; changes since v1.8.1-rc1:
+---------------------------------------------
+
+Anders Kaseorg (1):
+      git-prompt: Document GIT_PS1_DESCRIBE_STYLE
+
+Erik Faye-Lund (7):
+      mingw: correct exit-code for SIGALRM's SIG_DFL
+      mingw: make fgetc raise SIGINT if apropriate
+      compat/terminal: factor out echo-disabling
+      compat/terminal: separate input and output handles
+      mingw: reuse tty-version of git_terminal_prompt
+      mingw: get rid of getpass implementation
+      mingw_rmdir: do not prompt for retry when non-empty
+
+Jeff King (1):
+      remote-testsvn: fix unitialized variable
+
+Junio C Hamano (5):
+      git(1): remove a defunct link to "list of authors"
+      Git 1.8.0.2
+      git-prompt.sh: update PROMPT_COMMAND documentation
+      git(1): show link to contributor summary page
+      Git 1.8.1-rc2
+
+Manlio Perillo (1):
+      git.txt: add missing info about --git-dir command-line option
+
+Marc Khouzam (1):
+      Add file completion to tcsh git completion.
+
+Matthew Daley (1):
+      Fix sizeof usage in get_permutations
+
+Max Horn (6):
+      git-remote-helpers.txt: document invocation before input format
+      git-remote-helpers.txt: document missing capabilities
+      git-remote-helpers.txt: minor grammar fix
+      git-remote-helpers.txt: rearrange description of capabilities
+      git-remote-helpers.txt: clarify command <-> capability correspondences
+      git-remote-helpers.txt: clarify options & ref list attributes
+
+Stefano Lattarini (1):
+      Makefile: whitespace style fixes in macro definitions
+
+Sébastien Loriot (1):
+      Documentation/git-stash.txt: add a missing verb
+
+Thomas Ackermann (1):
+      Renumber list in api-command.txt
+
+
+Version v1.8.1-rc1; changes since v1.8.1-rc0:
+---------------------------------------------
+
+Jiang Xin (1):
+      l10n: Update git.pot (5 new, 1 removed messages)
+
+Junio C Hamano (3):
+      Update draft release notes to 1.8.0.2
+      Documentation/diff-config: work around AsciiDoc misfortune
+      Git 1.8.1-rc1
+
+Matthieu Moy (1):
+      document that statusHints affects git checkout
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (1979t0f0u)
+
+Ralf Thielow (2):
+      l10n: de.po: translate 825 new messages
+      l10n: de.po: translate 22 new messages
+
+Ramkumar Ramachandra (4):
+      t4041 (diff-submodule-option): don't hardcode SHA-1 in expected outputs
+      t4041 (diff-submodule-option): parse digests sensibly
+      t4041 (diff-submodule-option): rewrite add_file() routine
+      t4041 (diff-submodule-option): modernize style
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: update to git-v1.8.0.1-347-gf94c3
+
+
+Version v1.8.1-rc0; changes since v1.8.0.3:
+-------------------------------------------
+
+Ben Walton (1):
+      Use character class for sed expression instead of \s
+
+Brandon Casey (1):
+      usage.c: detect recursion in die routines and bail out immediately
+
+Chris Rorvick (1):
+      git-cvsimport: allow author-specific timezones
+
+Dmitry Ivankov (1):
+      vcs-svn: add fast_export_note to create notes
+
+Enrico Scholz (1):
+      emacs: make 'git-status' work with separate git dirs
+
+Eric S. Raymond (1):
+      Documentation: how to add a new command
+
+Felipe Contreras (32):
+      completion: add format-patch options to send-email
+      Add new remote-hg transport helper
+      remote-hg: add support for pushing
+      remote-hg: add support for remote pushing
+      remote-hg: add support to push URLs
+      remote-hg: make sure the encoding is correct
+      remote-hg: match hg merge behavior
+      remote-hg: add support for hg-git compat mode
+      remote-hg: add compat for hg-git author fixes
+      remote-hg: fake bookmark when there's none
+      remote-hg: add basic tests
+      test-lib: avoid full path to store test results
+      remote-hg: add bidirectional tests
+      remote-hg: add tests to compare with hg-git
+      remote-hg: add extra author test
+      remote-hg: add option to not track branches
+      remote-hg: the author email can be null
+      remote-hg: fix compatibility with older versions of hg
+      remote-hg: try the 'tip' if no checkout present
+      remote-hg: avoid bad refs
+      completion: add comment for test_completion()
+      completion: standardize final space marker in tests
+      completion: simplify tests using test_completion_long()
+      completion: consolidate test_completion*() tests
+      completion: refactor __gitcomp related tests
+      completion: simplify __gitcomp() test helper
+      completion: add new zsh completion
+      completion: start moving to the new zsh completion
+      send-email: avoid questions when user has an ident
+      remote-hg: fix for files with spaces
+      remote-hg: fix for older versions of python
+      completion: fix warning for zsh
+
+Florian Achleitner (15):
+      Implement a remote helper for svn in C
+      Add git-remote-testsvn to Makefile
+      Add svndump_init_fd to allow reading dumps from arbitrary FDs
+      Add argv_array_detach and argv_array_free_detached
+      Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability
+      Add documentation for the 'bidi-import' capability of remote-helpers
+      When debug==1, start fast-import with "--stats" instead of "--quiet"
+      remote-svn, vcs-svn: Enable fetching to private refs
+      Allow reading svn dumps from files via file:// urls
+      Create a note for every imported commit containing svn metadata
+      remote-svn: Activate import/export-marks for fast-import
+      remote-svn: add incremental import
+      Add a svnrdump-simulator replaying a dump file for testing
+      remote-svn: add marks-file regeneration
+      Add a test script for remote-svn
+
+Jeff King (30):
+      pager: drop "wait for output to run less" hack
+      peel_ref: use faster deref_tag_noverify
+      peel_ref: do not return a null sha1
+      peel_ref: check object type before loading
+      upload-pack: use peel_ref for ref advertisements
+      remote-curl: do not call run_slot repeatedly
+      http: do not set up curl auth after a 401
+      strbuf: always return a non-NULL value from strbuf_detach
+      status: add --long output format option
+      git-sh-setup: refactor ident-parsing functions
+      filter-branch: use git-sh-setup's ident parsing functions
+      t1300: style updates
+      t1300: remove redundant test
+      t1300: test "git config --get-all" more thoroughly
+      git-config: remove memory leak of key regexp
+      git-config: fix regexp memory leaks on error conditions
+      git-config: collect values instead of immediately printing
+      git-config: do not complain about duplicate entries
+      git-config: use git_config_with_options
+      remote-curl: hoist gzip buffer size to top of post_rpc
+      remote-curl: retry failed requests for auth even with gzip
+      cvsimport: work around perl tzset issue
+      test-lib: allow negation of prerequisites
+      t7502: factor out autoident prerequisite
+      ident: make user_ident_explicitly_given static
+      ident: keep separate "explicit" flags for author and committer
+      diff: rename "set" variable
+      t: add tests for "git var"
+      t9001: check send-email behavior with implicit sender
+      status: respect advice.statusHints for ahead/behind advice
+
+Jeff Muizelaar (1):
+      diff: diff.context configuration gives default to -U
+
+Jens Lehmann (5):
+      submodule: teach rm to remove submodules unless they contain a git directory
+      Teach "git submodule add" the --name option
+      submodule add: Fail when .git/modules/<name> already exists unless forced
+      submodule status: remove unused orig_* variables
+      Teach rm to remove submodules when given with a trailing '/'
+
+Jiang Xin (1):
+      l10n: Update git.pot (14 new, 3 removed messages)
+
+Joachim Schmitz (1):
+      fix 'make test' for HP NonStop
+
+Johan Herland (1):
+      git symbolic-ref --delete $symref
+
+Johannes Sixt (1):
+      maybe_flush_or_die: move a too-loose Windows specific error
+
+Junio C Hamano (20):
+      t4055: avoid use of sed 'a' command
+      log --grep: accept --basic-regexp and --perl-regexp
+      log: honor grep.* configuration
+      coloured git-prompt: paint detached HEAD marker in red
+      pretty: remove reencode_commit_message()
+      format_note(): simplify API
+      pretty: prepare notes message at a centralized place
+      pretty_print_commit(): do not append notes message
+      format-patch: append --signature after notes
+      format-patch --notes: show notes after three-dashes
+      Documentation: decribe format-patch --notes
+      get_fetch_map(): tighten checks on dest refs
+      format-patch: add a blank line between notes and diffstat
+      Start 1.8.1 cycle
+      Sixth batch for 1.8.1
+      Update draft release notes for 1.8.1
+      Update draft release notes to 1.8.1
+      Update draft release notes to 1.8.1
+      Update draft release notes to 1.8.1
+      Git 1.8.1-rc0
+
+Karsten Blees (1):
+      update-index/diff-index: use core.preloadindex to improve performance
+
+Krzysztof Mazur (10):
+      git-send-email: introduce compose-encoding
+      git-send-email: use compose-encoding for Subject
+      git-send-email: skip RFC2047 quoting for ASCII subjects
+      git-send-email: introduce quote_subject()
+      git-send-email: add rfc2047 quoting for "=?"
+      git-send-email: remove garbage after email address
+      git-send-email: fix fallback code in extract_valid_address()
+      git-send-email: remove invalid addresses earlier
+      git-send-email: ask what to do with an invalid email address
+      git-send-email: allow edit invalid email address
+
+Marc Khouzam (2):
+      tcsh-completion re-using git-completion.bash
+      Support for git aliasing for tcsh completion
+
+Mark Levedahl (2):
+      Update cygwin.c for new mingw-64 win32 api headers
+      USE CGYWIN_V15_WIN32API as macro to select api for cygwin
+
+Matt Kraai (1):
+      docs: move submodule section
+
+Matthew Ogilvie (10):
+      cvsserver t9400: add basic 'cvs log' test
+      cvsserver: removed unused sha1Or-k mode from kopts_from_path
+      cvsserver: add comments about database schema/usage
+      cvsserver update: comment about how we shouldn't remove a user-modified file
+      cvsserver: remove unused functions _headrev and gethistory
+      cvsserver: clean up client request handler map comments
+      cvsserver: split up long lines in req_{status,diff,log}
+      cvsserver: use whole CVS rev number in-process; don't strip "1." prefix
+      cvsserver: cvs add: do not expand directory arguments
+      cvsserver status: provide real sticky info
+
+Matthieu Moy (1):
+      status: add advice on how to push/pull to tracking branch
+
+Michael Haggerty (12):
+      parse_dirstat_params(): use string_list to split comma-separated string
+      strbuf_split_buf(): use ALLOC_GROW()
+      strbuf_split_buf(): simplify iteration
+      strbuf_split*(): rename "delim" parameter to "terminator"
+      strbuf_split*(): document functions
+      string_list: add a function string_list_remove_empty_items()
+      Initialize sort_uniq_list using named constant
+      combine_notes_cat_sort_uniq(): sort and dedup lines all at once
+      notes: fix handling of colon-separated values
+      string_list_add_refs_from_colon_sep(): use string_list_split()
+      link_alt_odb_entries(): use string_list_split_in_place()
+      link_alt_odb_entries(): take (char *, len) rather than two pointers
+
+Michael J Gruber (1):
+      replace: parse revision argument for -d
+
+Nguyễn Thái Ngọc Duy (16):
+      attr: avoid strlen() on every match
+      attr: avoid searching for basename on every match
+      exclude: stricten a length check in EXC_FLAG_ENDSWITH case
+      exclude: split basename matching code into a separate function
+      exclude: fix a bug in prefix compare optimization
+      exclude: split pathname matching code into a separate function
+      gitignore: make pattern parsing code a separate function
+      attr: more matching optimizations from .gitignore
+      tree-walk: use enum interesting instead of integer
+      Move try_merge_command and checkout_fast_forward to libgit.a
+      Move estimate_bisect_steps to libgit.a
+      Move print_commit_list to libgit.a
+      Move setup_diff_pager to libgit.a
+      send-pack: move core code to libgit.a
+      fetch-pack: remove global (static) configuration variable "args"
+      fetch-pack: move core code to libgit.a
+
+Patrick Palka (1):
+      Documentation: improve the example of overriding LESS via core.pager
+
+Pete Wyckoff (6):
+      git p4: catch p4 describe errors
+      git p4: handle servers without move support
+      git p4: catch p4 errors when streaming file contents
+      git p4 test: display unresolvable host error
+      git p4: fix labelDetails typo in exception
+      git p4: remove unneeded cmd initialization
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (1975t0f0u)
+
+Phil Hord (3):
+      t7407: Fix recursive submodule test
+      Teach --recursive to submodule sync
+      Add tests for submodule sync --recursive
+
+Phil Pennock (1):
+      gitweb: make remote_heads config setting work
+
+Philip Oakley (4):
+      Doc SubmittingPatches: Mention --notes option after "cover letter"
+      Doc notes: Include the format-patch --notes option
+      Doc format-patch: clarify --notes use case
+      Doc User-Manual: Patch cover letter, three dashes, and --notes
+
+Ramkumar Ramachandra (4):
+      remote-hg: add missing config for basic tests
+      Documentation: move diff.wordRegex from config.txt to diff-config.txt
+      diff: introduce diff.submodule configuration variable
+      submodule: display summary header in bold
+
+Ramsay Jones (2):
+      builtin/config.c: Fix a sparse warning
+      remote-curl.c: Fix a compiler warning
+
+SZEDER Gábor (1):
+      completion: remove 'help' duplicate from porcelain commands
+
+Simon Oosthoek (3):
+      Allow __git_ps1 to be used in PROMPT_COMMAND
+      show color hints based on state of the git tree
+      Fix up colored git-prompt
+
+Stefan Zager (1):
+      submodule add: fix handling of --reference=<repo> option
+
+Stefano Lattarini (1):
+      configure: fix some output message
+
+Torsten Bögershausen (1):
+      Fix t9200 on case insensitive file systems
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: update to git-v1.7.12-437-g1084f
+      l10n: vi.po: Update follow git-v1.8.0-273-g2d242
+
+
+Version v1.8.0.3; changes since v1.8.0.2:
+-----------------------------------------
+
+Adam Spiers (2):
+      SubmittingPatches: add convention of prefixing commit messages
+      Documentation: move support for old compilers to CodingGuidelines
+
+Anders Kaseorg (1):
+      git-prompt: Document GIT_PS1_DESCRIBE_STYLE
+
+Chris Rorvick (2):
+      Documentation/git-checkout.txt: clarify usage
+      Documentation/git-checkout.txt: document 70c9ac2 behavior
+
+Gunnlaugur Þór Briem (1):
+      Document git-svn fetch --log-window-size parameter
+
+Jeff King (7):
+      pickaxe: hoist empty needle check
+      pickaxe: use textconv for -S counting
+      .mailmap: match up some obvious names/emails
+      .mailmap: fix broken entry for Martin Langhoff
+      .mailmap: normalize emails for Jeff King
+      .mailmap: normalize emails for Linus Torvalds
+      contrib: update stats/mailmap script
+
+John Keeping (1):
+      Documentation: don't link to example mail addresses
+
+Junio C Hamano (6):
+      fetch --tags: clarify documentation
+      README: it does not matter who the current maintainer is
+      t7004: do not create unneeded gpghome/gpg.conf when GPG is not used
+      Documentation: Describe "git diff <blob> <blob>" separately
+      git(1): show link to contributor summary page
+      Git 1.8.0.3
+
+Krzysztof Mazur (1):
+      doc: git-reset: make "<mode>" optional
+
+Manlio Perillo (1):
+      git.txt: add missing info about --git-dir command-line option
+
+Matthew Daley (1):
+      Fix sizeof usage in get_permutations
+
+Max Horn (1):
+      git-remote-helpers.txt: document invocation before input format
+
+Nguyễn Thái Ngọc Duy (1):
+      index-format.txt: clarify what is "invalid"
+
+Ramkumar Ramachandra (1):
+      Documentation: move diff.wordRegex from config.txt to diff-config.txt
+
+Sebastian Leske (4):
+      git-svn: Document branches with at-sign(@).
+      git-svn: Recommend use of structure options.
+      git-svn: Expand documentation for --follow-parent
+      git-svn: Note about tags.
+
+Sitaram Chamarty (1):
+      clarify -M without % symbol in diff-options
+
+Stefano Lattarini (1):
+      README: Git is released under the GPLv2, not just "the GPL"
+
+Thomas Ackermann (8):
+      Split over-long synopsis in git-fetch-pack.txt into several lines
+      Shorten two over-long lines in git-bisect-lk2009.txt by abbreviating some sha1
+      Change headline of technical/send-pack-pipeline.txt to not confuse its content with content from git-send-pack.txt
+      Documentation/technical: convert plain text files to asciidoc
+      Documentation/howto: convert plain text files to asciidoc
+      Documentation: build html for all files in technical and howto
+      Remove misleading date from api-index-skel.txt
+      Sort howto documents in howto-index.txt
+
+Tom Jones (1):
+      Add -S, --gpg-sign option to manpage of "git commit"
+
+
+Version v1.8.0.2; changes since v1.8.0.1:
+-----------------------------------------
+
+Antoine Pelisse (1):
+      Fix typo in remote set-head usage
+
+Eric S. Raymond (1):
+      doc/fast-import: clarify how content states are built
+
+Johan Herland (2):
+      t1400-update-ref: Add test verifying bug with symrefs in delete_ref()
+      Fix failure to delete a packed ref through a symref
+
+Junio C Hamano (13):
+      reencode_string(): introduce and use same_encoding()
+      test: add failing tests for "diff --stat" to t4049
+      diff --stat: status of unmodified pair in diff-q is not zero
+      diff --stat: use "file" temporary variable to refer to data->files[i]
+      diff --stat: move the "total count" logic to the last loop
+      diff --stat: do not count "unmerged" entries
+      diff --shortstat: do not count "unmerged" entries
+      Documentation/git-push.txt: clarify the "push from satellite" workflow
+      Start preparing for 1.8.0.2
+      t4049: refocus tests
+      Update draft release notes to 1.8.0.2
+      git(1): remove a defunct link to "list of authors"
+      Git 1.8.0.2
+
+Linus Torvalds (1):
+      Fix "git diff --stat" for interesting - but empty - file changes
+
+Mark Szepieniec (1):
+      Documentation: improve phrasing in git-push.txt
+
+Matthieu Moy (2):
+      git-remote-mediawiki: escape ", \, and LF in file names
+      git-fast-import.txt: improve documentation for quoted paths
+
+Nguyễn Thái Ngọc Duy (1):
+      compat/fnmatch: fix off-by-one character class's length check
+
+Paul Gortmaker (1):
+      Makefile: hide stderr of curl-config test
+
+Pete Wyckoff (1):
+      git p4: RCS expansion should not span newlines
+
+Ralf Thielow (1):
+      completion: add options --single-branch and --branch to "git clone"
+
+Richard Hubbell (1):
+      gitweb.perl: fix %highlight_ext mappings
+
+Sébastien Loriot (1):
+      Documentation/git-stash.txt: add a missing verb
+
+W. Trevor King (1):
+      git-submodule: wrap branch option with "<>" in usage strings.
+
+
+Version v1.8.0.1; changes since v1.8.0:
+---------------------------------------
+
+Andreas Schwab (1):
+      commit: fixup misplacement of --no-post-rewrite description
+
+Ben Walton (1):
+      Remove the hard coded length limit on variable names in config files
+
+Carlos Martín Nieto (1):
+      config: don't segfault when given --path with a missing value
+
+David Aguilar (1):
+      mergetools/p4merge: Handle "/dev/null"
+
+Jan H. Schönherr (7):
+      utf8: fix off-by-one wrapping of text
+      format-patch: do not wrap non-rfc2047 headers too early
+      format-patch: do not wrap rfc2047 encoded headers too late
+      format-patch: introduce helper function last_line_length()
+      format-patch: make rfc2047 encoding more strict
+      format-patch: fix rfc2047 address encoding with respect to rfc822 specials
+      format-patch tests: check quoting/encoding in To: and Cc: headers
+
+Jeff King (3):
+      diff_grep: use textconv buffers for add/deleted files
+      gitweb: escape html in rss title
+      checkout: print a message when switching unborn branches
+
+Junio C Hamano (9):
+      builtin/grep.c: make configuration callback more reusable
+      grep: move the configuration parsing logic to grep.[ch]
+      grep: move pattern-type bits support to top-level grep.[ch]
+      revisions: initialize revs->grep_filter using grep_init()
+      log --grep: use the same helper to set -E/-F options as "git grep"
+      test-lib: Fix say_color () not to interpret \a\b\c in the message
+      Start preparing for 1.8.0.1
+      Further preparation for 1.8.0.1
+      Git 1.8.0.1
+
+Marc Khouzam (1):
+      Completion must sort before using uniq
+
+Matthieu Moy (2):
+      Documentation: remote tracking branch -> remote-tracking branch
+      Document 'git commit --no-edit' explicitly
+
+Michael J Gruber (1):
+      push/pull: adjust missing upstream help text to changed interface
+
+Nguyễn Thái Ngọc Duy (1):
+      grep: stop looking at random places for .gitattributes
+
+Phil Hord (1):
+      git-pull: Avoid merge-base on detached head
+
+Philip Oakley (1):
+      Doc repository-layout: Show refs/replace
+
+René Scharfe (6):
+      refs: lock symref that is to be deleted, not its target
+      branch: factor out check_branch_commit()
+      branch: factor out delete_branch_config()
+      branch: delete symref branch, not its target
+      branch: skip commit checks when deleting symref branches
+      branch: show targets of deleted symrefs, not sha1s
+
+Romain Francoise (1):
+      mailmap: avoid out-of-bounds memory access
+
+Stefan Zager (1):
+      Fix potential hang in https handshake
+
+
+Version v1.8.0; changes since v1.8.0-rc3:
+-----------------------------------------
+
+Andrew Wong (2):
+      git-gui: Detect full path when parsing arguments
+      git-gui: Don't prepend the prefix if value looks like a full path
+
+Beat Bolli (2):
+      git-gui: Fix a loose/lose mistake
+      git-gui: remove .git/CHERRY_PICK_HEAD after committing
+
+Benjamin Kerensa (1):
+      git-gui: fix a typo in po/ files
+
+Clemens Buchacher (1):
+      git-gui: fix git-gui crash due to uninitialized variable
+
+Heiko Voigt (1):
+      git-gui: open console when using --trace on windows
+
+Junio C Hamano (1):
+      Git 1.8.0
+
+Marcus Karlsson (1):
+      git-gui: Use PWD if it exists on Mac OS X
+
+Pat Thoyts (2):
+      git-gui: preserve commit messages in utf-8
+      git-gui 0.17
+
+Ralf Thielow (3):
+      git-gui: de.po: consistently add untranslated hook names within braces
+      git-gui: de.po: translate "bare" as "bloß"
+      git-gui: de.po: translate "remote" as "extern"
+
+Vitaly "_Vi" Shukela (1):
+      git-gui: Fix semi-working shortcuts for unstage and revert
+
+
+Version v1.8.0-rc3; changes since v1.8.0-rc2:
+---------------------------------------------
+
+Dylan Alex Simon (1):
+      gitweb.cgi: fix "comitter_tz" typo in feed
+
+Jeff King (1):
+      http: fix segfault in handle_curl_result
+
+Jiang Xin (1):
+      l10n: Update git.pot (3 new, 6 removed messages)
+
+Junio C Hamano (3):
+      Update draft release notes to 1.8.0
+      Git 1.7.12.4
+      Git 1.8.0-rc3
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (1964t0f0u)
+
+Richard Fearn (1):
+      Fix spelling error in post-receive-email hook
+
+Thomas Ackermann (1):
+      Documentation/RelNotes: remove "updated up to this revision" markers
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: update translation upto cc76011
+      l10n: vi.po: update from v1.8.0-rc2-4-g42e55
+
+
+Version v1.8.0-rc2; changes since v1.8.0-rc1:
+---------------------------------------------
+
+Ben Walton (1):
+      tests: "cp -a" is a GNUism
+
+Jonathan Nieder (2):
+      git svn: work around SVN 1.7 mishandling of svn:special changes
+      svn test: escape peg revision separator using empty peg rev
+
+Junio C Hamano (2):
+      gitcli: parse-options lets you omit tail of long options
+      Git 1.8.0-rc2
+
+Nguyễn Thái Ngọc Duy (2):
+      gitignore.txt: suggestions how to get literal # or ! at the beginning
+      attr: a note about the order of .gitattributes lookup
+
+Ramkumar Ramachandra (1):
+      Git url doc: mark ftp/ftps as read-only and deprecate them
+
+Ramsay Jones (1):
+      MALLOC_CHECK: Allow checking to be disabled from config.mak
+
+Simon Ruderich (1):
+      l10n: de.po: fix a few minor typos
+
+Øyvind A. Holm (1):
+      configure.ac: Add missing comma to CC_LD_DYNPATH
+
+
+Version v1.8.0-rc1; changes since v1.8.0-rc0:
+---------------------------------------------
+
+Ammon Riley (1):
+      Make git-svn branch patterns match complete URL
+
+Eric Wong (1):
+      git-svn: use path accessor for Git::SVN objects
+
+Jonathan Nieder (2):
+      Git::SVN: rename private path field
+      git-svn: keep leading slash when canonicalizing paths (fallback case)
+
+Junio C Hamano (7):
+      log --grep-reflog: reject the option without -g
+      Start preparing for 1.7.12.3
+      t1450: the order the objects are checked is undefined
+      Update draft release notes to 1.8.0
+      paint_down_to_common(): parse commit before relying on its timestamp
+      Git 1.7.12.3
+      Git 1.8.0-rc1
+
+Linus Torvalds (1):
+      mailinfo: don't require "text" mime type for attachments
+
+Michael J Gruber (1):
+      RelNotes/1.8.0: various typo and style fixes
+
+Nguyễn Thái Ngọc Duy (3):
+      grep: prepare for new header field filter
+      revision: add --grep-reflog to filter commits by reflog messages
+      revision: make --grep search in notes too if shown
+
+Peter Krefting (1):
+      l10n: Fix to Swedish translation
+
+Ramkumar Ramachandra (1):
+      Documentation: mention `push.default` in git-push.txt
+
+Robert Luberda (1):
+      t9164: Add missing quotes in test
+
+Steven Walter (2):
+      git-svn.perl: consider all ranges for a given merge, instead of only tip-by-tip
+      git-svn.perl: keep processing all commits in parents_exclude
+
+Tobias Ulmer (1):
+      silence git gc --auto --quiet output
+
+
+Version v1.8.0-rc0; changes since v1.7.12.4:
+--------------------------------------------
+
+Adrian Johnson (1):
+      Add userdiff patterns for Ada
+
+Andrew Wong (3):
+      rebase -i: Refactor help messages for todo file
+      rebase -i: Teach "--edit-todo" action
+      rebase -i: Add tests for "--edit-todo"
+
+Aske Olsson (1):
+      gitk: Fix GIT_TRACE issues
+
+Carlos Martín Nieto (4):
+      branch: introduce --set-upstream-to
+      branch: add --unset-upstream option
+      branch: deprecate --set-upstream and show help if we detect possible mistaken use
+      completion: add --set-upstream-to and --unset-upstream
+
+Chris Webb (1):
+      cherry-pick: add --allow-empty-message option
+
+David Aguilar (12):
+      difftool: Simplify print_tool_help()
+      difftool: Eliminate global variables
+      difftool: Move option values into a hash
+      difftool: Call the temp directory "git-difftool"
+      difftool: Use symlinks when diffing against the worktree
+      difftool: Handle finding mergetools/ in a path with spaces
+      difftool: Check all return codes from compare()
+      difftool: Wrap long lines for readability
+      difftool: Handle compare() returning -1
+      difftool: Disable --symlinks on cygwin
+      mergetool,difftool: Document --tool-help consistently
+      mergetool--lib: Allow custom commands to override built-ins
+
+Elia Pinto (1):
+      Add MALLOC_CHECK_ and MALLOC_PERTURB_ libc env to the test suite for detecting heap corruption
+
+Erik Faye-Lund (1):
+      contrib: add win32 credential-helper
+
+J Smith (1):
+      grep: add a grep.patternType configuration setting
+
+Jeff King (4):
+      remote-curl: rename is_http variable
+      remote-curl: let users turn off smart http
+      t9902: add a few basic completion tests
+      t9902: add completion tests for "odd" filenames
+
+Jiang Xin (11):
+      Fix tests under GETTEXT_POISON on relative dates
+      Fix tests under GETTEXT_POISON on git-stash
+      Fix tests under GETTEXT_POISON on diffstat
+      Fix tests under GETTEXT_POISON on git-apply
+      Fix tests under GETTEXT_POISON on pack-object
+      Fix tests under GETTEXT_POISON on git-remote
+      Fix tests under GETTEXT_POISON on parseopt
+      l10n: Update git.pot (2 new, 4 removed messages)
+      l10n: zh_CN.po: translate 2 new messages
+      l10n: Update git.pot (825 new, 24 removed messages)
+      l10n: zh.CN.po: msgmerge git.pot (1142t195f630u)
+
+Joachim Schmitz (8):
+      compat: some mkdir() do not like a slash at the end
+      Add a no-op setitimer() wrapper
+      Document MKDIR_WO_TRAILING_SLASH in Makefile
+      make poll available for other platforms lacking it
+      fix some win32 specific dependencies in poll.c
+      poll() exits too early with EFAULT if 1st arg is NULL
+      make poll() work on platforms that can't recv() on a non-socket
+      Port to HP NonStop
+
+Johannes Sixt (3):
+      t0060: split absolute path test in two to exercise some of it on Windows
+      rebase -i: fix misleading error message after 'exec no-such' instruction
+      rebase -i: suggest using --edit-todo to fix an unknown instruction
+
+Junio C Hamano (42):
+      daemon: --access-hook option
+      Kick off cycle towards 1.8.0
+      First half of the second batch for 1.8.0
+      in_merge_bases(): support only one "other" commit
+      receive-pack: use in_merge_bases() for fast-forward check
+      http-push: use in_merge_bases() for fast-forward check
+      Latter half of the second batch for 1.8.0
+      merge_bases_many(): split out the logic to paint history
+      in_merge_bases(): use paint_down_to_common()
+      get_merge_bases_many(): walk from many tips in parallel
+      merge-base: "--is-ancestor A B"
+      reduce_heads(): reimplement on top of remove_redundant()
+      The third batch for 1.8.0
+      Update mailmap for a handful of folks
+      The fourth batch for 1.8.0
+      Cull items fixed in maintenance branches
+      First half of the fifth batch for 1.8.0
+      Second half of the fifth batch for 1.8.0
+      Start merging the sixth batch for 1.8.0
+      The sixth batch for 1.8.0
+      Draft release notes to 1.8.0
+      builtin/notes.c: mark file-scope private symbols as static
+      commit.c: mark a file-scope private symbol as static
+      diff.c: mark a private file-scope symbol as static
+      graph.c: mark private file-scope symbols as static
+      rerere.c: mark private file-scope symbols as static
+      notes.c: mark a private file-scope symbol as static
+      symlinks.c: mark private file-scope symbols as static
+      sha1-array.c: mark a private file-scope symbol as static
+      strbuf.c: mark a private file-scope symbol as static
+      read-cache.c: mark a private file-scope symbol as static
+      wt-status.c: mark a private file-scope symbol as static
+      trace.c: mark a private file-scope symbol as static
+      ident.c: mark private file-scope symbols as static
+      sequencer.c: mark a private file-scope symbol as static
+      The seventh batch for 1.8.0
+      MALLOC_CHECK: various clean-ups
+      Revert "archive-zip: support UTF-8 paths"
+      Update draft release notes to 1.8.0
+      Update draft release notes to 1.8.0
+      Update draft release notes to 1.8.0
+      Git 1.8.0-rc0
+
+Ken Dreyer (1):
+      cvsimport: strip all inappropriate tag strings
+
+Linus Torvalds (1):
+      commit/commit-tree: correct latin1 to utf-8
+
+Martin von Zweigbergk (4):
+      remove unnecessary parameter from get_patch_ids()
+      cherry: don't set ignored rev_info options
+      cherry: remove redundant check for merge commit
+      rebase usage: subcommands can not be combined with -i
+
+Matthieu Moy (1):
+      push: start warning upcoming default change for push.default
+
+Michael G. Schwern (20):
+      Git::SVN: use accessors internally for path
+      Git::SVN: use accessor for URLs internally
+      Git::SVN::Ra: use accessor for URLs
+      use Git::SVN->path accessor globally
+      use Git::SVN{,::RA}->url accessor globally
+      git-svn: move canonicalization to Git::SVN::Utils
+      git-svn: use SVN 1.7 to canonicalize when possible
+      git-svn: factor out _collapse_dotdot function
+      git-svn: add join_paths() to safely concatenate paths
+      Git::SVN::Utils: remove irrelevant comment
+      git-svn: path canonicalization uses SVN API
+      Git::SVN{,::Ra}: canonicalize earlier
+      t9118: workaround inconsistency between SVN versions
+      t9107: fix typo
+      git-svn: attempt to mimic SVN 1.7 URL canonicalization
+      git-svn: replace URL escapes with canonicalization
+      git-svn: canonicalize earlier
+      git-svn: introduce add_path_to_url function
+      git-svn: canonicalize newly-minted URLs
+      git-svn: remove ad-hoc canonicalizations
+
+Michael Haggerty (29):
+      t0060: move tests of real_path() from t0000 to here
+      t0060: verify that absolute_path() fails if passed the empty string
+      absolute_path(): reject the empty string
+      t0060: verify that real_path() fails if passed the empty string
+      real_path(): reject the empty string
+      t0060: verify that real_path() works correctly with absolute paths
+      real_path(): properly handle nonexistent top-level paths
+      t0060: verify that real_path() removes extra slashes
+      string_list: add function string_list_append_nodup()
+      string_list: add two new functions for splitting strings
+      string_list: add a new function, filter_string_list()
+      string_list: add a new function, string_list_remove_duplicates()
+      string_list: add a function string_list_longest_prefix()
+      api-string-list.txt: initialize the string_list the easy way
+      t5500: add tests of error output for missing refs
+      t5500: add tests of fetch-pack --all --depth=N $URL $REF
+      Rename static function fetch_pack() to http_fetch_pack()
+      fetch_pack(): reindent function decl and defn
+      Change fetch_pack() and friends to take string_list arguments
+      filter_refs(): do not check the same sought_pos twice
+      fetch_pack(): update sought->nr to reflect number of unique entries
+      filter_refs(): delete matched refs from sought list
+      filter_refs(): build refs list as we go
+      filter_refs(): simplify logic
+      cmd_fetch_pack(): return early if finish_connect() fails
+      fetch-pack: report missing refs even if no existing refs were received
+      cmd_fetch_pack(): simplify computation of return value
+      fetch-pack: eliminate spurious error messages
+      string_list API: document what "sorted" means
+
+Michael J Gruber (1):
+      completion: complete branch name for "branch --set-upstream-to="
+
+Miklos Vajna (1):
+      cherry-pick: don't forget -s on failure
+
+Nguyễn Thái Ngọc Duy (74):
+      i18n: mark "style" in OPT_COLUMN() for translation
+      i18n: archive: mark parseopt strings for translation
+      i18n: bisect--helper: mark parseopt strings for translation
+      i18n: add: mark parseopt strings for translation
+      i18n: blame: mark parseopt strings for translation
+      i18n: branch: mark parseopt strings for translation
+      i18n: cat-file: mark parseopt strings for translation
+      i18n: check-attr: mark parseopt strings for translation
+      i18n: checkout-index: mark parseopt strings for translation
+      i18n: checkout: mark parseopt strings for translation
+      i18n: cherry: mark parseopt strings for translation
+      i18n: clean: mark parseopt strings for translation
+      i18n: clone: mark parseopt strings for translation
+      i18n: column: mark parseopt strings for translation
+      i18n: commit: mark parseopt strings for translation
+      i18n: count-objects: mark parseopt strings for translation
+      i18n: config: mark parseopt strings for translation
+      i18n: describe: mark parseopt strings for translation
+      i18n: fast-export: mark parseopt strings for translation
+      i18n: fetch: mark parseopt strings for translation
+      i18n: fmt-merge-msg: mark parseopt strings for translation
+      i18n: for-each-ref: mark parseopt strings for translation
+      i18n: format-patch: mark parseopt strings for translation
+      i18n: fsck: mark parseopt strings for translation
+      i18n: gc: mark parseopt strings for translation
+      i18n: grep: mark parseopt strings for translation
+      i18n: hash-object: mark parseopt strings for translation
+      i18n: help: mark parseopt strings for translation
+      i18n: init-db: mark parseopt strings for translation
+      i18n: log: mark parseopt strings for translation
+      i18n: ls-files: mark parseopt strings for translation
+      i18n: ls-tree: mark parseopt strings for translation
+      i18n: merge-base: mark parseopt strings for translation
+      i18n: merge-file: mark parseopt strings for translation
+      i18n: merge: mark parseopt strings for translation
+      i18n: mktree: mark parseopt strings for translation
+      i18n: mv: mark parseopt strings for translation
+      i18n: name-rev: mark parseopt strings for translation
+      i18n: notes: mark parseopt strings for translation
+      i18n: pack-objects: mark parseopt strings for translation
+      i18n: pack-refs: mark parseopt strings for translation
+      i18n: prune-packed: mark parseopt strings for translation
+      i18n: prune: mark parseopt strings for translation
+      i18n: push: mark parseopt strings for translation
+      i18n: read-tree: mark parseopt strings for translation
+      i18n: remote: mark parseopt strings for translation
+      i18n: replace: mark parseopt strings for translation
+      i18n: status: mark parseopt strings for translation
+      i18n: rerere: mark parseopt strings for translation
+      i18n: reset: mark parseopt strings for translation
+      i18n: rev-parse: mark parseopt strings for translation
+      i18n: revert, cherry-pick: mark parseopt strings for translation
+      i18n: rm: mark parseopt strings for translation
+      i18n: shortlog: mark parseopt strings for translation
+      am: quote string for translation before passing to eval_gettextln
+      i18n: show-branch: mark parseopt strings for translation
+      i18n: show-ref: mark parseopt strings for translation
+      i18n: symbolic-ref: mark parseopt strings for translation
+      i18n: tag: mark parseopt strings for translation
+      i18n: update-index: mark parseopt strings for translation
+      i18n: update-ref: mark parseopt strings for translation
+      i18n: update-server-info: mark parseopt strings for translation
+      i18n: verify-pack: mark parseopt strings for translation
+      i18n: verify-tag: mark parseopt strings for translation
+      i18n: write-tree: mark parseopt strings for translation
+      Reduce translations by using same terminologies
+      Use imperative form in help usage to describe an action
+      branch -v: align even when branch names are in UTF-8
+      checkout: pass "struct checkout_opts *" as const pointer
+      checkout: move more parameters to struct checkout_opts
+      i18n: mark more index-pack strings for translation
+      status: remove i18n legos
+      checkout: reorder option handling
+      fetch: align per-ref summary report in UTF-8 locales
+
+Pete Wyckoff (17):
+      git p4 test: move client_view() function to library
+      git p4 test: add broken --use-client-spec --detect-branches tests
+      git p4: set self.branchPrefixes in initialization
+      git p4: do wildcard decoding in stripRepoPath
+      git p4: make branch detection work with --use-client-spec
+      git p4 test: remove bash-ism of combined export/assignment
+      git p4: gracefully fail if some commits could not be applied
+      git p4: remove submit failure options [a]pply and [w]rite
+      git p4: move conflict prompt into run, add [q]uit input
+      git p4: standardize submit cancel due to unchanged template
+      git p4: test clean-up after failed submit, fix added files
+      git p4: rearrange submit template construction
+      git p4: revert deleted files after submit cancel
+      git p4: accept -v for --verbose
+      git p4: add submit --dry-run option
+      git p4: add submit --prepare-p4-only option
+      git-p4: add submit --conflict option and config varaiable
+
+Peter Krefting (3):
+      l10n: Update Swedish translation (1166t0f0u)
+      Update Swedish translation (1967t0f0u)
+      l10n: Fixes to Swedish translation
+
+Philipp A. Hartmann (1):
+      contrib: add credential helper for GnomeKeyring
+
+Ralf Thielow (1):
+      l10n: de.po: translate 2 new messages
+
+Ramsay Jones (12):
+      t3300-*.sh: Fix a TAP parse error
+      t3902-*.sh: Skip all tests rather than each test
+      t4016-*.sh: Skip all tests rather than each test
+      test-lib.sh: Fix some shell coding style violations
+      test-lib.sh: Add check for invalid use of 'skip_all' facility
+      test-lib.sh: Suppress the "passed all ..." message if no tests run
+      path.c: Remove the 'git_' prefix from a file scope function
+      path.c: Don't discard the return value of vsnpath()
+      path.c: Use vsnpath() in the implementation of git_path()
+      Call git_pathdup() rather than xstrdup(git_path("..."))
+      Call mkpathdup() rather than xstrdup(mkpath(...))
+      test-string-list.c: Fix some sparse warnings
+
+René Scharfe (4):
+      archive-zip: support UTF-8 paths
+      archive-zip: support UTF-8 paths
+      archive-zip: write extended timestamp
+      MALLOC_CHECK: enable it, unless disabled explicitly
+
+Ross Lagerwall (1):
+      difftool: silence warning
+
+Sebastian Schuberth (1):
+      Add Code Compare v2.80.4 as a merge / diff tool for Windows
+
+Stefano Lattarini (2):
+      build: improve GIT_CONF_SUBST signature
+      build: don't duplicate substitution of make variables
+
+Thomas Rast (2):
+      gettext: do not translate empty string
+      in_merge_bases(): omit unnecessary redundant common ancestor reduction
+
+Trần Ngọc Quân (2):
+      l10n: vi.po & TEAMS: review Vietnamese translation
+      l10n: vi.po: update to v1.7.12-146-g16d26
+
+
+Version v1.7.12.4; changes since v1.7.12.3:
+-------------------------------------------
+
+Ben Walton (1):
+      tests: "cp -a" is a GNUism
+
+Dave Borowitz (1):
+      Documentation/Makefile: Allow custom XMLTO binary
+
+Dylan Alex Simon (1):
+      gitweb.cgi: fix "comitter_tz" typo in feed
+
+Jeff King (1):
+      http: fix segfault in handle_curl_result
+
+Junio C Hamano (6):
+      merge: teach -Xours/-Xtheirs to binary ll-merge driver
+      attr: "binary" attribute should choose built-in "binary" merge driver
+      ll-merge: warn about inability to merge binary files only when we can't
+      t1450: the order the objects are checked is undefined
+      gitcli: parse-options lets you omit tail of long options
+      Git 1.7.12.4
+
+Nguyễn Thái Ngọc Duy (2):
+      gitignore.txt: suggestions how to get literal # or ! at the beginning
+      attr: a note about the order of .gitattributes lookup
+
+Philip Oakley (5):
+      Doc: shallow clone deepens _to_ new depth
+      Doc: separate gitignore pattern sources
+      Doc add: link gitignore
+      Doc clean: add See Also link
+      Doc branch: show -vv option and alternative
+
+Ramkumar Ramachandra (3):
+      t/test-lib: make sure Git has already been built
+      test-lib: use $SHELL_PATH, not $SHELL
+      Git url doc: mark ftp/ftps as read-only and deprecate them
+
+Richard Fearn (1):
+      Fix spelling error in post-receive-email hook
+
+Simon Ruderich (1):
+      l10n: de.po: fix a few minor typos
+
+
+Version v1.7.12.3; changes since v1.7.12.2:
+-------------------------------------------
+
+Jeff King (3):
+      receive-pack: redirect unpack-objects stdout to /dev/null
+      receive-pack: send pack-processing stderr over sideband
+      receive-pack: drop "n/a" on unpacker errors
+
+Junio C Hamano (3):
+      git blame: document that it always follows origin across whole-file renames
+      Start preparing for 1.7.12.3
+      Git 1.7.12.3
+
+Linus Torvalds (1):
+      mailinfo: don't require "text" mime type for attachments
+
+Orgad Shaneh (1):
+      commit: pay attention to submodule.$name.ignore in .gitmodules
+
+Peter Krefting (1):
+      l10n: Fix to Swedish translation
+
+Ralf Thielow (1):
+      clone --single: limit the fetch refspec to fetched branch
+
+Ramkumar Ramachandra (1):
+      submodule: if $command was not matched, don't parse other args
+
+Shawn O. Pearce (2):
+      Revert "retry request without query when info/refs?query fails"
+      Enable info/refs gzip decompression in HTTP client
+
+
+Version v1.7.12.2; changes since v1.7.12.1:
+-------------------------------------------
+
+Dan Johnson (1):
+      fetch --all: pass --tags/--no-tags through to each remote
+
+David Gould (1):
+      run-command.c: fix broken list iteration in clear_child_for_cleanup
+
+Felipe Contreras (1):
+      completion: fix shell expansion of items
+
+Jeff King (4):
+      argv-array: add pop function
+      argv-array: fix bogus cast when freeing array
+      fetch: use argv_array instead of hand-building arrays
+      Revert "completion: fix shell expansion of items"
+
+Jens Lehmann (1):
+      submodule: use argv_array instead of hand-building arrays
+
+Jeremy White (1):
+      Documentation: describe subject more precisely
+
+Jonathan "Duke" Leto (1):
+      Improve the description of GIT_PS1_SHOWUPSTREAM
+
+Junio C Hamano (11):
+      mailinfo: strip "RE: " prefix
+      blame $path: avoid getting fooled by case insensitive filesystems
+      blame: allow "blame file" in the middle of a conflicted merge
+      grep: teach --debug option to dump the parse tree
+      log --grep/--author: honor --all-match honored for multiple --grep patterns
+      log: document use of multiple commit limiting options
+      grep.c: mark private file-scope symbols as static
+      mailinfo: do not concatenate charset= attribute values from mime headers
+      grep.c: make two symbols really file-scope static this time
+      Start preparation for 1.7.12.2
+      Git 1.7.12.2
+
+Michael J Gruber (6):
+      grep: show --debug output only once
+      t7810-grep: bring log --grep tests in common form
+      t7810-grep: test multiple --grep with and without --all-match
+      t7810-grep: test multiple --author with --all-match
+      t7810-grep: test interaction of multiple --grep and --author options
+      t7810-grep: test --all-match with multiple --grep and --author options
+
+Nguyễn Thái Ngọc Duy (3):
+      remote: prefer subcommand name 'remove' to 'rm'
+      doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
+      Revert diffstat back to English
+
+Ralf Thielow (1):
+      l10n: de.po: correct translation of a 'rebase' message
+
+Stefan Naewe (1):
+      ls-remote: document the '--get-url' option
+
+Stephen Boyd (1):
+      Documentation: Document signature showing options
+
+Thynson (2):
+      l10n: Unify the translation for '(un)expected'
+      l10n: Improve many translation for zh_CN
+
+
+Version v1.7.12.1; changes since v1.7.12:
+-----------------------------------------
+
+Adam Butcher (1):
+      Fix '\ No newline...' annotation in rewrite diffs
+
+Adam Spiers (1):
+      Add missing -z to git check-attr usage text for consistency with man page
+
+Andreas Schwab (1):
+      Documentation/git-filter-branch: Move note about effect of removing commits
+
+Brandon Casey (2):
+      t/t5400: demonstrate breakage caused by informational message from prune
+      prune.c: only print informational message in show_only or verbose mode
+
+David Aguilar (2):
+      gitk: Teach "Reread references" to reload tags
+      gitk: Rename 'tagcontents' to 'cached_tagcontent'
+
+Eric S. Raymond (4):
+      fast-import: document the --done option
+      contrib/ciabot: Get ciabot configuration from git variables
+      Improved documentation for the ciabot scripts.
+      Make the ciabot scripts completely self-configuring in the normal case.
+
+Felipe Contreras (1):
+      gitk: Avoid Meta1-F5
+
+Heiko Voigt (2):
+      Let submodule command exit with error status if path does not exist
+      Documentation/CodingGuidelines: spell out more shell guidelines
+
+Jay Soffian (1):
+      gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
+
+Jeff King (29):
+      diff: do not use null sha1 as a sentinel value
+      do not write null sha1s to on-disk index
+      fsck: detect null sha1 in tree entries
+      include agent identifier in capability string
+      docs: monospace listings in docbook output
+      check-docs: mention gitweb specially
+      check-docs: update non-command documentation list
+      command-list: add git-sh-i18n
+      command-list: mention git-credential-* helpers
+      check-docs: factor out command-list
+      check-docs: list git-gui as a command
+      check-docs: drop git-help special-case
+      check-docs: get documented command list from Makefile
+      send-pack: fix capability-sending logic
+      do not send client agent unless server does first
+      parse_feature_request: make it easier to see feature values
+      fetch-pack: mention server version with verbose output
+      config: warn on inaccessible files
+      gitignore: report access errors of exclude files
+      attr: warn on inaccessible attribute files
+      t5550: put auth-required repo in auth/dumb
+      t5550: factor out http auth setup
+      t/lib-httpd: only route auth/dumb to dumb repos
+      t/lib-httpd: recognize */smart/* repos as smart-http
+      t: test basic smart-http authentication
+      t: test http access to "half-auth" repositories
+      http: factor out http error code handling
+      http: prompt for credentials on failed POST
+      log: fix --quiet synonym for -s
+
+Joachim Schmitz (2):
+      http.c: don't use curl_easy_strerror prior to curl-7.12.0
+      sha1_file.c: introduce get_max_fd_limit() helper
+
+Junio C Hamano (34):
+      test: rename $satisfied to $satisfied_prereq
+      test: allow prerequisite to be evaluated lazily
+      config: "git config baa" should exit with status 1
+      t7406: fix misleading "rev-parse --max-count=1 HEAD"
+      sane_execvp(): ignore non-directory on $PATH
+      Documentation: do not mention .git/refs/* directories
+      receive-pack: do not leak output from auto-gc to standard output
+      sh-setup: protect from exported IFS
+      fetch-pack: do not ask for unadvertised capabilities
+      send-email: validate & reconfirm interactive responses
+      rev-list docs: clarify --topo-order description
+      gitcli: describe abbreviation of long options
+      Documentation: update the introductory section
+      git-config doc: unconfuse an example
+      precompose-utf8: do not call checks for non-ascii "utf8"
+      warn_on_inaccessible(): a helper to warn on inaccessible paths
+      specifying ranges: we did not mean to make ".." an empty set
+      mergetool: style fixes
+      Prepare for 1.7.11.6
+      apply: compute patch->def_name correctly under -p0
+      doc: "git checkout -b/-B/--orphan" always takes a branch name
+      split_ident_line(): make best effort when parsing author/committer line
+      Document file-glob for "git checkout -- '*.c'"
+      gitcli: formatting fix
+      gitcli: contrast wildcard given to shell and to git
+      Almost 1.7.11.6
+      Start preparing for 1.7.12.1
+      Git 1.7.11.6
+      Further merging down for 1.7.12.1
+      Further merging in preparation for 1.7.12.1
+      attr: failure to open a .gitattributes file is OK with ENOTDIR
+      Git 1.7.11.7
+      Draft release notes to 1.7.12.1
+      Git 1.7.12.1
+
+Kacper Kornet (2):
+      t6300: test sort with multiple keys
+      for-each-ref: Fix sort with multiple keys
+
+Martin von Zweigbergk (4):
+      add tests for 'git rebase --keep-empty'
+      teach log --no-walk=unsorted, which avoids sorting
+      demonstrate broken 'git cherry-pick three one two'
+      cherry-pick/revert: respect order of revisions to pick
+
+Matthieu Moy (1):
+      setup: clarify error messages for file/revisions ambiguity
+
+Michael Haggerty (1):
+      git-config.txt: fix example
+
+Michael J Gruber (6):
+      test-lib: provide case insensitivity as a prerequisite
+      t0050: use the CASE_INSENSITIVE_FS test prereq
+      t0050: use the SYMLINKS test prereq
+      test-lib: provide UTF8 behaviour as a prerequisite
+      rebase -i: use full onto sha1 in reflog
+      t3910: use the UTF8_NFD_TO_NFC test prereq
+
+Michał Kiedrowicz (1):
+      tests: Introduce test_seq
+
+Miklos Vajna (1):
+      man: git pull -r is a short for --rebase
+
+Mischa POSLAWSKY (1):
+      git-jump: ignore (custom) prefix in diff mode
+
+Nguyễn Thái Ngọc Duy (1):
+      read_index_from: remove bogus errno assignments
+
+Paul Gortmaker (1):
+      apply: delete unused deflate_origlen from patch struct
+
+Phil Hord (2):
+      test: git-stash conflict sets up rerere
+      stash: invoke rerere in case of conflict
+
+Philip Oakley (1):
+      Doc: Improve shallow depth wording
+
+Ramkumar Ramachandra (1):
+      t/perf: add "trash directory" to .gitignore
+
+Ramsay Jones (1):
+      test-regex: Add a test to check for a bug in the regex routines
+
+Robin Rosenberg (1):
+      cleanup precompose_utf8
+
+Stefan Zager (1):
+      Make 'git submodule update --force' always check out submodules.
+
+Stephen Boyd (1):
+      send-email: initial_to and initial_reply_to are both optional
+
+Thomas Rast (3):
+      send-email: improve RFC2047 quote parsing
+      diff_setup_done(): return void
+      merge-recursive: eliminate flush_buffer() in favor of write_in_full()
+
+Wesley J. Landaker (1):
+      Documentation: indent-with-non-tab uses "equivalent tabs" not 8
+
+Yacine Belkadi (1):
+      completion: add --no-edit to git-commit
+
+
+Version v1.7.12; changes since v1.7.12-rc3:
+-------------------------------------------
+
+Junio C Hamano (2):
+      Documentation: update URL for formatted pages
+      Git 1.7.12
+
+Peter Krefting (1):
+      l10n: Fixes to Swedish translation
+
+
+Version v1.7.12-rc3; changes since v1.7.12-rc2:
+-----------------------------------------------
+
+Ben Walton (1):
+      Enable HAVE_DEV_TTY for Solaris
+
+Jeff King (1):
+      terminal: seek when switching between reading and writing
+
+Jiang Xin (2):
+      l10n: Update one message in git.pot
+      l10n: zh_CN.po: update one translation
+
+Junio C Hamano (2):
+      Git 1.7.11.5
+      Git 1.7.12-rc3
+
+Matthieu Moy (1):
+      Documentation: list git-credential in plumbing commands
+
+Peter Baumann (1):
+      git svn: reset invalidates the memoized mergeinfo caches
+
+Peter Krefting (1):
+      l10n: Update Swedish translation (1168t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 77 new messages
+
+Robert Luberda (1):
+      git svn: handle errors and concurrent commits in dcommit
+
+Trần Ngọc Quân (1):
+      l10n: vi.po: update one message
+
+
+Version v1.7.12-rc2; changes since v1.7.12-rc1:
+-----------------------------------------------
+
+Jiang Xin (11):
+      i18n: New keywords for xgettext extraction from sh
+      i18n: rebase: mark messages for translation
+      i18n: Rewrite gettext messages start with dash
+      rebase: remove obsolete and unused LONG_USAGE which breaks xgettext
+      i18n: am: mark more strings for translation
+      Remove dead code which contains bad gettext block
+      i18n: merge-recursive: mark strings for translation
+      l10n: Update git.pot (4 new, 3 removed messages)
+      l10n: zh_CN.po: translate 4 new messages
+      l10n: Update git.pot (76 new, 4 removed messages)
+      l10n: zh_CN.po: translate 76 new messages
+
+Johannes Sixt (1):
+      Makefile: use overridable $(FIND) instead of hard-coded 'find'
+
+Junio C Hamano (3):
+      Prepare for 1.7.11.5
+      Drop 1.7.11.x items from 1.7.12 release notes
+      Git 1.7.12-rc2
+
+Matthieu Moy (1):
+      git-remote-mediawiki: replace TODO-list in comment by appropriate link
+
+Nguyễn Thái Ngọc Duy (1):
+      i18n: leave \n out of translated diffstat
+
+Ralf Thielow (3):
+      l10n: de.po: translate 4 new messages
+      git-rebase.sh: fix typo in an error message
+      merge-recursive: separate message for common ancestors
+
+Trần Ngọc Quân (2):
+      l10n: vi.po: translate 4 new messages
+      l10n: vi.po update to follow POT in 3b613
+
+Štěpán Němec (1):
+      doc: A few minor copy edits.
+
+
+Version v1.7.12-rc1; changes since v1.7.12-rc0:
+-----------------------------------------------
+
+Chris Webb (1):
+      rebase -i: handle fixup of root commit correctly
+
+Daniel Graña (2):
+      git-submodule: work with GIT_DIR/GIT_WORK_TREE
+      t7409: make sure submodule is initialized and updated in more detail
+
+Florian Achleitner (1):
+      Add explanatory comment for transport-helpers refs mapping.
+
+Heiko Voigt (1):
+      link_alt_odb_entry: fix read over array bounds reported by valgrind
+
+Jeff King (16):
+      advice: pass varargs to strbuf_vaddf, not strbuf_addf
+      commit: check committer identity more strictly
+      commit: document the temporary commit message file
+      test-lib.sh: unset XDG_CONFIG_HOME
+      attr: make sure we have an xdg path before using it
+      t1306: check that XDG_CONFIG_HOME works
+      t/lib-httpd: handle running under --valgrind
+      help.c::uniq: plug a leak
+      checkout: don't confuse ref and object flags
+      t7502: clean up fake_editor tests
+      t7502: properly quote GIT_EDITOR
+      t7502: narrow checks for author/committer name in template
+      t7502: drop confusing test_might_fail call
+      t7502: handle systems where auto-identity is broken
+      t7502: test early quit from commit with bad ident
+      t: add missing executable bit to t7409
+
+Junio C Hamano (9):
+      test-lib: reorder and include GIT-BUILD-OPTIONS a lot earlier
+      mergetool: support --tool-help option like difftool does
+      Update draft release notes to 1.7.12
+      Enumerate revision range specifiers in the documentation
+      help.c::exclude_cmds(): plug a leak
+      perl: detect new files in MakeMaker builds
+      Update draft release notes to 1.7.12
+      Git 1.7.11.4
+      Git 1.7.12-rc1
+
+Matthieu Moy (1):
+      ignore: make sure we have an xdg path before using it
+
+Max Horn (1):
+      Make <refname> documentation more consistent.
+
+Michael G. Schwern (14):
+      Quiet warning if Makefile.PL is run with -w and no --localedir
+      Don't lose Error.pm if $@ gets clobbered.
+      The Makefile.PL will now find .pm files itself.
+      Extract some utilities from git-svn to allow extracting Git::SVN.
+      Prepare Git::SVN for extraction into its own file.
+      Extract Git::SVN from git-svn into its own .pm file.
+      Move initialization of Git::SVN variables into Git::SVN.
+      Prepare Git::SVN::Log for extraction from git-svn.
+      Extract Git::SVN::Log from git-svn.
+      Prepare Git::SVN::Migration for extraction from git-svn.
+      Extract Git::SVN::Migration from git-svn.
+      Load all the modules in one place and before running code.
+      Move Git::IndexInfo into its own file.
+      Extract Git::SVN::GlobSpec from git-svn.
+
+Ramsay Jones (2):
+      t1100-*.sh: Fix an intermittent test failure
+      t7810-*.sh: Remove redundant test
+
+
+Version v1.7.12-rc0; changes since v1.7.11.7:
+---------------------------------------------
+
+Alexander Strasser (7):
+      t4012: modernize style for quoting
+      t4012: Unquote git command fragment in test title
+      t4012: Actually quote the sed script
+      t4012: Break up pipe into serial redirections
+      t4012: Make --shortstat test more robust
+      t4012: Re-indent test snippets
+      t4012: Use test_must_fail instead of if-else
+
+Andreas Schwab (1):
+      Fix formatting in git-config(1)
+
+Chris Webb (4):
+      rebase -i: support --root without --onto
+      Add tests for rebase -i --root without --onto
+      Add config variable to set HTML path for git-help --web
+      Allow help.htmlpath to be a URL prefix
+
+David Barr (7):
+      vcs-svn: drop no-op reset methods
+      vcs-svn: avoid self-assignment in dummy initialization of pre_off
+      vcs-svn: simplify cleanup in apply_one_window
+      vcs-svn: use constcmp instead of prefixcmp
+      vcs-svn: use strstr instead of memmem
+      vcs-svn: suppress signed/unsigned comparison warnings
+      vcs-svn: suppress a signed/unsigned comparison warning
+
+Felipe Contreras (2):
+      completion: remove executable mode
+      completion: split __git_ps1 into a separate script
+
+Gary Gibbons (2):
+      git p4: refactor diffOpts calculation
+      git p4: add support for 'p4 move' in P4Submit
+
+Guillaume Sasdy (4):
+      git-remote-mediawiki: scripts to install, delete and clear a MediaWiki
+      git-remote-mediawiki: test environment of git-remote-mediawiki
+      git-remote-mediawiki (t9360): test git-remote-mediawiki clone
+      git-remote-mediawiki (t9361): test git-remote-mediawiki pull and push
+
+Heiko Voigt (1):
+      remove the impression of unexpectedness when access is denied
+
+Huynh Khoi Nguyen Nguyen (4):
+      config: read (but not write) from $XDG_CONFIG_HOME/git/config file
+      Let core.excludesfile default to $XDG_CONFIG_HOME/git/ignore
+      Let core.attributesfile default to $XDG_CONFIG_HOME/git/attributes
+      config: write to $XDG_CONFIG_HOME/git/config file when appropriate
+
+Javier Roucher Iglesias (1):
+      add 'git credential' plumbing command
+
+Jeff King (26):
+      docs: drop asciidoc7compatible flag
+      docs: drop antique comment from Makefile
+      docs/clone: mention that --local may be ignored
+      clone: allow --no-local to turn off local optimizations
+      move git_version_string into version.c
+      version: add git_user_agent function
+      http: get default user-agent from git_user_agent
+      t1304: improve setfacl prerequisite setup
+      Makefile: sort LIB_H list
+      Makefile: fold MISC_H into LIB_H
+      Makefile: do not have git.o depend on common-cmds.h
+      Makefile: apply dependencies consistently to sparse/asm targets
+      Makefile: do not replace @@GIT_USER_AGENT@@ in scripts
+      Makefile: split GIT_USER_AGENT from GIT-CFLAGS
+      Makefile: split prefix flags from GIT-CFLAGS
+      Makefile: do not replace @@GIT_VERSION@@ in shell scripts
+      Makefile: update scripts when build-time parameters change
+      Makefile: build instaweb similar to other scripts
+      Makefile: move GIT-VERSION-FILE dependencies closer to use
+      index-pack: loop while inflating objects in unpack_data
+      revision: avoid work after --max-count is reached
+      status: color in-progress message like other header messages
+      docs/credential: minor clarity fixups
+      mw-to-git: check blank credential attributes via length
+      credential: convert "url" attribute into its parsed subparts
+      mw-to-git: use git-credential's URL parser
+
+Jiang Xin (2):
+      l10n: Update git.pot (29 new messages)
+      l10n: zh_CN.po: translate 29 new messages
+
+Johannes Sixt (3):
+      t7400: avoid path mangling issues
+      perl/Makefile: Fix a missing double-quote
+      t4012: use 'printf' instead of 'dd' to generate a binary file
+
+Jon Seymour (4):
+      submodule: additional regression tests for relative URLs
+      submodule: document failure to handle relative superproject origin URLs
+      submodule: fix sync handling of some relative superproject origin URLs
+      submodule: fix handling of superproject origin URLs like foo, ./foo and ./foo/bar
+
+Jonathan Nieder (8):
+      vcs-svn: allow import of > 4GiB files
+      vcs-svn: suppress -Wtype-limits warning
+      perl/Makefile: move "mkdir -p" to module installation loop for maintainability
+      vcs-svn: suppress a signed/unsigned comparison warning
+      vcs-svn: allow 64-bit Prop-Content-Length
+      Makefile: fold XDIFF_H and VCSSVN_H into LIB_H
+      Makefile: be silent when only GIT_USER_AGENT changes
+      Makefile: document ground rules for target-specific dependencies
+
+Junio C Hamano (58):
+      completion: warn people about duplicated function
+      sha1_name.c: indentation fix
+      Kick off post 1.7.11 cycle
+      The first batch for 1.7.12
+      Second batch for 1.7.12
+      Third batch for 1.7.12
+      sha1_name.c: hide get_sha1_with_context_1() ugliness
+      sha1_name.c: get rid of get_sha1_with_mode_1()
+      sha1_name.c: get rid of get_sha1_with_mode()
+      sha1_name.c: clarify what "fake" is for in find_short_object_filename()
+      sha1_name.c: rename "now" to "current"
+      sha1_name.c: refactor find_short_packed_object()
+      sha1_name.c: correct misnamed "canonical" and "res"
+      sha1_name.c: restructure disambiguation of short names
+      get_sha1(): fix error status regression
+      sha1_name.c: allow get_short_sha1() to take other flags
+      sha1_name.c: teach get_short_sha1() a commit-only option
+      Fourth batch for 1.7.12
+      Fifth batch for 1.7.12
+      apply: fix an incomplete comment in check_patch()
+      apply: a bit more comments on PATH_TO_BE_DELETED
+      apply: clear_image() clears things a bit more
+      apply: refactor read_file_or_gitlink()
+      apply: factor out checkout_target() helper function
+      apply: split load_preimage() helper function out
+      apply: refactor "previous patch" logic
+      apply: further split load_preimage()
+      apply: move check_to_create_blob() closer to its sole caller
+      apply: move "already exists" logic to check_to_create()
+      apply: accept -3/--3way command line option
+      apply: fall back on three-way merge
+      apply: plug the three-way merge logic in
+      apply: move verify_index_match() higher
+      apply: --3way with add/add conflict
+      apply: register conflicted stages to the index
+      apply: allow rerere() to work on --3way results
+      apply: document --3way option
+      sha1_name.c: get_describe_name() by definition groks only commits
+      sha1_name.c: get_sha1_1() takes lookup flags
+      sha1_name.c: many short names can only be committish
+      sha1_name.c: teach lookup context to get_sha1_with_context()
+      sha1_name.c: introduce get_sha1_committish()
+      revision.c: allow handle_revision_arg() to take other flags
+      revision.c: the "log" family, except for "show", takes committish
+      sha1_name.c: add support for disambiguating other types
+      apply: --build-fake-ancestor expects blobs
+      commit-tree: the command wants a tree and commits
+      reset: the command takes committish
+      rev-parse: A and B in "rev-parse A..B" refer to committish
+      rev-parse --disambiguate=<prefix>
+      apply: tests for the --3way option
+      Reduce draft release notes to 1.7.12
+      t1512: ignore whitespaces in wc -l output
+      t1512: match the "other" object names
+      Sixth batch for 1.7.12
+      Update draft release notes for 7th batch
+      Update draft release notes to 1.7.12
+      Git 1.7.12-rc0
+
+Lucien Kong (5):
+      rebase -i: teach "--exec <cmd>"
+      wt-status.*: better advices for git status added
+      t7512-status-help.sh: better advices for git status
+      status: don't suggest "git rm" or "git add" if not appropriate
+      status: better advices when splitting a commit (during rebase -i)
+
+Marcin Owsiany (1):
+      git-svn: don't create master if another head exists
+
+Martin von Zweigbergk (4):
+      rebase: don't source git-sh-setup twice
+      rebase --root: print usage on too many args
+      am --rebasing: get patch body from commit, not from mailbox
+      am: don't call mailinfo if $rebasing
+
+Matthieu Moy (24):
+      git credential fill: output the whole 'struct credential'
+      git-remote-mediawiki: add credential support
+      git-remote-mediawiki: don't compute the diff when getting commit message
+      git-remote-mediawiki: don't "use encoding 'utf8';"
+      git-remote-mediawiki: split get_mw_pages into smaller functions
+      git-remote-mediawiki: improve support for non-English Wikis
+      git-remote-mediawiki: support for uploading file in test environment
+      git-remote-mediawiki: change return type of get_mw_pages
+      git-remote-mediawiki: refactor loop over revision ids
+      git-remote-mediawiki: extract revision-importing loop to a function
+      git-remote-mediawiki: more efficient 'pull' in the best case
+      git-remote-mediawiki: be more defensive when requests fail
+      git-remote-mediawiki: update comments to reflect credential support
+      config: fix several access(NULL) calls
+      git-remote-mediawiki: don't split namespaces with spaces
+      git-remote-mediawiki: actually send empty comment when they're empty
+      git-remote-mediawiki: make mediafiles export optional
+      git-remote-mediawiki: get rid of O(N^2) loop
+      git-remote-mediawiki: use --force when adding notes
+      git-remote-mediawiki: show progress information when listing pages
+      git-remote-mediawiki: show progress information when getting last remote revision
+      git-remote-mediawiki: properly deal with invalid remote revisions
+      git-remote-mediawiki: fix incorrect test usage in test
+      git-remote-mediawiki: allow page names with a ':'
+
+Michael J Gruber (1):
+      t3404: make test 57 work with dash and others
+
+NGUYEN Kim Thuat (2):
+      git-remote-mediawiki: send "File:" attachments to a remote wiki
+      git-remote-mediawiki (t9363): test 'File:' import and export
+
+Namhyung Kim (3):
+      gitweb: Cleanup git_print_log()
+      gitweb: Handle other types of tag in git_print_log
+      gitweb: Add support to Link: tag
+
+Nguyễn Thái Ngọc Duy (12):
+      index-pack: hash non-delta objects while reading from stream
+      index-pack: use streaming interface on large blobs (most of the time)
+      index-pack: factor out unpack core from get_data_from_pack
+      index-pack: use streaming interface for collision test on large blobs
+      pack-objects: use streaming interface for reading large loose blobs
+      Unindent excluded_from_list()
+      dir.c: get rid of the wildcard symbol set in no_wildcard()
+      exclude: do strcmp as much as possible before fnmatch
+      Remove i18n legos in notifying new branch tracking setup
+      reflog: remove i18n legos in pruning message
+      notes-merge: remove i18n legos in merge result message
+      rerere: remove i18n legos in result message
+
+Pat Thoyts (1):
+      Restore use of 'help.format' configuration property in 'git help'
+
+Pavel Volek (1):
+      git-remote-mediawiki: import "File:" attachments
+
+Pete Wyckoff (13):
+      git p4 test: wait longer for p4d to start and test its pid
+      git p4 test: use real_path to resolve p4 client symlinks
+      git p4 test: simplify quoting involving TRASH_DIRECTORY
+      git p4 test: never create default test repo
+      git p4 test: rename some "git-p4 command" strings
+      git p4 test: check for error message in failed test
+      git p4 test: copy source indeterminate
+      git p4 test: cleanup_git should make a new $git
+      git p4 test: split up big t9800 test
+      git p4 test: fix badp4dir test
+      git p4: remove unused P4Submit interactive setting
+      git p4 test: refactor marshal_dump
+      git p4: notice Jobs lines in git commit messages
+
+Peter Krefting (1):
+      Update Swedish translation (1095t0f0u)
+
+Ralf Thielow (1):
+      l10n: de.po: translate 29 new messages
+
+Ramsay Jones (1):
+      vcs-svn: rename check_overflow and its arguments for clarity
+
+SZEDER Gábor (3):
+      tests: move code to run tests under bash into a helper library
+      tests: add tests for the bash prompt functions in the completion script
+      completion: respect $GIT_DIR
+
+Simon Cathebras (1):
+      git-remote-mediawiki (t9362): test git-remote-mediawiki with UTF8 characters
+
+Stefano Lattarini (7):
+      autoconf: GIT_CONF_APPEND_LINE: change signature
+      autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST
+      autoconf: remove some redundant shell indirections
+      autoconf: remove few redundant semicolons
+      autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'
+      build: "make clean" should not remove configure-generated files
+      build: reconfigure automatically if configure.ac changes
+
+Thomas Gummerer (2):
+      Replace strlen() with ce_namelen()
+      Strip namelen out of ce_flags into a ce_namelen field
+
+Tim Henigan (1):
+      difftool: only copy back files modified during directory diff
+
+Torsten Bögershausen (1):
+      git on Mac OS and precomposed unicode
+
+Trần Ngọc Quân (1):
+      l10n: Update translation for Vietnamese
+
+Vincent van Ravesteijn (1):
+      help: use HTML as the default help format on Windows
+
+Štěpán Němec (1):
+      doc: A few minor copy edits.
+
+
+Version v1.7.11.7; changes since v1.7.11.6:
+-------------------------------------------
+
+David Aguilar (2):
+      gitk: Teach "Reread references" to reload tags
+      gitk: Rename 'tagcontents' to 'cached_tagcontent'
+
+Felipe Contreras (1):
+      gitk: Avoid Meta1-F5
+
+Jeff King (9):
+      t5550: put auth-required repo in auth/dumb
+      t5550: factor out http auth setup
+      t/lib-httpd: only route auth/dumb to dumb repos
+      t/lib-httpd: recognize */smart/* repos as smart-http
+      t: test basic smart-http authentication
+      t: test http access to "half-auth" repositories
+      http: factor out http error code handling
+      http: prompt for credentials on failed POST
+      log: fix --quiet synonym for -s
+
+Junio C Hamano (8):
+      specifying ranges: we did not mean to make ".." an empty set
+      apply: compute patch->def_name correctly under -p0
+      doc: "git checkout -b/-B/--orphan" always takes a branch name
+      split_ident_line(): make best effort when parsing author/committer line
+      Document file-glob for "git checkout -- '*.c'"
+      gitcli: formatting fix
+      gitcli: contrast wildcard given to shell and to git
+      Git 1.7.11.7
+
+Kacper Kornet (2):
+      t6300: test sort with multiple keys
+      for-each-ref: Fix sort with multiple keys
+
+Ramsay Jones (1):
+      test-regex: Add a test to check for a bug in the regex routines
+
+
+Version v1.7.11.6; changes since v1.7.11.5:
+-------------------------------------------
+
+Adam Butcher (1):
+      Fix '\ No newline...' annotation in rewrite diffs
+
+Ben Walton (1):
+      Enable HAVE_DEV_TTY for Solaris
+
+Brandon Casey (1):
+      t/t5400: demonstrate breakage caused by informational message from prune
+
+Eric S. Raymond (3):
+      contrib/ciabot: Get ciabot configuration from git variables
+      Improved documentation for the ciabot scripts.
+      Make the ciabot scripts completely self-configuring in the normal case.
+
+Heiko Voigt (2):
+      Let submodule command exit with error status if path does not exist
+      Documentation/CodingGuidelines: spell out more shell guidelines
+
+Jay Soffian (1):
+      gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
+
+Jeff King (6):
+      commit: check committer identity more strictly
+      diff: do not use null sha1 as a sentinel value
+      do not write null sha1s to on-disk index
+      fsck: detect null sha1 in tree entries
+      terminal: seek when switching between reading and writing
+      docs: monospace listings in docbook output
+
+Junio C Hamano (13):
+      config: "git config baa" should exit with status 1
+      t7406: fix misleading "rev-parse --max-count=1 HEAD"
+      sane_execvp(): ignore non-directory on $PATH
+      Documentation: do not mention .git/refs/* directories
+      receive-pack: do not leak output from auto-gc to standard output
+      sh-setup: protect from exported IFS
+      rev-list docs: clarify --topo-order description
+      gitcli: describe abbreviation of long options
+      git-config doc: unconfuse an example
+      mergetool: style fixes
+      Prepare for 1.7.11.6
+      Almost 1.7.11.6
+      Git 1.7.11.6
+
+Luka Perkov (1):
+      builtin.h: remove unused cmd_<foo> declarations
+
+Martin von Zweigbergk (1):
+      add tests for 'git rebase --keep-empty'
+
+Matthieu Moy (1):
+      setup: clarify error messages for file/revisions ambiguity
+
+Michael Haggerty (1):
+      git-config.txt: fix example
+
+Michael J Gruber (1):
+      rebase -i: use full onto sha1 in reflog
+
+Michał Kiedrowicz (1):
+      tests: Introduce test_seq
+
+Miklos Vajna (1):
+      man: git pull -r is a short for --rebase
+
+Nguyễn Thái Ngọc Duy (1):
+      read_index_from: remove bogus errno assignments
+
+Paul Gortmaker (1):
+      apply: delete unused deflate_origlen from patch struct
+
+Phil Hord (2):
+      test: git-stash conflict sets up rerere
+      stash: invoke rerere in case of conflict
+
+Stefan Zager (1):
+      Make 'git submodule update --force' always check out submodules.
+
+Thomas Rast (3):
+      send-email: improve RFC2047 quote parsing
+      diff_setup_done(): return void
+      merge-recursive: eliminate flush_buffer() in favor of write_in_full()
+
+
+Version v1.7.11.5; changes since v1.7.11.4:
+-------------------------------------------
+
+Heiko Voigt (1):
+      link_alt_odb_entry: fix read over array bounds reported by valgrind
+
+Jeff King (1):
+      checkout: don't confuse ref and object flags
+
+Jonathan Nieder (4):
+      block-sha1: avoid pointer conversion that violates alignment constraints
+      block-sha1: put expanded macro parameters in parentheses
+      Makefile: fix location of listing produced by "make subdir/foo.s"
+      Makefile: BLK_SHA1 does not require fast htonl() and unaligned loads
+
+Junio C Hamano (4):
+      mergetool: support --tool-help option like difftool does
+      Enumerate revision range specifiers in the documentation
+      Prepare for 1.7.11.5
+      Git 1.7.11.5
+
+Lawrence Mitchell (2):
+      git-blame.el: Use with-current-buffer where appropriate
+      git-blame.el: Do not use bare 0 to mean (point-min)
+
+Max Horn (1):
+      Make <refname> documentation more consistent.
+
+Michael Schubert (1):
+      Documentation/git-daemon: add missing word
+
+Ramkumar Ramachandra (1):
+      commit: document a couple of options
+
+Ramsay Jones (1):
+      t7810-*.sh: Remove redundant test
+
+René Scharfe (1):
+      git: Wrong parsing of ssh urls with IPv6 literals ignores port
+
+Rüdiger Sonderfeld (2):
+      git-blame.el: use mapc instead of mapcar
+      git-blame.el: Do not use goto-line in lisp code
+
+Štěpán Němec (1):
+      doc: A few minor copy edits.
+
+
+Version v1.7.11.4; changes since v1.7.11.3:
+-------------------------------------------
+
+Jeff King (3):
+      diff: test precedence of external diff drivers
+      advice: pass varargs to strbuf_vaddf, not strbuf_addf
+      commit: document the temporary commit message file
+
+Jens Lehmann (1):
+      submodules: don't stumble over symbolic links when cloning recursively
+
+Junio C Hamano (7):
+      filter-branch: do not forget the '@' prefix to force git-timestamp
+      date.c: Fix off by one error in object-header date parsing
+      t7003: add test to filter a branch with a commit at epoch
+      commit-tree: resurrect command line parsing updates
+      Revert "git-commit-tree(1): update synopsis"
+      diff: correctly disable external_diff with --no-ext-diff
+      Git 1.7.11.4
+
+Paul Gortmaker (1):
+      am: indicate where a failed patch is to be found
+
+
+Version v1.7.11.3; changes since v1.7.11.2:
+-------------------------------------------
+
+Alex Riesen (1):
+      Restore umasks influence on the permissions of work tree created by clone
+
+Chris Webb (2):
+      git-checkout: disallow --detach on unborn branch
+      Allow edit of empty message with commit --amend
+
+Jay Soffian (1):
+      fast-export: quote paths with spaces
+
+Jeff King (3):
+      push: don't guess at qualifying remote refs on deletion
+      add: create ADD_EDIT.patch with mode 0666
+      commit: fix "--amend --only" with no pathspec
+
+Junio C Hamano (10):
+      show: fix "range implies walking"
+      t/test-lib.sh: export PERL_PATH for use in scripts
+      tests: enclose $PERL_PATH in double quotes
+      t/README: add a bit more Don'ts
+      diff-index.c: do not pretend paths are pathspecs
+      diff-index.c: unify handling of command line paths
+      diff-index.c: "git diff" has no need to read blob from the standard input
+      rerere: make rr-cache fanout directory honor umask
+      cache_name_compare(): do not truncate while comparing paths
+      Git 1.7.11.3
+
+Martin von Zweigbergk (1):
+      add test case for rebase of empty commit
+
+Thomas Rast (1):
+      Demonstrate git-show is broken with ranges
+
+Vincent van Ravesteijn (1):
+      t: Replace 'perl' by $PERL_PATH
+
+
+Version v1.7.11.2; changes since v1.7.11.1:
+-------------------------------------------
+
+Carlos Martín Nieto (2):
+      Documentation: --no-walk is no-op if range is specified
+      git-cherry-pick.txt: clarify the use of revision range notation
+
+Heiko Voigt (1):
+      update-index: allow overwriting existing submodule index entries
+
+Jeff King (3):
+      fix pager.diff with diff --no-index
+      do not run pager with diff --no-index --quiet
+      diff: handle relative paths in no-index
+
+Junio C Hamano (15):
+      request-pull: really favor a matching tag
+      ls-files -i: pay attention to exclusion of leading paths
+      ls-files -i: micro-optimize path_excluded()
+      tweak "bundle verify" of a complete history
+      path_excluded(): update API to less cache-entry centric
+      builtin/add.c: use path_excluded()
+      unpack-trees.c: use path_excluded() in check_ok_to_remove()
+      dir.c: make excluded() file scope static
+      revision: "simplify" options imply topo-order sort
+      revision: note the lack of free() in simplify_merges()
+      archive: ustar header checksum is computed unsigned
+      revision: ignore side parents while running simplify-merges
+      index-pack: Disable threading on cygwin
+      blame: compute abbreviation width that ensures uniqueness
+      Git 1.7.11.2
+
+Leila Muhtasib (1):
+      Documentation: Fix misspellings
+
+Matthieu Moy (2):
+      sha1_name: do not trigger detailed diagnosis for file arguments
+      verify_filename(): ask the caller to chose the kind of diagnosis
+
+Michał Górny (1):
+      git-submodule.sh: fix filename in comment.
+
+Nguyễn Thái Ngọc Duy (1):
+      clone: fix ref selection in --single-branch --branch=xxx
+
+Peter Krefting (1):
+      Update Swedish translation (1066t0f0u)
+
+Thomas Badie (1):
+      git-add--interactive.perl: Remove two unused variables
+
+Tim Henigan (1):
+      diff-no-index: exit(1) if 'diff --quiet <repo file> <external file>' finds changes
+
+
+Version v1.7.11.1; changes since v1.7.11:
+-----------------------------------------
+
+Jeff King (1):
+      docs: always define git-relative-html-prefix attribute
+
+Junio C Hamano (2):
+      git-commit-tree(1): update synopsis
+      Git 1.7.11.1
+
+Miklos Vajna (1):
+      Documentation: spelling fixes
+
+
+Version v1.7.11; changes since v1.7.11-rc3:
+-------------------------------------------
+
+Alexander Strasser (1):
+      diff: Only count lines in show_shortstats
+
+Jonathan Nieder (2):
+      perl/Makefile.PL: warn about duplicate module list in perl/Makefile
+      perl/Makefile: install Git::SVN::* when NO_PERL_MAKEMAKER=yes, too
+
+Junio C Hamano (2):
+      Git 1.7.10.5
+      Git 1.7.11
+
+Marco Paolone (1):
+      l10n: it.po: translate 212 new messages
+
+Ramsay Jones (1):
+      gitweb: Skip 'modification times' tests when no date parser available
+
+SZEDER Gábor (2):
+      completion: put main git and gitk completion functions back into git namespace
+      completion: remove credential helpers from porcelain commands
+
+Vincent van Ravesteijn (1):
+      Do not autosquash in case of an implied interactive rebase
+
+
+Version v1.7.11-rc3; changes since v1.7.11-rc2:
+-----------------------------------------------
+
+Jeff King (1):
+      docs: fix cross-directory linkgit references
+
+Jiang Xin (2):
+      l10n: Update git.pot (27 new, 1 removed messages)
+      l10n: zh_CN.po: translate 27 new messages
+
+Johannes Schindelin (1):
+      fast-export: report SHA-1 instead of gibberish when marks exist already
+
+Jonathan Nieder (3):
+      git-svn: make Git::SVN::Editor a separate file
+      git-svn: make Git::SVN::RA a separate file
+      git-svn: use YAML format for mergeinfo cache when possible
+
+Junio C Hamano (2):
+      fmt-merge-msg: make attribution into comment lines
+      Git 1.7.11-rc3
+
+Matthieu Moy (1):
+      api-credential.txt: document that helpers field is filled-in automatically
+
+Ralf Thielow (1):
+      l10n: de.po: translate 27 new messages
+
+Trần Ngọc Quân (1):
+      l10n: Update  po/vi.po to v1.7.11.rc2.2.gb694fbb
+
+
+Version v1.7.11-rc2; changes since v1.7.11-rc1:
+-----------------------------------------------
+
+Colby Ranger (1):
+      Add persistent-https to contrib
+
+Jiang Xin (2):
+      l10n: Update git.pot (5 new, 3 removed messages)
+      l10n: zh_CN.po: translate 2 new, 3 fuzzy messages
+
+Junio C Hamano (3):
+      git-svn: platform auth providers are working only on 1.6.15 or newer
+      doc: fix xref link from api docs to manual pages
+      Git 1.7.11-rc2
+
+Matthieu Moy (3):
+      api-credentials.txt: show the big picture first
+      api-credentials.txt: mention credential.helper explicitly
+      api-credentials.txt: add "see also" section
+
+Ralf Thielow (4):
+      l10n: de.po: translate 265 new messages
+      l10n: de.po: translate 41 new messages
+      l10n: de.po: translate 2 new, 3 fuzzy messages
+      l10n: de.po: add additional newline
+
+Ramkumar Ramachandra (1):
+      t3510 (cherry-pick-sequence): add missing '&&'
+
+Trần Ngọc Quân (1):
+      l10n: Update translation for Vietnamese
+
+
+Version v1.7.11-rc1; changes since v1.7.11-rc0:
+-----------------------------------------------
+
+Erik Faye-Lund (2):
+      rebase: report invalid commit correctly
+      Makefile: add missing GIT-VERSION-FILE dependency
+
+Jeff King (30):
+      ident: split setup_ident into separate functions
+      http-push: do not access git_default_email directly
+      fmt-merge-msg: don't use static buffer in record_person
+      move identity config parsing to ident.c
+      move git_default_* variables to ident.c
+      ident: trim trailing newline from /etc/mailname
+      format-patch: use default email for generating message ids
+      fmt_ident: drop IDENT_WARN_ON_NO_NAME code
+      ident: don't write fallback username into git_default_name
+      drop length limitations on gecos-derived names and emails
+      ident: report passwd errors with a more friendly message
+      ident: use full dns names to generate email addresses
+      ident: use a dynamic strbuf in fmt_ident
+      ident: trim whitespace from default name/email
+      format-patch: refactor get_patch_filename
+      fetch-pack: sort incoming heads
+      fetch-pack: avoid quadratic behavior in remove_duplicates
+      add sorting infrastructure for list refs
+      fetch-pack: sort the list of incoming refs
+      fetch-pack: avoid quadratic loop in filter_refs
+      fetch-pack: sort incoming heads list earlier
+      ident: reword empty ident error message
+      ident: refactor NO_DATE flag in fmt_ident
+      ident: let callers omit name with fmt_indent
+      format-patch: use GIT_COMMITTER_EMAIL in message ids
+      ident: rename IDENT_ERROR_ON_NO_NAME to IDENT_STRICT
+      ident: reject bogus email addresses with IDENT_STRICT
+      format-patch: do not use bogus email addresses in message ids
+      t5701: modernize style
+      INSTALL: update asciidoc recommendation
+
+Jens Lehmann (1):
+      submodules: print "registered for path" message only once
+
+Jiang Xin (5):
+      l10n: Update git.pot (41 new messages)
+      l10n: zh.CN.po: update by msgmerge git.pot
+      l10n: zh_CN.po: translate 323 new messages
+      l10n: Set nplurals of zh_CN.po from 1 to 2
+      i18n: apply: split to fix a partial i18n message
+
+Jonathan Nieder (3):
+      git-svn: move Git::SVN::Prompt into its own file
+      git-svn: rename SVN::Git::* packages to Git::SVN::*
+      git-svn: make Git::SVN::Fetcher a separate file
+
+Junio C Hamano (6):
+      refs: do not create ref_entry when searching
+      cherry-pick: regression fix for empty commits
+      Start preparing for 1.7.10.4
+      Update draft release notes to 1.7.11
+      Git 1.7.10.4
+      Git 1.7.11-rc1
+
+Marco Paolone (1):
+      l10n: New it.po file with 504 translations
+
+Matthieu Moy (1):
+      Reduce cost of deletion in levenstein distance (4 -> 3)
+
+Michael Haggerty (5):
+      free_ref_entry(): do not trigger reading of loose refs
+      cmd_fetch_pack(): declare dest to be const
+      cmd_fetch_pack(): handle non-option arguments outside of the loop
+      cmd_fetch_pack(): combine the loop termination conditions
+      cmd_fetch_pack(): respect constness of argv parameter
+
+Nguyễn Thái Ngọc Duy (2):
+      pack-objects, streaming: turn "xx >= big_file_threshold" to ".. > .."
+      pack-objects: refactor write_object() into helper functions
+
+Peter Krefting (1):
+      Update Swedish translation (728t0f0u)
+
+René Scharfe (3):
+      refs: convert parameter of search_ref_dir() to length-limited string
+      refs: convert parameter of create_dir_entry() to length-limited string
+      refs: use strings directly in find_containing_dir()
+
+Trần Ngọc Quân (2):
+      Init translation for Vietnamese
+      First release translation for Vietnamese
+
+Vincent van Ravesteijn (1):
+      Do not autosquash in case of an implied interactive rebase
+
+Vitor Antunes (3):
+      git-p4: Test changelists touching two branches
+      git-p4: Verify detection of "empty" branch creation
+      git-p4: Clean up branch test cases
+
+
+Version v1.7.11-rc0; changes since v1.7.10.5:
+---------------------------------------------
+
+Amiel Martin (2):
+      fixed order of assertion in tests
+      sort assertion to make it more generic
+
+Arlen Cuss (1):
+      Fix refspecs in given example for git subtree pull.
+
+Avery Pennarun (72):
+      basic options parsing and whatnot.
+      'git subtree split' now basically works.
+      We now copy the other stuff about a commit (changelog, author, etc).
+      Print out the newly created commitid at the end, for use in other scripts.
+      Add a new --rejoin option.
+      Use information about prior splits to make sure merges work right.
+      Added a --onto option, but it's so complicated I can't tell if it works.
+      Hmm... can't actually filter rev-list on the subdir name.
+      Skip over empty commits.
+      Quick test script for generating reasonably complex merge scenarios.
+      Prune out some extra merge commits by comparing their parents correctly.
+      Even more aggressive commit trimming.
+      Okay, that was a little too aggressive.
+      Pass the path using the --prefix option instead of on the command line.
+      Add a new 'git subtree add' command for adding subtrees from a given rev.
+      Add 'git subtree merge' and 'git subtree pull'.
+      Handle it successfully if a given parent commit has no parents.
+      Change test.sh to test the new add, merge, and pull commands.
+      todo list
+      Add --annotate option, and create recognizable file content during tests.
+      Typo when searching for existing splits.
+      Clarify why we can't do 'git rev-list' with a path.
+      Add a 'create' helper function in test.sh.
+      Add some basic assertions to test.sh.
+      test.sh tweak
+      Trim some extra merge commits that don't need to go into the split tree.
+      Only copy a commit if it has at least one nonidentical parent.
+      test.sh: make sure no commit changes more than one file at a time.
+      Simplify merges even more aggressively.
+      test.sh: oops, never intended to count the raw number of commits.
+      debug messages are off by default; use -d to enable.
+      Abort if --rejoin fails.
+      More to-do items based on feedback
+      typo in comment
+      New --branch option to split command.
+      slightly rearrange help message for split.
+      FIXME help for --squash option
+      merge_msg() is really more like rejoin_msg().
+      Basic "subtree merge --squash" support.
+      Don't squash-merge if the old and new commits are the same.
+      Fix splitting after using a squash merge.
+      Make --squash work with the 'add' command too.
+      Add basic git-subtree manpage in asciidoc format.
+      man page: add an EXAMPLES section.
+      update todo
+      Some todo items reported by pmccurdy
+      todo
+      Docs: when pushing to github, the repo path needs to end in .git
+      todo
+      todo^
+      todo
+      todo: idea for a 'git subtree grafts' command
+      Improve patch to use git --exec-path: add to PATH instead.
+      Fix behaviour if you have a branch named the same as your --prefix
+      Add a README that says to email me instead of using github mail.
+      If someone provides a --prefix that ends with slash, strip the slash.
+      Fix a minor problem in identifying squashes vs. normal splits.
+      cmd_pull didn't support --squash correctly.
+      Add some tips for how to install.
+      Oops, forgot a COPYING file.  It's GPLv2.
+      Weird, I forgot to have 'make test' call test.sh.
+      Jakub's changes broke the progress message slightly.
+      Make tests pass with recent git (1.7.0 and up).
+      Improve checking for existence of the --prefix directory.
+      Oops.  Apparently I didn't run 'make test' after most recent change.
+      Some recent tests accidentally depended on very new versions of git.
+      (Hopefully) fix PATH setting for msysgit.
+      Another fix for PATH and msysgit.
+      Fix typo: an -> a
+      Fix a few typos/grammar-o's in the preceding commit.
+      It's also okay if an expected tree object is actually a commit.
+      Skip commit objects that should be trees, rather than copying them.
+
+Avishay Lavie (1):
+      git-svn: support rebase --preserve-merges
+
+Ben Walton (3):
+      add installation support to Makefile
+      make git version dynamic when building documentation
+      Use SHELL_PATH from build system in run_command.c:prepare_shell_cmd
+
+Bryan Larsen (1):
+      docs: simplify example 1
+
+Clemens Buchacher (2):
+      merge overwrites unstaged changes in renamed file
+      t5570: use explicit push refspec
+
+Cole Stanfield (1):
+      Fixing eval syntax error.
+
+Dan Sabath (2):
+      docs: add simple 'add' case to clarify setup.
+      Docs: cleaning up example textual redundancy
+
+David A. Greene (11):
+      Move Tests Into Subdirectory
+      Rename Test
+      Use Test Harness
+      Set TEST_DIRECTORY
+      Remove unnecessary git-subtree files
+      Use project config files
+      Use configure settings for git-subtree
+      Install git-subtree from contrib
+      Add subtree test Makefile
+      Use git-subtree test Makefile
+      Fix git-subtree install instructions
+
+David Aguilar (1):
+      t7800: Test difftool passing arguments to diff
+
+Felipe Contreras (8):
+      tests: add initial bash completion tests
+      completion: simplify __gitcomp_1
+      completion: simplify by using $prev
+      completion: add missing general options
+      completion: simplify __git_complete_revlist_file
+      completion: add new __git_complete helper
+      completion: rename internal helpers _git and _gitk
+      completion: add support for backwards compatibility
+
+Heiko Voigt (3):
+      Teach revision walking machinery to walk multiple times sequencially
+      Refactor submodule push check to use string list instead of integer
+      push: teach --recurse-submodules the on-demand option
+
+Jakub Narębski (1):
+      gitweb: Pass esc_html_hl_regions() options to esc_html()
+
+Jakub Suder (9):
+      added -p alias for --prefix
+      added -m/--message option for setting merge commit message
+      allow using --branch with existing branches if it makes sense
+      fix for subtree split not finding proper base for new commits
+      changed alias for --prefix from -p to -P
+      fixed bug in commit message for split
+      added tests for recent changes
+      added temporary test dirs to gitignore
+      improved rev_is_descendant_of_branch() function
+
+Jared Hance (1):
+      apply: do not leak patches and fragments
+
+Jeff King (4):
+      checkout: suppress tracking message with "-q"
+      teach "git branch" a --quiet option
+      doc/config: fix inline literals
+      status: refactor colopts handling
+
+Jesse Greenwald (2):
+      Split cmd now processes commits in topo order.
+      Added check to order of processed commits.
+
+Jiang Xin (4):
+      l10n: Update git.pot (33 new, 24 deleted messages)
+      l10n: Update Simplified Chinese translation
+      l10n: Update git.pot (275 new, 15 removed messages)
+      l10n: Update git.pot (8 new, 4 removed messages)
+
+Johannes Berg (1):
+      am: support --include option
+
+Johannes Sixt (3):
+      Do not use SHELL_PATH from build system in prepare_shell_cmd on Windows
+      t4006: Windows do not have /dev/zero
+      Fix t3411.3 to actually rebase something
+
+John Yani (1):
+      docs: Description, synopsys, options and examples changes.
+
+Jon Seymour (2):
+      git-svn: clarify the referent of dcommit's optional argument
+      rev-parse doc: --git-dir does not always show a relative path
+
+Jonathan Nieder (15):
+      test: use test_i18ncmp when checking --stat output
+      test: use numstat instead of diffstat in funny-names test
+      test: modernize funny-names test style
+      test: test cherry-pick functionality and output separately
+      test: use --numstat instead of --stat in "git stash show" tests
+      test: use numstat instead of diffstat in binary-diff test
+      diffstat summary line varies by locale: miscellany
+      var doc: default editor and pager are configurable at build time
+      var doc: advertise current DEFAULT_PAGER and DEFAULT_EDITOR settings
+      test: do not rely on US English tracking-info messages
+      test: use test_i18ncmp for "Patch format detection failed" message
+      test: am of empty patch should not succeed
+      fast-import doc: cat-blob and ls responses need to be consumed quickly
+      completion: avoid trailing space for --exec-path
+      i18n: mark relative dates for translation
+
+Junio C Hamano (45):
+      streaming: make streaming-write-entry to be more reusable
+      fmt-merge-msg: show those involved in a merged series
+      apply: rename free_patch() to free_patch_list()
+      apply: free patch->{def,old,new}_name fields
+      apply: release memory for fn_table
+      apply: free patch->result
+      am -3: list the paths that needed 3-way fallback
+      apply: free unused fragments for submodule patch
+      varint: make it available outside the context of pack
+      cache.h: hide on-disk index details
+      read-cache.c: allow unaligned mapping of the index file
+      read-cache.c: make create_from_disk() report number of bytes it consumed
+      read-cache.c: report the header version we do not understand
+      read-cache.c: move code to copy ondisk to incore cache to a helper function
+      read-cache.c: move code to copy incore to ondisk cache to a helper function
+      read-cache.c: read prefix-compressed names in index on-disk version v4
+      read-cache.c: write prefix-compressed names in the index
+      update-index: upgrade/downgrade on-disk index version
+      Kick off post 1.7.10 cycle
+      apply: drop unused macro
+      apply: tighten constness of line buffer
+      apply: document buffer ownership rules across functions
+      RelNotes: the first batch of topics graduated to 'master'
+      RelNotes: the second batch of topics graduated to 'master'
+      mergesort: rename it to llist_mergesort()
+      RelNotes: the third batch
+      RelNotes: the fourth batch of topics graduated to 'master'
+      The fifth batch of topics graduated to 'master'
+      push.default doc: explain simple after upstream
+      Update draft release notes to 1.7.11
+      The sixth batch of topics graduated to 'master'
+      unpack-trees: preserve the index file version of original
+      index-v4: document the entry format
+      The seventh batch of topics graduated to 'master'
+      git-svn: introduce SVN version comparison function
+      The eighth batch of topics graduated to 'master'
+      refs: fix find_containing_dir() regression
+      Makefile: NO_INSTALL_HARDLINKS
+      The ninth batch of topics graduated to 'master'
+      The tenth batch of topics
+      Update draft release notes to 1.7.11 (11th batch)
+      Update draft release notes for 12th batch
+      git-sh-setup: define workaround wrappers before they are used
+      Update draft release notes to 1.7.11
+      Git 1.7.11-rc0
+
+Kacper Kornet (3):
+      gitweb: Don't set owner if got empty value from projects.list
+      gitweb: Option to omit column with time of the last change
+      gitweb: Option to not display information about owner
+
+Luke Diamand (10):
+      git p4: Fixing script editor checks
+      git p4: import/export of labels to/from p4
+      git p4: fix-up "import/export of labels to/from p4"
+      git p4: Squash P4EDITOR in test harness
+      git p4: Ignore P4EDITOR if it is empty
+      git p4: move verbose to base class
+      git p4: fix unit tests
+      git p4: add test for tag import/export enabled via config
+      git p4: fix bug when verbose enabled with tag export
+      git p4: fix bug when enabling tag import/export via config variables
+
+Marco Sousa (1):
+      l10n: pt_PT.po translate new messages
+
+Matthieu Moy (5):
+      Documentation: explain push.default option a bit more
+      Undocument deprecated alias 'push.default=tracking'
+      t5528-push-default.sh: add helper functions
+      push: introduce new push.default mode "simple"
+      push: document the future default change for push.default (matching -> simple)
+
+Matthijs Kooijman (1):
+      git-svn: use platform specific auth providers
+
+Michael Haggerty (32):
+      refs.c: reorder definitions more logically
+      refs: manage current_ref within do_one_ref()
+      do_for_each_ref_in_array(): new function
+      do_for_each_ref_in_arrays(): new function
+      repack_without_ref(): reimplement using do_for_each_ref_in_array()
+      names_conflict(): simplify implementation
+      free_ref_entry(): new function
+      check_refname_component(): return 0 for zero-length components
+      struct ref_entry: nest the value part in a union
+      refs.c: rename ref_array -> ref_dir
+      sort_ref_dir(): simplify logic
+      refs: store references hierarchically
+      do_for_each_ref(): only iterate over the subtree that was requested
+      get_ref_dir(): return early if directory cannot be read
+      get_ref_dir(): use a strbuf to hold refname
+      get_ref_dir(): rename "base" parameter to "dirname"
+      get_ref_dir(): require that the dirname argument ends in '/'
+      refs.c: extract function search_for_subdir()
+      get_ref_dir(): take the containing directory as argument
+      do_for_each_reflog(): return early on error
+      do_for_each_reflog(): use a strbuf to hold logfile name
+      bisect: copy filename string obtained from git_path()
+      find_containing_dir(): use strbuf in implementation of this function
+      refs: wrap top-level ref_dirs in ref_entries
+      read_loose_refs(): rename function from get_ref_dir()
+      get_ref_dir(): add function for getting a ref_dir from a ref_entry
+      search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
+      struct ref_dir: store a reference to the enclosing ref_cache
+      read_loose_refs(): eliminate ref_cache argument
+      refs: read loose references lazily
+      t/Makefile: retain cache t/.prove across prove runs
+      Avoid sorting if references are added to ref_cache in order
+
+Michael Schubert (1):
+      remote: update builtin usage
+
+Michał Kiedrowicz (7):
+      gitweb: Use descriptive names in esc_html_hl_regions()
+      gitweb: esc_html_hl_regions(): Don't create empty <span> elements
+      gitweb: Extract print_sidebyside_diff_lines()
+      gitweb: Use print_diff_chunk() for both side-by-side and inline diffs
+      gitweb: Push formatting diff lines to print_diff_chunk()
+      gitweb: Highlight interesting parts of diff
+      gitweb: Refinement highlightning in combined diffs
+
+Neil Horman (5):
+      git-cherry-pick: add allow-empty option
+      git-cherry-pick: Add keep-redundant-commits option
+      git-cherry-pick: Add test to validate new options
+      git-rebase: add keep_empty flag
+      git cherry-pick: do not dereference a potential NULL pointer
+
+Nguyễn Thái Ngọc Duy (37):
+      Add more large blob test cases
+      cat-file: use streaming API to print blobs
+      parse_object: avoid putting whole blob in core
+      show: use streaming API for showing blobs
+      fsck: use streaming API for writing lost-found blobs
+      update-server-info: respect core.bigfilethreshold
+      Makefile: feed all header files to xgettext
+      strbuf: convenience format functions with \n automatically appended
+      i18n: help: mark strings for translation
+      i18n: make warn_dangling_symref() automatically append \n
+      i18n: remote: mark strings for translation
+      i18n: apply: mark strings for translation
+      i18n: apply: update say_patch_name to give translators complete sentence
+      i18n: index-pack: mark strings for translation
+      i18n: bundle: mark strings for translation
+      help: replace underlining "help -a" headers using hyphens with a blank line
+      Add column layout skeleton and git-column
+      Stop starting pager recursively
+      column: add columnar layout
+      column: add dense layout support
+      help: reuse print_columns() for help -a
+      branch: add --column
+      status: add --column
+      column: support piping stdout to external git-column process
+      tag: add --column
+      archive-tar: turn write_tar_entry into blob-writing only
+      archive-tar: unindent write_tar_entry by one level
+      archive: delegate blob reading to backend
+      archive-tar: stream large blobs to tar file
+      branch: remove lego in i18n tracking info strings
+      Makefile: keep many variable list sorted
+      index-pack: restructure pack processing into three main functions
+      index-pack: support multithreaded delta resolving
+      index-pack: disable threading if NO_PREAD is defined
+      apply: remove lego in i18n string in gitdiff_verify_name
+      i18n: parseopt: lookup help and argument translations when showing usage
+      i18n: apply: mark parseopt strings for translation
+
+Pelle Wessman (3):
+      Check that the type of the tree really is a tree and not a commit as it seems to sometimes become when eg. a submodule has existed in the same position previously.
+      Use 'git merge -Xsubtree' when git version >= 1.7.0.
+      Fixed regression with splitting out new subtree
+
+Pete Wyckoff (9):
+      git-p4: move to toplevel
+      git p4: update name in script
+      git p4: use "git p4" directly in tests
+      remove superfluous newlines in error messages
+      remove blank filename in error message
+      git p4: bring back files in deleted client directory
+      git p4: test submit
+      git p4: fix writable file after rename or copy
+      git p4: submit files with wildcards
+
+Ralf Thielow (2):
+      l10n: Update German translation
+      remote: fix typo
+
+Ramsay Jones (5):
+      compat/win32/pthread.h: Add an pthread_key_delete() implementation
+      compat/mingw.h: Set S_ISUID to prevent a fast-import test failure
+      git-submodule.sh: Don't use $path variable in eval_gettext string
+      git-sh-setup.sh: Add an pwd() function for MinGW
+      builtin/blame.c: Fix a "Using plain integer as NULL pointer" warning
+
+René Scharfe (26):
+      add mergesort() for linked lists
+      commit: use mergesort() in commit_list_sort_by_date()
+      revision: insert unsorted, then sort in prepare_revision_walk()
+      sequencer: export commit_list_append()
+      revision: append to list instead of insert and reverse
+      commit: remove commit_list_reverse()
+      streaming: void pointer instead of char pointer
+      archive-zip: remove uncompressed_size
+      archive-zip: factor out helpers for writing sizes and CRC
+      archive-zip: streaming for stored files
+      archive-zip: streaming for deflated files
+      t5000: rationalize unzip tests
+      dir: convert to strbuf
+      xdiff: add hunk_func()
+      blame: use hunk_func(), part 1
+      blame: use hunk_func(), part 2
+      blame: factor out helper for calling xdi_diff()
+      xdiff: remove emit_func() and xdi_diff_hunks()
+      xdiff: remove unused functions
+      dir: respect string length argument of read_directory_recursive()
+      dir: simplify fill_directory()
+      archive: simplify refname handling
+      archive-tar: keep const in checksum calculation
+      xdiff: avoid compiler warnings with XDL_FAST_HASH on 32-bit machines
+      xdiff: avoid more compiler warnings with XDL_FAST_HASH on 32-bit machines
+      xdiff: import new 32-bit version of count_masked_bytes()
+
+Roman Kagan (3):
+      git-svn: use POSIX::sigprocmask to block signals
+      git-svn: ignore SIGPIPE
+      git-svn: drop redundant blocking of SIGPIPE
+
+SZEDER Gábor (2):
+      tests: add tests for the __gitcomp() completion helper function
+      completion: fix completion after 'git --option <TAB>'
+
+Sebastian Pipping (1):
+      gitweb: Fix unintended "--no-merges" for regular Atom feed
+
+Stefano Lattarini (3):
+      configure: move definitions of private m4 macros before AC_INIT invocation
+      configure: avoid some code repetitions thanks to m4_{push,pop}def
+      configure: be more idiomatic
+
+Thomas Rast (2):
+      xdiff: load full words in the inner loop of xdl_hash_record
+      xdiff: choose XDL_FAST_HASH code on sizeof(long) instead of __WORDSIZE
+
+Tim Henigan (8):
+      difftool: parse options using Getopt::Long
+      difftool: add '--no-gui' option
+      difftool: exit(0) when usage is printed
+      difftool: remove explicit change of PATH
+      difftool: stop appending '.exe' to git
+      difftool: eliminate setup_environment function
+      difftool: teach difftool to handle directory diffs
+      difftool: print list of valid tools with '--tool-help'
+
+W. Trevor King (3):
+      gitweb: add `status` headers to git_feed() responses.
+      gitweb: refactor If-Modified-Since handling
+      gitweb: add If-Modified-Since handling to git_snapshot().
+
+Wayne Walter (1):
+      Added new 'push' command and 2-parameter form of 'add'.
+
+Win Treese (2):
+      git-subtree.txt: add another example.
+      Make sure that <prefix> exists when splitting.
+
+Zbigniew Jędrzejewski-Szmek (13):
+      t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
+      t0303: resurrect commit message as test documentation
+      t1507: add tests to document @{upstream} behaviour
+      Provide branch name in error message when using @{u}
+      Provide better message for barnhc_wiht_tpyo@{u}
+      Be more specific if upstream branch is not tracked
+      i18n: mark @{upstream} error messages for translation
+      t9002: work around shells that are unable to set COLUMNS to 1
+      diff --stat: use less columns for change counts
+      test: modernize style of t4006
+      tests: check --[short]stat output after chmod
+      diff --stat: report mode-only changes for binary files like text files
+      diff --stat: do not run diff on indentical files
+
+kTln2 (1):
+      Add explicit path of git installation by 'git --exec-path'.
+
+Ævar Arnfjörð Bjarmason (3):
+      git-branch: remove lego in i18n messages
+      git-commit: remove lego in i18n messages
+      git-commit: remove lego in i18n messages
+
+
+Version v1.7.10.5; changes since v1.7.10.4:
+-------------------------------------------
+
+Johannes Schindelin (1):
+      fast-export: report SHA-1 instead of gibberish when marks exist already
+
+Junio C Hamano (1):
+      Git 1.7.10.5
+
+Vincent van Ravesteijn (1):
+      Do not autosquash in case of an implied interactive rebase
+
+
+Version v1.7.10.4; changes since v1.7.10.3:
+-------------------------------------------
+
+Avery Pennarun (1):
+      checkout: no progress messages if !isatty(2).
+
+Erik Faye-Lund (2):
+      rebase: report invalid commit correctly
+      Makefile: add missing GIT-VERSION-FILE dependency
+
+Jeff King (3):
+      fix off-by-one error in split_ident_line
+      pretty: avoid buffer overflow in format_person_part
+      avoid segfault when reading header of malformed commits
+
+Junio C Hamano (2):
+      Start preparing for 1.7.10.4
+      Git 1.7.10.4
+
+Peter Krefting (1):
+      Update Swedish translation (728t0f0u)
+
+René Scharfe (4):
+      grep: factor out create_grep_pat()
+      grep: factor out do_append_grep_pat()
+      grep: support newline separated pattern list
+      grep: stop leaking line strings with -f
+
+
+Version v1.7.10.3; changes since v1.7.10.2:
+-------------------------------------------
+
+Bobby Powers (2):
+      diff --no-index: reset temporary buffer lengths on directory iteration
+      diff --no-index: don't leak buffers in queue_diff
+
+Carlos Martín Nieto (1):
+      pack-protocol: fix first-want separator in the examples
+
+Erik Faye-Lund (2):
+      clone: fix progress-regression
+      checkout: do not corrupt HEAD on empty repo
+
+Heiko Voigt (2):
+      link to gitmodules page at the beginning of git-submodule documentation
+      teach add_submodule_odb() to look for alternates
+
+Jan Krüger (1):
+      log-tree: use custom line terminator in line termination mode
+
+Jeff King (10):
+      docs: stop using asciidoc no-inline-literal
+      t1411: add more selector index/date tests
+      log: respect date_mode_explicit with --format:%gd
+      reflog-walk: clean up "flag" field of commit_reflog struct
+      reflog-walk: always make HEAD@{0} show indexed selectors
+      commit: refactor option parsing
+      status: refactor null_termination option
+      status: fix null termination with "-b"
+      status: respect "-b" for porcelain format
+      osxkeychain: pull make config from top-level directory
+
+Jens Lehmann (1):
+      Consistently use "superproject" instead of "supermodule"
+
+Jiang Xin (4):
+      l10n: Update git.pot (1 new messages)
+      l10n: zh_CN.po: translate 1 new message
+      l10n: Update git.pot (3 new, 2 removed messages)
+      l10n: zh_CN.po: translate 3 new messages
+
+Johannes Sixt (3):
+      t2020-checkout-detach: check for the number of orphaned commits
+      checkout (detached): truncate list of orphaned commits at the new HEAD
+      t3404: begin "exchange commits with -p" test with correct preconditions
+
+Jonathan Nieder (1):
+      config doc: remove confusion about relative GIT_DIR from FILES section
+
+Junio C Hamano (5):
+      log-tree: the previous one is still not quite right
+      reflog-walk: tell explicit --date=default from not having --date at all
+      Start preparing for 1.7.10.3
+      Update draft release notes to 1.7.10.3
+      Git 1.7.10.3
+
+Linus Torvalds (1):
+      fmt-merge-message: add empty line between tag and signature verification
+
+Ralf Thielow (7):
+      l10n: add new members to German translation team
+      l10n: de.po: translate "track" as "beobachten"
+      l10n: de.po: translate "remote" as "extern"
+      l10n: de.po: collection of improvements
+      l10n: de.po: unify translation of "ahead" and "behind"
+      l10n: de.po: translate one new message
+      l10n: de.po: translate 3 new messages
+
+Thomas Rast (4):
+      l10n: de.po: translate "bare" as "bloß"
+      l10n: de.po: hopefully uncontroversial fixes
+      l10n: de.po: translate "bad" as "ungültig" ("invalid")
+      l10n: de.po: collection of suggestions
+
+
+Version v1.7.10.2; changes since v1.7.10.1:
+-------------------------------------------
+
+Angus Hammond (1):
+      grep.c: remove redundant line of code
+
+Ben Walton (1):
+      Avoid bug in Solaris xpg4/sed as used in submodule
+
+Christian Couder (1):
+      revert: add missing va_end
+
+Christopher Tiwald (2):
+      push: Provide situational hints for non-fast-forward errors
+      Fix httpd tests that broke when non-ff push advice changed
+
+Clemens Buchacher (3):
+      http auth fails with multiple curl handles
+      properly keep track of current working directory
+      cherry-pick: do not expect file arguments
+
+Florian Achleitner (1):
+      Documentation/git-config: describe and clarify "--local <file>" option
+
+Heiko Voigt (1):
+      document submdule.$name.update=none option for gitmodules
+
+Jeff King (15):
+      clean up struct ref's nonfastforward field
+      http-backend: respect existing GIT_COMMITTER_* variables
+      fix http auth with multiple curl handles
+      gc: do not explode objects which will be immediately pruned
+      http: clean up leak in init_curl_http_auth
+      http: use newer curl options for setting credentials
+      argv-array: refactor empty_argv initialization
+      argv-array: add a new "pushl" method
+      gc: use argv-array for sub-commands
+      config: reject bogus section names for --rename-section
+      config: expand tildes in include.path variable
+      send-pack: show progress when isatty(2)
+      teach send-pack about --[no-]progress
+      t5541: test more combinations of --progress
+      t/gitweb-lib: use $PERL_PATH to run gitweb
+
+Jim Meyering (1):
+      diff: avoid stack-buffer-read-overrun for very long name
+
+Johannes Sixt (2):
+      t9300-fast-import: avoid 'exit' in test_expect_success snippets
+      t5570: fix forwarding of git-daemon messages via cat
+
+Junio C Hamano (13):
+      xdiff: remove XDL_PATCH_* macros
+      xdiff: PATIENCE/HISTOGRAM are not independent option bits
+      rebase -i: remind that the lines are top-to-bottom
+      builtin/merge.c: remove "remoteheads" global variable
+      builtin/merge.c: collect other parents early
+      builtin/merge.c: reduce parents early
+      fmt-merge-msg: discard needless merge parents
+      t9400: fix gnuism in grep
+      diff --no-index: use strbuf for temporary pathnames
+      contrib/rerere-train: use installed git-sh-setup
+      Start preparing for 1.7.10.2
+      Update draft release notes to 1.7.10.2
+      Git 1.7.10.2
+
+Lucian Poston (5):
+      Add output_prefix_length to diff_options
+      Adjust stat width calculations to take --graph output into account
+      t4052: Adjust --graph --stat output for prefixes
+      t4052: Test diff-stat output with minimum columns
+      Prevent graph_width of stat width from falling below min
+
+Marc Branchaud (2):
+      fetch: Give remote_ref to update_local_ref() as well
+      fetch: describe new refs based on where it came from
+
+Michał Kiedrowicz (1):
+      merge tests: octopus with redundant parents
+
+Pete Wyckoff (2):
+      git-remote-testgit: fix race when spawning fast-import
+      git p4 doc: fix formatting
+
+Ralf Thielow (1):
+      sequencer: remove additional blank line
+
+René Scharfe (2):
+      unpack-trees: don't perform any index operation if we're not merging
+      unpack-trees: plug minor memory leak
+
+Ross Lagerwall (2):
+      rev-parse --show-prefix: add in trailing newline
+      stash: use eval_gettextln correctly
+
+Stefano Lattarini (1):
+      tests: modernise style: more uses of test_line_count
+
+Zbigniew Jędrzejewski-Szmek (4):
+      t4052: test --stat output with --graph
+      test-lib: skip test with COLUMNS=1 under mksh
+      t4052: work around shells unable to set COLUMNS to 1
+      Consistently use perl from /usr/bin/ for scripts
+
+
+Version v1.7.10.1; changes since v1.7.10:
+-----------------------------------------
+
+Adam Monsen (1):
+      git-commit.txt: clarify -t requires editing message
+
+Byrial Jensen (2):
+      l10n: New da.po file with 0 translations
+      l10n: Add Danish team (da) to list of teams
+
+Ivan Todoroski (4):
+      fetch-pack: new --stdin option to read refs from stdin
+      remote-curl: send the refs to fetch-pack on stdin
+      fetch-pack: test cases for the new --stdin option
+      remote-curl: main test case for the OS command line overflow
+
+Jeff King (6):
+      drop casts from users EMPTY_TREE_SHA1_BIN
+      make is_empty_blob_sha1 available everywhere
+      teach diffcore-rename to optionally ignore empty content
+      merge-recursive: don't detect renames of empty files
+      add--interactive: ignore unmerged entries in patch mode
+      run-command: treat inaccessible directories as ENOENT
+
+Jens Lehmann (1):
+      submodules: recursive fetch also checks new tags for submodule commits
+
+Jiang Xin (2):
+      l10n: Update git.pot (2 new messages)
+      l10n: Update Simplified Chinese translation
+
+Johan Herland (3):
+      t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
+      notes-merge: use opendir/readdir instead of using read_directory()
+      notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd
+
+Johannes Sixt (1):
+      t4034: diff.*.wordregex should not be "sticky" in --word-diff
+
+John Keeping (1):
+      rebase -i continue: don't skip commits that only change submodules
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (16):
+      ident.c: add split_ident_line() to parse formatted ident line
+      t7503: does pre-commit-hook learn authorship?
+      commit: pass author/committer info to hooks
+      remove_dir_recursively(): Add flag for skipping removal of toplevel dir
+      clean: preserve nested git worktree in subdirectories
+      t7501: test the right kind of breakage
+      commit: do not trigger bogus "has templated message edited" check
+      commit: rephrase the error when user did not touch templated log message
+      Documentation/git-commit: rephrase the "initial-ness" of templates
+      push: error out when the "upstream" semantics does not make sense
+      blame: accept --need-minimal
+      Git 1.7.7.7
+      Git 1.7.8.6
+      Git 1.7.9.7
+      Start preparing for 1.7.10.1
+      Git 1.7.10.1
+
+Lucian Poston (3):
+      log --graph --stat: three-dash separator should come after graph lines
+      log --graph: fix break in graph lines
+      t4202: add test for "log --graph --stat -p" separator lines
+
+Marco Sousa (1):
+      l10n: Updated pt_PT language
+
+Pete Wyckoff (1):
+      fast-import: tighten parsing of datarefs
+
+Ralf Thielow (2):
+      l10n: Add the German translation team and initialize de.po
+      l10n: Initial German translation
+
+Ramsay Jones (1):
+      compat/mingw.[ch]: Change return type of exec functions to int
+
+René Scharfe (3):
+      combine-diff: fix loop index underflow
+      submodule: fix prototype of gitmodules_config
+      test-subprocess: fix segfault without arguments
+
+Thomas Rast (2):
+      diff: refactor the word-diff setup from builtin_diff_cmd
+      diff: tweak a _copy_ of diff_options with word-diff
+
+
+Version v1.7.10; changes since v1.7.10-rc4:
+-------------------------------------------
+
+Felipe Contreras (1):
+      spec: add missing build dependency
+
+Junio C Hamano (1):
+      Git 1.7.10
+
+
+Version v1.7.10-rc4; changes since v1.7.10-rc3:
+-----------------------------------------------
+
+Heiko Voigt (1):
+      string-list: document that string_list_insert() inserts unique strings
+
+Jiang Xin (1):
+      l10n: Improve zh_CN translation for Git 1.7.10-rc3
+
+Junio C Hamano (3):
+      merge: backport GIT_MERGE_AUTOEDIT support
+      Git 1.7.9.6
+      Git 1.7.10-rc4
+
+Marco Sousa (1):
+      l10n: Inital Portuguese Portugal language (pt_PT)
+
+Pat Thoyts (2):
+      gitk: fix tabbed preferences construction when using tcl 8.4
+      gitk: fix setting font display with new tabbed dialog layout.
+
+René Scharfe (1):
+      config: remove useless assignment
+
+Vincent van Ravesteijn (1):
+      l10n: Add the Dutch translation team and initialize nl.po
+
+
+Version v1.7.10-rc3; changes since v1.7.10-rc2:
+-----------------------------------------------
+
+Frédéric Brière (1):
+      gitk: Skip over AUTHOR/COMMIT_DATE when searching all fields
+
+Jiang Xin (4):
+      l10n: Update git.pot (1 new message)
+      l10n: Update zh_CN translation for Git 1.7.10-rc1
+      l10n: Review zh_CN translation for Git 1.7.10-rc1
+      Add url of Swedish l10n team in TEAMS file
+
+Jim Meyering (3):
+      gitk: Make "git describe" output clickable, too
+      correct spelling: an URL -> a URL
+      correct a few doubled-word nits in comments and documentation
+
+Jonathan Nieder (1):
+      gitk: Use symbolic font names "sans" and "monospace" when available
+
+Junio C Hamano (3):
+      Git 1.7.9.5
+      Update draft release notes to 1.7.10
+      Git 1.7.10-rc3
+
+Marcus Karlsson (1):
+      gitk: Teach gitk to respect log.showroot
+
+Mark Lodato (1):
+      grep doc: add --break / --heading / -W to synopsis
+
+Nelson Benitez Leon (1):
+      documentation: fix alphabetic ordered list for git-rebase man page
+
+Pat Thoyts (2):
+      gitk: Use a tabbed dialog to edit preferences
+      gitk: Fix the display of files when filtered by path
+
+Paul Mackerras (2):
+      gitk: Speed up resolution of short SHA1 ids
+      gitk: Add menu items for comparing a commit with the marked commit
+
+Peter Krefting (1):
+      Update Swedish translation (724t0f0u).
+
+Rodrigo Silva (MestreLion) (1):
+      Documentation: improve description of GIT_EDITOR and preference order
+
+Zbigniew Jędrzejewski-Szmek (2):
+      gitk: Use "gitk: repo-top-level-dir" as window title
+      tests: unset COLUMNS inherited from environment
+
+
+Version v1.7.10-rc2; changes since v1.7.10-rc1:
+-----------------------------------------------
+
+Alex Merry (1):
+      contrib/completion: "local var=()" is misinterpreted as func-decl by zsh
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jonathan Nieder (2):
+      fast-import: leakfix for 'ls' of dirty trees
+      fast-import: don't allow 'ls' of path with empty components
+
+Junio C Hamano (4):
+      fetch/receive: remove over-pessimistic connectivity check
+      Update draft release notes to 1.7.10
+      .mailmap: unify various old mail addresses of gitster
+      Git 1.7.10-rc2
+
+Stefano Lattarini (1):
+      configure: allow user to prevent $PATH "sanitization" on Solaris
+
+Tim Henigan (7):
+      Documentation/diff-options: reword description of --submodule option
+      contrib/diffall: comment actual reason for 'cdup'
+      contrib/diffall: create tmp dirs without mktemp
+      contrib/diffall: eliminate use of tar
+      contrib/diffall: eliminate duplicate while loops
+      contrib/diffall: fix cleanup trap on Windows
+      Documentation/difftool: add deltawalker to list of valid diff tools
+
+Ævar Arnfjörð Bjarmason (2):
+      Git::I18N: compatibility with perl <5.8.3
+      perl/Makefile: install Git::I18N under NO_PERL_MAKEMAKER
+
+
+Version v1.7.10-rc1; changes since v1.7.10-rc0:
+-----------------------------------------------
+
+Alex Zepeda (1):
+      verify-tag: Parse GPG configuration options.
+
+Jakub Narębski (1):
+      gitweb: Fix fixed string (non-regexp) project search
+
+Jens Lehmann (3):
+      submodules: always use a relative path to gitdir
+      submodules: always use a relative path from gitdir to work tree
+      submodules: refactor computation of relative gitdir path
+
+Jiang Xin (3):
+      l10n: Update zh_CN translation for 1.7.9.2
+      l10n: Update git.pot (1 new message)
+      l10n: Update zh_CN translation for 1.7.10-rc0
+
+Johannes Sixt (1):
+      submodules: fix ambiguous absolute paths under Windows
+
+Junio C Hamano (7):
+      Update draft release notes to 1.7.10
+      t0204: clarify the "observe undefined behaviour" test
+      i18n: fix auto detection of gettext scheme for shell scripts
+      Git 1.7.9.4
+      Update draft release notes to 1.7.10 before -rc1
+      am: officially deprecate -b/--binary option
+      Git 1.7.10-rc1
+
+Karsten Blees (1):
+      fix deletion of .git/objects sub-directories in git-prune/repack
+
+Martin Stenberg (1):
+      config: report errors at the EOL with correct line number
+
+Peter Krefting (2):
+      po/sv.po: add Swedish translation
+      Update Swedish translation (732t0f0u).
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Thomas Rast (4):
+      perf: load test-lib-functions from the correct directory
+      perf: export some important test-lib variables
+      p4000: use -3000 when promising -3000
+      git-am: error out when seeing -b/--binary
+
+Thynson (7):
+      l10n: Improve zh_CN translation for lines insertion and deletion.
+      l10n: Improve zh_CN translation for msg about branch deletion deny
+      l10n: Improve zh_CN translation for empty cherry-pick msg.
+      l10n: Improve zh_CN translation for msg that make empty commit when amend.
+      l10n: Improve commit msg for zh_CN translation
+      l10n: Improve zh_CN trans for msg that cannot fast-forward
+      l10n: Improve zh_CN translation for msg "not something we can merge"
+
+Vincent van Ravesteijn (3):
+      Documentation/git-branch: cleanups
+      Documentation/git-branch: fix a typo
+      Documentation/git-branch: add default for --contains
+
+
+Version v1.7.10-rc0; changes since v1.7.9.7:
+--------------------------------------------
+
+Adrian Weimann (1):
+      completion: --edit and --no-edit for git-merge
+
+Alex Riesen (1):
+      add a Makefile switch to avoid gettext translation in shell scripts
+
+Bernhard R. Link (6):
+      gitweb: move hard coded .git suffix out of git_get_projects_list
+      gitweb: prepare git_get_projects_list for use outside 'forks'.
+      gitweb: add project_filter to limit project list to a subdirectory
+      gitweb: limit links to alternate forms of project_list to active project_filter
+      gitweb: show active project_filter in project_list page header
+      gitweb: place links to parent directories in page header
+
+Carlos Martín Nieto (1):
+      Make git-{pull,rebase} message without tracking information friendlier
+
+Clemens Buchacher (3):
+      git-daemon: add tests
+      git-daemon: produce output when ready
+      git-daemon tests: wait until daemon is ready
+
+David Barr (9):
+      vcs-svn: set up channel to read fast-import cat-blob response
+      vcs-svn: quote paths correctly for ls command
+      vcs-svn: use mark from previous import for parent commit
+      vcs-svn: pass paths through to fast-import
+      vcs-svn: drop string_pool
+      vcs-svn: drop treap
+      vcs-svn: drop obj_pool
+      vcs-svn: avoid using ls command twice
+      vcs-svn: implement text-delta handling
+
+Dmitry Ivankov (2):
+      vcs-svn: do not initialize report_buffer twice
+      vcs-svn: reset first_commit_done in fast_export_init
+
+Felipe Contreras (4):
+      remote: use a local variable in match_push_refs()
+      remote: reorganize check_pattern_match()
+      remote: refactor code into alloc_delete_ref()
+      push: add '--prune' option
+
+Frédéric Heitzmann (1):
+      completion: add --interactive option to git svn dcommit
+
+Jakub Narębski (11):
+      gitweb: improve usability of projects search form
+      gitweb: Make project search respect project_filter
+      gitweb: Harden and improve $project_filter page title
+      gitweb: Refactor checking if part of project info need filling
+      gitweb: Option for filling only specified info in fill_project_list_info
+      gitweb: Faster project search
+      gitweb: Introduce esc_html_match_hl and esc_html_hl_regions
+      gitweb: Highlight matched part of project name when searching projects
+      gitweb: Highlight matched part of project description when searching projects
+      gitweb: Highlight matched part of shortened project description
+      gitweb: Fix passing parameters to git_project_search_form
+
+Jan Krüger (1):
+      symbolic-ref --short: abbreviate the output unambiguously
+
+Jared Hance (1):
+      Add threaded versions of functions in symlinks.c.
+
+Jeff King (20):
+      parse_object: try internal cache before reading object db
+      upload-pack: avoid parsing objects during ref advertisement
+      upload-pack: avoid parsing tag destinations
+      t0300: use write_script helper
+      docs: add a basic description of the config API
+      drop odd return value semantics from userdiff_config
+      diff-highlight: make perl strict and warnings fatal
+      diff-highlight: don't highlight whole lines
+      diff-highlight: refactor to prepare for multi-line hunks
+      diff-highlight: match multi-line hunks
+      diff-highlight: document some non-optimal cases
+      docs/api-config: minor clarifications
+      t1300: add missing &&-chaining
+      config: copy the return value of prefix_filename
+      config: teach git_config_set_multivar_in_file a default path
+      config: teach git_config_rename_section a file argument
+      config: provide a version of git_config with more options
+      config: stop using config_exclusive_filename
+      config: eliminate config_exclusive_filename
+      config: add include directive
+
+Jehan Bing (1):
+      Add a setting to require a filter to be successful
+
+Jens Lehmann (1):
+      test-lib: add the test_pause convenience function
+
+Jiang Xin (5):
+      l10n: initial git.pot for 1.7.10 upcoming release
+      l10n: po for zh_CN
+      l10n: Update git.pot (12 new messages)
+      l10n: update Chinese translation to the new git.po
+      Update l10n guide: change the repository URL, etc
+
+Jonathan Nieder (23):
+      vcs-svn: use higher mark numbers for blobs
+      vcs-svn: save marks for imported commits
+      vcs-svn: add a comment before each commit
+      vcs-svn: eliminate repo_tree structure
+      vcs-svn: handle filenames with dq correctly
+      Makefile: list one vcs-svn/xdiff object or header per line
+      vcs-svn: learn to maintain a sliding view of a file
+      vcs-svn: make buffer_read_binary API more convenient
+      vcs-svn: skeleton of an svn delta parser
+      vcs-svn: parse svndiff0 window header
+      vcs-svn: read the preimage when applying deltas
+      vcs-svn: read inline data from deltas
+      vcs-svn: read instructions from deltas
+      vcs-svn: implement copyfrom_data delta instruction
+      vcs-svn: verify that deltas consume all inline data
+      vcs-svn: let deltas use data from postimage
+      vcs-svn: let deltas use data from preimage
+      test-svn-fe: split off "test-svn-fe -d" into a separate function
+      vcs-svn: cap number of bytes read from sliding view
+      vcs-svn: guard against overflow when computing preimage length
+      vcs-svn: avoid hangs from corrupt deltas
+      vcs-svn: allow import of > 4GiB files
+      vcs-svn: suppress a -Wtype-limits warning
+
+Junio C Hamano (28):
+      git-sh-i18n: restructure the logic to compute gettext.sh scheme
+      i18n: Make NO_GETTEXT imply fallthrough scheme in shell l10n
+      merge: use editor by default in interactive sessions
+      push: do not let configured foreign-vcs permanently clobbered
+      t9801: do not overuse test_must_fail
+      i18n: Do not force USE_GETTEXT_SCHEME=fallthrough on NO_GETTEXT
+      vcs-svn/svndiff.c: squelch false "unused" warning from gcc
+      Kick off the post 1.7.9 cycle
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      t9100: remove bogus " || test" after each test scriptlet
+      merge: do not trust fstat(2) too much when checking interactiveness
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      grep: use static trans-case table
+      fsck: --no-dangling omits "dangling object" information
+      pickaxe: allow -i to search in patch case-insensitively
+      Update l10n guide
+      diff --stat: tests for long filenames and big change counts
+      Update draft release notes to 1.7.10
+      Update draft release notes to 1.7.10
+      fsck doc: a minor typofix
+      Git 1.7.10-rc0
+
+Linus Torvalds (1):
+      "git pull" doesn't know "--edit"
+
+Luke Diamand (6):
+      git-p4: handle p4 branches and labels containing shell chars
+      git-p4: cope with labels with empty descriptions
+      git-p4: importing labels should cope with missing owner
+      git-p4: add test for p4 labels
+      git-p4: label import fails with multiple labels at the same changelist
+      git-p4: add initial support for RCS keywords
+
+Michael Haggerty (11):
+      pack_refs(): remove redundant check
+      ref_array: keep track of whether references are sorted
+      add_packed_ref(): new function in the refs API.
+      write_remote_refs(): create packed (rather than extra) refs
+      t5700: document a failure of alternates to affect fetch
+      clone.c: move more code into the "if (refs)" conditional
+      fetch-pack.c: rename some parameters from "path" to "refname"
+      fetch-pack.c: inline insert_alternate_refs()
+      everything_local(): mark alternate refs as complete
+      clone: do not add alternate references to extra_refs
+      refs: remove the extra_refs API
+
+Michał Kiedrowicz (2):
+      pack-objects: Fix compilation with NO_PTHREDS
+      grep -P: add tests for matching ^ and $
+
+Nelson Benitez Leon (1):
+      http: support proxies that require authentication
+
+Nguyễn Thái Ngọc Duy (20):
+      clone: add --single-branch to fetch only one branch
+      Fix incorrect ref namespace check
+      Eliminate recursion in setting/clearing marks in commit list
+      index-pack: eliminate recursion in find_unresolved_deltas
+      index-pack: eliminate unlimited recursion in get_base_data()
+      t5601: add missing && cascade
+      clone: write detached HEAD in bare repositories
+      clone: factor out checkout code
+      clone: factor out HEAD update code
+      clone: factor out remote ref writing
+      clone: delay cloning until after remote HEAD checking
+      clone: --branch=<branch> always means refs/heads/<branch>
+      clone: refuse to clone if --branch points to bogus ref
+      clone: allow --branch to take a tag
+      clone: print advice on checking out detached HEAD
+      clone: fix up delay cloning conditions
+      pack-objects: do not accept "--index-version=version,"
+      pack-objects: remove bogus comment
+      pack-objects: convert to use parse_options()
+      cache-tree: update API to take abitrary flags
+
+Pete Wyckoff (6):
+      git-p4: only a single ... wildcard is supported
+      git-p4: fix verbose comment typo
+      git-p4: clarify comment
+      git-p4: adjust test to adhere to stricter useClientSpec
+      git-p4: add tests demonstrating spec overlay ambiguities
+      git-p4: Change p4 command invocation
+
+Phil Hord (1):
+      cherry-pick: No advice to commit if --no-commit
+
+Philip Jägenstedt (2):
+      completion: remote set-* <name> and <branch>
+      completion: normalize increment/decrement style
+
+Ramkumar Ramachandra (2):
+      revert: prepare to move replay_action to header
+      sequencer: factor code out of revert builtin
+
+Ramsay Jones (3):
+      vcs-svn: rename check_overflow arguments for clarity
+      builtin/tag.c: Fix a sparse warning
+      ctype.c: Fix a sparse warning
+
+René Scharfe (5):
+      xdiff: print post-image for common records instead of pre-image
+      test-parse-options: convert to OPT_BOOL()
+      parse-options: allow positivation of options starting, with no-
+      parse-options: remove PARSE_OPT_NEGHELP
+      parse-options: typo check for unknown switches
+
+Riku (1):
+      l10n: update zh_CN translation for "Fetching %s"
+
+Russell Myers (1):
+      git-p4: the option to specify 'host' is -H, not -h
+
+Stefano Lattarini (1):
+      t0000: modernise style
+
+Steven Walter (2):
+      git-svn.perl: perform deletions before anything else
+      git-svn.perl: fix a false-positive in the "already exists" test
+
+Thomas Rast (6):
+      am: learn passing -b to mailinfo
+      mailinfo: with -b, keep space after [foo]
+      Move the user-facing test library to test-lib-functions.sh
+      Introduce a performance testing framework
+      Add a performance test for git-grep
+      perf: compare diff algorithms
+
+Tim Henigan (2):
+      contrib: add git-diffall script
+      mergetools: add a plug-in to support DeltaWalker
+
+Tom Grennan (1):
+      tag: add --points-at list option
+
+Vitor Antunes (2):
+      git-p4: Search for parent commit on branch creation
+      git-p4: Add test case for complex branch import
+
+Wei-Yin Chen (陳威尹) (1):
+      git-svn: Fix time zone in --localtime
+
+Yichao Yu (1):
+      l10n: fast-forward here is ff-only merge, not push
+
+Zbigniew Jędrzejewski-Szmek (11):
+      make lineno_width() from blame reusable for others
+      send-email: document the --smtp-debug option
+      git-p4: missing she-bang line in t9804 confuses prove
+      diff --stat: use the full terminal width
+      show --stat: use the full terminal width
+      log --stat: use the full terminal width
+      merge --stat: use the full terminal width
+      diff --stat: use a maximum of 5/8 for the filename part
+      diff --stat: add a test for output with COLUMNS=40
+      diff --stat: enable limiting of the graph part
+      diff --stat: add config option to limit graph width
+
+ws3389 (1):
+      l10n: leave leading space unchanged for zh_CN.po
+
+Ævar Arnfjörð Bjarmason (2):
+      git-svn: remove redundant porcelain option to rev-list
+      git-svn: un-break "git svn rebase" when log.abbrevCommit=true
+
+
+Version v1.7.9.7; changes since v1.7.9.6:
+-----------------------------------------
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (4):
+      fetch/receive: remove over-pessimistic connectivity check
+      Git 1.7.7.7
+      Git 1.7.8.6
+      Git 1.7.9.7
+
+
+Version v1.7.9.6; changes since v1.7.9.5:
+-----------------------------------------
+
+Heiko Voigt (1):
+      string-list: document that string_list_insert() inserts unique strings
+
+Junio C Hamano (2):
+      merge: backport GIT_MERGE_AUTOEDIT support
+      Git 1.7.9.6
+
+
+Version v1.7.9.5; changes since v1.7.9.4:
+-----------------------------------------
+
+Jakub Narębski (1):
+      gitweb: Fix actionless dispatch for non-existent objects
+
+Jonathan Nieder (2):
+      fast-import: leakfix for 'ls' of dirty trees
+      fast-import: don't allow 'ls' of path with empty components
+
+Junio C Hamano (2):
+      i18n of multi-line advice messages
+      Git 1.7.9.5
+
+Kirill Smelkov (1):
+      t/Makefile: Use $(sort ...) explicitly where needed
+
+Mark Lodato (1):
+      grep doc: add --break / --heading / -W to synopsis
+
+Martin Stenberg (1):
+      config: report errors at the EOL with correct line number
+
+Nelson Benitez Leon (1):
+      documentation: fix alphabetic ordered list for git-rebase man page
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Rodrigo Silva (MestreLion) (1):
+      Documentation: improve description of GIT_EDITOR and preference order
+
+
+Version v1.7.9.4; changes since v1.7.9.3:
+-----------------------------------------
+
+Jakub Narębski (1):
+      gitweb: Fix fixed string (non-regexp) project search
+
+Junio C Hamano (6):
+      am -3: allow nonstandard -p<num> option
+      test: "am -3" can accept non-standard -p<num>
+      t4011: modernise style
+      t4011: illustrate "diff-index -p" on stat-dirty paths
+      diff -p: squelch "diff --git" header for stat-dirty paths
+      Git 1.7.9.4
+
+Thomas Rast (5):
+      t5510: refactor bundle->pack conversion
+      t5510: ensure we stay in the toplevel test dir
+      bundle: keep around names passed to add_pending_object()
+      Document the --histogram diff option
+      t5704: fix nonportable sed/grep usages
+
+
+Version v1.7.9.3; changes since v1.7.9.2:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -m: only call "notes copy" when rewritten exists and is non-empty
+
+Carlos Martín Nieto (2):
+      branch: don't assume the merge filter ref exists
+      Documentation: use {asterisk} in rev-list-options.txt when needed
+
+Clemens Buchacher (1):
+      http.proxy: also mention https_proxy and all_proxy
+
+Dmitry V. Levin (1):
+      Makefile: add thread-utils.h to LIB_H
+
+Jakub Narębski (2):
+      gitweb: Fix "heads" view when there is no current branch
+      gitweb: Handle invalid regexp in regexp search
+
+Jeff King (4):
+      disconnect from remote helpers more gently
+      teach convert_to_git a "dry run" mode
+      teach dry-run convert_to_git not to require a src buffer
+      do not stream large files to pack when filters are in use
+
+Jehan Bing (1):
+      Ignore SIGPIPE when running a filter driver
+
+Jim Meyering (1):
+      am: don't infloop for an empty input file
+
+John Szakmeister (1):
+      configure: don't use -lintl when there is no gettext support
+
+Jonathan Nieder (1):
+      mergetools/meld: Use --help output to detect --output support
+
+Junio C Hamano (9):
+      refresh_index: do not show unmerged path that is outside pathspec
+      Documentation/merge-options.txt: group "ff" related options together
+      Document merge.branchdesc configuration variable
+      Git 1.7.8.5
+      Document accumulated fixes since 1.7.9.2
+      Update draft release notes to 1.7.9.3
+      Documentation: do not assume that n > 1 in <rev>~$n
+      Update draft release notes to 1.7.9.3 for the last time
+      Git 1.7.9.3
+
+Libor Pechacek (1):
+      Documentation fixes in git-config
+
+Matthieu Moy (1):
+      README: point to Documentation/SubmittingPatches
+
+Michael Haggerty (2):
+      post-receive-email: remove unused variable
+      post-receive-email: match up $LOGBEGIN..$LOGEND pairs correctly
+
+Michael J Gruber (1):
+      t0300: work around bug in dash 0.5.6
+
+Michał Kiedrowicz (1):
+      grep -P: Fix matching ^ and $
+
+Nguyễn Thái Ngọc Duy (2):
+      rev-list: remove BISECT_SHOW_TRIED flag
+      rev-list: fix --verify-objects --quiet becoming --objects
+
+Pete Wyckoff (4):
+      git-p4: set useClientSpec variable on initial clone
+      git-p4: fix submit regression with clientSpec and subdir clone
+      git-p4: remove bash-ism in t9809
+      git-p4: remove bash-ism in t9800
+
+Philip Jägenstedt (1):
+      remote: fix set-branches usage and documentation
+
+Stefano Lattarini (1):
+      tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh
+
+Thomas Rast (6):
+      merge: add instructions to the commit message when editing
+      bundle: put strbuf_readline_fd in strbuf.c with adjustments
+      bundle: use a strbuf to scan the log for boundary commits
+      strbuf: improve strbuf_get*line documentation
+      t5704: match tests to modern style
+      fast-import: zero all of 'struct tag' to silence valgrind
+
+Tim Henigan (2):
+      CodingGuidelines: Add a note about spaces after redirection
+      CodingGuidelines: do not use 'which' in shell scripts
+
+Tom Grennan (1):
+      t5512 (ls-remote): modernize style
+
+
+Version v1.7.9.2; changes since v1.7.9.1:
+-----------------------------------------
+
+Christian Hammerl (1):
+      completion: Allow dash as the first character for __git_ps1
+
+Clemens Buchacher (4):
+      git rev-list: fix invalid typecast
+      push/fetch/clone --no-progress suppresses progress output
+      t5541: check error message against the real port number used
+      do not override receive-pack errors
+
+Felipe Contreras (3):
+      completion: work around zsh option propagation bug
+      completion: use ls -1 instead of rolling a loop to do that ourselves
+      completion: simplify __gitcomp and __gitcomp_nl implementations
+
+Jakub Narębski (2):
+      gitweb: Allow UTF-8 encoded CGI query parameters and path_info
+      gitweb: Fix 'grep' search for multiple matches in file
+
+Jeff King (12):
+      grep: make locking flag global
+      grep: move sha1-reading mutex into low-level code
+      grep: refactor the concept of "grep source" into an object
+      convert git-grep to use grep_source interface
+      grep: drop grep_buffer's "name" parameter
+      grep: cache userdiff_driver in grep_source
+      grep: respect diff attributes for binary-ness
+      grep: load file data after checking binary-ness
+      grep: pre-load userdiff drivers when threaded
+      standardize and improve lookup rules for external local repos
+      prompt: clean up strbuf usage
+      prompt: fall back to terminal if askpass fails
+
+Jiang Xin (2):
+      i18n: git-commit whence_s "merge/cherry-pick" message
+      i18n: format_tracking_info "Your branch is behind" message
+
+Johannes Sixt (1):
+      Makefile: fix syntax for older make
+
+Junio C Hamano (8):
+      mailmap: always return a plain mail address from map_user()
+      git checkout -b: allow switching out of an unborn branch
+      commit: ignore intent-to-add entries instead of refusing
+      diff --stat: show bars of same length for paths with same amount of changes
+      Update draft release notes to 1.7.9.2
+      Update draft release notes to 1.7.9.2
+      Update draft release notes to 1.7.9.2
+      Git 1.7.9.2
+
+Matthieu Moy (1):
+      fsck: give accurate error message on empty loose object files
+
+Namhyung Kim (2):
+      ctype.c only wants git-compat-util.h
+      ctype: implement islower/isupper macro
+
+Nguyễn Thái Ngọc Duy (3):
+      sha1_file.c: move the core logic of find_pack_entry() into fill_pack_entry()
+      find_pack_entry(): do not keep packed_git pointer locally
+      Use correct grammar in diffstat summary line
+
+Philip Jägenstedt (2):
+      completion: remove stale "to submit patches" documentation
+      completion: use tabs for indentation
+
+Ralf Thielow (2):
+      completion: --edit-description option for git-branch
+      completion: --list option for git-branch
+
+Theodore Ts'o (1):
+      Fix build problems related to profile-directed optimization
+
+Zbigniew Jędrzejewski-Szmek (2):
+      pager: find out the terminal width before spawning the pager
+      man: rearrange git synopsis to fit in 80 lines
+
+Дилян Палаузов (1):
+      Makefile: introduce CHARSET_LIB to link with -lcharset
+
+
+Version v1.7.9.1; changes since v1.7.9:
+---------------------------------------
+
+Adrian Weimann (1):
+      completion: --edit and --no-edit for git-merge
+
+Albert Yale (1):
+      grep: fix -l/-L interaction with decoration lines
+
+Ben Walton (1):
+      Drop system includes from inet_pton/inet_ntop compatibility wrappers
+
+Clemens Buchacher (2):
+      fix push --quiet: add 'quiet' capability to receive-pack
+      dashed externals: kill children on exit
+
+David Aguilar (1):
+      mergetool: Provide an empty file when needed
+
+Jakub Narębski (1):
+      git.spec: Workaround localized messages not put in any RPM
+
+Jeff King (4):
+      run-command: optionally kill children on exit
+      imap-send: remove dead code
+      tag: fix output of "tag -n" when errors occur
+      tag: die when listing missing or corrupt objects
+
+Jens Lehmann (1):
+      submodule add: fix breakage when re-adding a deep submodule
+
+Johannes Schindelin (1):
+      add -e: do not show difference in a submodule that is merely dirty
+
+Junio C Hamano (15):
+      server_supports(): parse feature list more carefully
+      Making pathspec limited log play nicer with --first-parent
+      request-pull: explicitly ask tags/$name to be pulled
+      tests: add write_script helper function
+      parse_date(): allow ancient git-timestamp
+      parse_date(): '@' prefix forces git-timestamp
+      merge: do not create a signed tag merge under --ff-only option
+      branch --edit-description: protect against mistyped branch name
+      Git 1.7.6.6
+      Prepare for 1.7.9.1
+      tag: do not show non-tag contents with "-n"
+      merge: do not launch an editor on "--no-edit $tag"
+      Update draft release notes to 1.7.9.1
+      Update draft release notes to 1.7.9.1
+      Git 1.7.9.1
+
+Michael J Gruber (1):
+      t5541: avoid TAP test miscounting
+
+Michael Palimaka (1):
+      Explicitly set X to avoid potential build breakage
+
+Shawn O. Pearce (1):
+      remote-curl: Fix push status report when all branches fail
+
+Ævar Arnfjörð Bjarmason (3):
+      Makefile: Change the default compiler from "gcc" to "cc"
+      Remove Git's support for smoke testing
+      t: use sane_unset instead of unset
+
+
+Version v1.7.9; changes since v1.7.9-rc2:
+-----------------------------------------
+
+Felipe Contreras (1):
+      git-completion: workaround zsh COMPREPLY bug
+
+Jeff King (1):
+      docs: minor grammar fixes for v1.7.9 release notes
+
+Junio C Hamano (2):
+      INSTALL: warn about recent Fedora breakage
+      Git 1.7.9
+
+Michael Haggerty (1):
+      Fix typo in 1.7.9 release notes
+
+
+Version v1.7.9-rc2; changes since v1.7.9-rc1:
+---------------------------------------------
+
+Jakub Narębski (2):
+      gitweb: Fix file links in "grep" search
+      gitweb: Harden "grep" search against filenames with ':'
+
+Jeff King (3):
+      unix-socket: handle long socket pathnames
+      credential-cache: report more daemon connection errors
+      credential-cache: ignore "connection refused" errors
+
+Jonathan Nieder (1):
+      unix-socket: do not let close() or chdir() clobber errno during cleanup
+
+Junio C Hamano (4):
+      pulling signed tag: add howto document
+      Git 1.7.7.6
+      Git 1.7.8.4
+      Git 1.7.9-rc2
+
+Michael Haggerty (2):
+      git-show-ref: fix escaping in asciidoc source
+      git-show-ref doc: typeset regexp in fixed width font
+
+Nguyễn Thái Ngọc Duy (3):
+      Document limited recursion pathspec matching with wildcards
+      diff-index: enable recursive pathspec matching in unpack_trees
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+Thomas Rast (1):
+      word-diff: ignore '\ No newline at eof' marker
+
+
+Version v1.7.9-rc1; changes since v1.7.9-rc0:
+---------------------------------------------
+
+Ben Walton (1):
+      Use perl instead of sed for t8006-blame-textconv test
+
+Carlos Martín Nieto (1):
+      archive: re-allow HEAD:Documentation on a remote invocation
+
+Clemens Buchacher (1):
+      credentials: unable to connect to cache daemon
+
+Jeff King (5):
+      send-email: multiedit is a boolean config option
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Junio C Hamano (11):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Prepare for 1.7.8.4
+      request-pull: use the real fork point when preparing the message
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Update draft release notes to 1.7.8.4
+      Git 1.7.9-rc1
+
+Matthieu Moy (1):
+      gitweb: accept trailing "/" in $project_list
+
+Michael Haggerty (3):
+      receive-pack: move more work into write_head_info()
+      show_ref(): remove unused "flag" and "cb_data" arguments
+      write_head_info(): handle "extra refs" locally
+
+Nguyễn Thái Ngọc Duy (1):
+      t2203: fix wrong commit command
+
+Sebastian Schuberth (2):
+      t9200: On MSYS, do not pass Windows-style paths to CVS
+      git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
+
+Thomas Rast (1):
+      mailinfo documentation: accurately describe non -k case
+
+
+Version v1.7.9-rc0; changes since v1.7.8.6:
+-------------------------------------------
+
+Anders Kaseorg (2):
+      gitk: Remove unused $cdate array
+      gitk: Remember time zones from author and commit timestamps
+
+Bert Wesarg (14):
+      git-gui: fix multi selected file operation
+      git-gui: handle config booleans without value
+      git-gui: add smart case search mode in searchbar
+      git-gui: add regexp search mode to the searchbar
+      git-gui: add search history to searchbar
+      git-gui: fix unintended line break in message string
+      git-gui: use "untracked" for files which are not known to git
+      git-gui: new config to control staging of untracked files
+      git-gui: fix display of path in browser title
+      git-gui: use a tristate to control the case mode in the searchbar
+      git-gui: span widgets over the full file output area in the blame view
+      git-gui: include the file path in guitools confirmation dialog
+      git-gui: make config gui.warndetachedcommit a boolean
+      git-gui: don't warn for detached head when rebasing
+
+Dejan Ribič (1):
+      git-gui: fix spelling error in sshkey.tcl
+
+Gary Gibbons (5):
+      git-p4: ensure submit clientPath exists before chdir
+      git-p4: use absolute directory for PWD env var
+      git-p4: fix test for unsupported P4 Client Views
+      git-p4: sort client views by reverse View number
+      git-p4: support single file p4 client view maps
+
+Gustaf Hendeby (1):
+      Add built-in diff patterns for MATLAB code
+
+Jakub Narębski (6):
+      gitweb: Refactor diff body line classification
+      gitweb: Extract formatting of diff chunk header
+      gitweb: Give side-by-side diff extra CSS styling
+      t9500: Add test for handling incomplete lines in diff by gitweb
+      t9500: Add basic sanity tests for side-by-side diff in gitweb
+      gitweb: Use href(-replay=>1,...) for formats links in "commitdiff"
+
+Jeff King (28):
+      prune: handle --progress/no-progress
+      reachable: per-object progress
+      upload-archive: use start_command instead of fork
+      test-lib: add test_config_global variant
+      t5550: fix typo
+      introduce credentials API
+      credential: add function for parsing url components
+      http: use credential API to get passwords
+      credential: apply helper config
+      credential: add credential.*.username
+      credential: make relevance of http path configurable
+      docs: end-user documentation for the credential subsystem
+      credentials: add "cache" helper
+      strbuf: add strbuf_add*_urlencode
+      imap-send: avoid buffer overflow
+      imap-send: don't check return value of git_getpass
+      move git_getpass to its own source file
+      refactor git_getpass into generic prompt function
+      add generic terminal prompt function
+      credentials: add "store" helper
+      prompt: use git_terminal_prompt
+      t: add test harness for external credential helpers
+      credential: use git_prompt instead of git_getpass
+      Makefile: linux has /dev/tty
+      Makefile: OS X has /dev/tty
+      contrib: add credential helper for OS X Keychain
+      test-lib: redirect stdin of tests
+      pretty: give placeholders to reflog identity
+
+Joey Hess (1):
+      write first for-merge ref to FETCH_HEAD first
+
+Johannes Sixt (1):
+      Makefile: unix sockets may not available on some platforms
+
+Jonathan Nieder (6):
+      gitk: Make vi-style keybindings more vi-like
+      test: add missing "&&" after echo command
+      test: remove a porcelain test that hard-codes commit names
+      t7501 (commit): modernize style
+      test: commit --amend should honor --no-edit
+      test: errors preparing for a test are not special
+
+Jonathon Mah (1):
+      stash: Don't fail if work dir contains file named 'HEAD'
+
+Junio C Hamano (50):
+      branch: add read_branch_desc() helper function
+      format-patch: use branch description in cover letter
+      branch: teach --edit-description option
+      request-pull: modernize style
+      request-pull: state what commit to expect
+      request-pull: use the branch description
+      fmt-merge-msg: use branch.$name.description
+      write_pack_header(): a helper function
+      create_tmp_packfile(): a helper function
+      finish_tmp_packfile(): a helper function
+      Split GPG interface into its own helper library
+      merge: notice local merging of tags and keep it unwrapped
+      fetch: allow "git fetch $there v1.0" to fetch a tag
+      refs DWIMmery: use the same rule for both "git fetch" and others
+      fmt-merge-msg: avoid early returns
+      fmt-merge-msg: package options into a structure
+      fmt-merge-msg: Add contents of merged tag in the merge message
+      merge: make usage of commit->util more extensible
+      merge: record tag objects without peeling in MERGE_HEAD
+      request-pull: use the annotated tag contents
+      commit: copy merged signed tags to headers of merge commit
+      merge: force edit and no-ff mode when merging a tag object
+      commit: teach --amend to carry forward extra headers
+      commit-tree: update the command line parsing
+      commit-tree: teach -m/-F options to read logs from elsewhere
+      commit: teach --gpg-sign option
+      log: --show-signature
+      test "commit -S" and "log --show-signature"
+      pretty: %G[?GS] placeholders
+      gpg-interface: allow use of a custom GPG binary
+      csum-file: introduce sha1file_checkpoint
+      bulk-checkin: replace fast-import based implementation
+      Kick-off the 1.7.9 cycle
+      commit: honour --no-edit
+      Update draft release notes for 1.7.9
+      Update draft release notes to 1.7.9
+      request-pull: update the "pull" command generation logic
+      Update draft release notes to 1.7.9
+      request-pull: do not emit "tag" before the tagname
+      Update draft release notes to 1.7.9
+      commit: do not lose mergetag header when not amending
+      Update draft release notes to 1.7.9
+      Update draft release notes in preparation for 1.7.9-rc0
+      Update draft release notes to 1.7.9
+      verify_signed_buffer: fix stale comment
+      commit --amend -S: strip existing gpgsig headers
+      log-tree.c: small refactor in show_signature()
+      log-tree: show mergetag in log --show-signature output
+      log --show-signature: reword the common two-head merge case
+      Git 1.7.9-rc0
+
+Kato Kazuyoshi (2):
+      gitweb: Add a feature to show side-by-side diff
+      gitweb: Add navigation to select side-by-side diff
+
+Kirill A. Shutemov (1):
+      git-tag: introduce --cleanup option
+
+Linus Torvalds (1):
+      fetch: do not store peeled tag object names in FETCH_HEAD
+
+Martin von Zweigbergk (10):
+      gitk: Fix file highlight when run in subdirectory
+      gitk: Fix "show origin of this line" with separate work tree
+      gitk: Fix "blame parent commit" with separate work tree
+      gitk: Fix "External diff" with separate work tree
+      gitk: Put temporary directory inside .git
+      gitk: Run 'git rev-parse --git-dir' only once
+      gitk: Simplify calculation of gitdir
+      gitk: Show modified files with separate work tree
+      t3401: modernize style
+      t3401: use test_commit in setup
+
+Michael Haggerty (16):
+      struct ref_entry: document name member
+      refs: rename "refname" variables
+      refs: rename parameters result -> sha1
+      clear_ref_array(): rename from free_ref_array()
+      is_refname_available(): remove the "quiet" argument
+      parse_ref_line(): add docstring
+      add_ref(): add docstring
+      is_dup_ref(): extract function from sort_ref_array()
+      refs: change signatures of get_packed_refs() and get_loose_refs()
+      get_ref_dir(): change signature
+      resolve_gitlink_ref(): improve docstring
+      Pass a (ref_cache *) to the resolve_gitlink_*() helper functions
+      resolve_gitlink_ref_recursive(): change to work with struct ref_cache
+      repack_without_ref(): remove temporary
+      create_ref_entry(): extract function from add_ref()
+      add_ref(): take a (struct ref_entry *) parameter
+
+Nguyễn Thái Ngọc Duy (14):
+      fsck: return error code when verify_pack() goes wrong
+      verify_packfile(): check as many object as possible in a pack
+      fsck: avoid reading every object twice
+      fsck: print progress
+      prune: show progress while marking reachable objects
+      Convert many resolve_ref() calls to read_ref*() and ref_exists()
+      checkout,merge: disallow overwriting ignored files with --no-overwrite-ignore
+      Copy resolve_ref() return value for longer use
+      revert: convert resolve_ref() to read_ref_full()
+      Convert resolve_ref+xstrdup to new resolve_refdup function
+      Rename resolve_ref() to resolve_ref_unsafe()
+      merge: abort if fails to commit
+      Convert commit_tree() to take strbuf as message
+      commit_tree(): refuse commit messages that contain NULs
+
+Pat Thoyts (11):
+      git-gui: include the number of untracked files to stage when asking the user
+      git-gui: theme the search and line-number entry fields on blame screen
+      git-gui: catch invalid or complete regular expressions and treat as no match.
+      git-gui: enable the smart case sensitive search only if gui.search.smartcase is true
+      git-gui: set suitable extended window manager hints.
+      git-gui: support underline style when parsing diff output
+      git-gui: sort the numeric ansi codes
+      git-gui: set whitespace warnings appropriate to this project
+      git-gui: added config gui.gcwarning to disable the gc hint message
+      git-gui: handle shell script text filters when loading for blame.
+      git-gui 0.16
+
+Paul Mackerras (1):
+      gitk: Update copyright
+
+Pete Wyckoff (18):
+      git-p4: introduce skipSubmitEdit
+      git-p4: submit test for auto-creating clientPath
+      git-p4: test for absolute PWD problem
+      git-p4: fix skipSubmitEdit regression
+      rename git-p4 tests
+      git-p4: introduce asciidoc documentation
+      git-p4: clone does not use --git-dir
+      git-p4: test cloning with two dirs, clarify doc
+      git-p4: document and test clone --branch
+      git-p4: honor --changesfile option and test
+      git-p4: document and test --import-local
+      git-p4: test --max-changes
+      git-p4: test --keep-path
+      git-p4: test and document --use-client-spec
+      git-p4: document and test submit options
+      git-p4: test client view handling
+      git-p4: rewrite view handling
+      git-p4: view spec documentation
+
+Ramkumar Ramachandra (11):
+      t3200 (branch): fix '&&' chaining
+      test: fix '&&' chaining
+      t3030 (merge-recursive): use test_expect_code
+      t1510 (worktree): fix '&&' chaining
+      t3040 (subprojects-basic): fix '&&' chaining, modernize style
+      revert: free msg in format_todo()
+      revert: make commit subjects in insn sheet optional
+      revert: tolerate extra spaces, tabs in insn sheet
+      revert: simplify getting commit subject in format_todo()
+      t3510 (cherry-pick-sequencer): use exit status
+      t3502, t3510: clarify cherry-pick -m failure
+
+Ramsay Jones (3):
+      builtin/log.c: Fix an "Using plain integer as NULL pointer" warning
+      environment.c: Fix an sparse "symbol not declared" warning
+      fmt-merge-msg.c: Fix an "dubious one-bit signed bitfield" sparse error
+
+Raphael Zimmerer (1):
+      gitk: When a commit contains a note, mark it with a yellow box
+
+René Scharfe (5):
+      read-cache.c: allocate index entries individually
+      cache.h: put single NUL at end of struct cache_entry
+      use struct sha1_array in diff_tree_combined()
+      pass struct commit to diff_tree_combined_merge()
+      submodule: use diff_tree_combined_merge() instead of diff_tree_combined()
+
+SZEDER Gábor (9):
+      completion: document __gitcomp()
+      completion: optimize refs completion
+      completion: make refs completion consistent for local and remote repos
+      completion: improve ls-remote output filtering in __git_refs()
+      completion: support full refs from remote repositories
+      completion: query only refs/heads/ in __git_refs_remotes()
+      completion: improve ls-remote output filtering in __git_refs_remotes()
+      completion: fast initial completion for config 'remote.*.fetch' value
+      completion: remove broken dead code from __git_heads() and __git_tags()
+
+Samuel Bronson (1):
+      git-gui: Set both 16x16 and 32x32 icons on X to pacify Xming.
+
+Steven Walter (1):
+      git-svn.perl: close the edit for propedits even with no mods
+
+Thomas Rast (5):
+      grep: load funcname patterns for -W
+      grep: enable threading with -p and -W using lazy attribute lookup
+      grep: disable threading in non-worktree case
+      test-terminal: set output terminals to raw mode
+      bash completion: use read -r everywhere
+
+Tilman Vogel (1):
+      git-gui: add config value gui.diffopts for passing additional diff options
+
+Vincent van Ravesteijn (4):
+      Compile fix for MSVC: Do not include sys/resources.h
+      Compile fix for MSVC: Include <io.h>
+      MSVC: Remove unneeded header stubs
+      Show error for 'git merge' with unset merge.defaultToUpstream
+
+Yggy King (1):
+      gitk: Make "touching paths" search support backslashes
+
+Ævar Arnfjörð Bjarmason (5):
+      pull: introduce a pull.rebase option to enable --rebase
+      i18n: add infrastructure for translating Git with gettext
+      Fix an enum assignment issue spotted by Sun Studio
+      Fix a bitwise negation assignment issue spotted by Sun Studio
+      Appease Sun Studio by renaming "tmpfile"
+
+
+Version v1.7.8.6; changes since v1.7.8.5:
+-----------------------------------------
+
+Carlos Martín Nieto (1):
+      Documentation: use {asterisk} in rev-list-options.txt when needed
+
+Clemens Buchacher (1):
+      t5541: check error message against the real port number used
+
+D Waitzman (1):
+      Documentation/gitweb: trivial English fixes
+
+Jakub Narębski (1):
+      gitweb: Fix actionless dispatch for non-existent objects
+
+Johannes Sixt (1):
+      t0090: be prepared that 'wc -l' writes leading blanks
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (4):
+      i18n of multi-line advice messages
+      fetch/receive: remove over-pessimistic connectivity check
+      Git 1.7.7.7
+      Git 1.7.8.6
+
+Kirill Smelkov (1):
+      t/Makefile: Use $(sort ...) explicitly where needed
+
+Phil Hord (1):
+      rerere: Document 'rerere remaining'
+
+Shawn O. Pearce (1):
+      remote-curl: Fix push status report when all branches fail
+
+Thomas Rast (13):
+      Add test-scrap-cache-tree
+      Test the current state of the cache-tree optimization
+      Refactor cache_tree_update idiom from commit
+      commit: write cache-tree data when writing index anyway
+      reset: update cache-tree data when appropriate
+      bundle: put strbuf_readline_fd in strbuf.c with adjustments
+      bundle: use a strbuf to scan the log for boundary commits
+      strbuf: improve strbuf_get*line documentation
+      t5704: match tests to modern style
+      t5510: refactor bundle->pack conversion
+      t5510: ensure we stay in the toplevel test dir
+      bundle: keep around names passed to add_pending_object()
+      Document the --histogram diff option
+
+
+Version v1.7.8.5; changes since v1.7.8.4:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -m: only call "notes copy" when rewritten exists and is non-empty
+
+Dmitry V. Levin (1):
+      Makefile: add thread-utils.h to LIB_H
+
+Jeff King (1):
+      imap-send: remove dead code
+
+Jim Meyering (1):
+      am: don't infloop for an empty input file
+
+Junio C Hamano (2):
+      Git 1.7.6.6
+      Git 1.7.8.5
+
+Michał Kiedrowicz (1):
+      grep -P: Fix matching ^ and $
+
+
+Version v1.7.8.4; changes since v1.7.8.3:
+-----------------------------------------
+
+Jeff King (5):
+      send-email: multiedit is a boolean config option
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Junio C Hamano (11):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Prepare for 1.7.8.4
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Update draft release notes to 1.7.8.4
+      Git 1.7.7.6
+      Git 1.7.8.4
+
+Nguyễn Thái Ngọc Duy (2):
+      t2203: fix wrong commit command
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+
+Version v1.7.8.3; changes since v1.7.8.2:
+-----------------------------------------
+
+Brian Harring (1):
+      fix hang in git fetch if pointed at a 0 length bundle
+
+Clemens Buchacher (2):
+      Documentation: read-tree --prefix works with existing subtrees
+      t5550: repack everything into one file
+
+Jack Nagel (1):
+      Add MYMETA.json to perl/.gitignore
+
+Jakub Narębski (1):
+      gitweb: Fix fallback mode of to_utf8 subroutine
+
+Jens Lehmann (1):
+      docs: describe behavior of relative submodule URLs
+
+Junio C Hamano (1):
+      Git 1.7.8.3
+
+Jürgen Kreileder (3):
+      gitweb: Call to_utf8() on input string in chop_and_escape_str()
+      gitweb: esc_html() site name for title in OPML
+      gitweb: Output valid utf8 in git_blame_common('data')
+
+Nguyễn Thái Ngọc Duy (1):
+      Catch invalid --depth option passed to clone or fetch
+
+Thomas Rast (1):
+      Documentation: rerere.enabled is the primary way to configure rerere
+
+
+Version v1.7.8.2; changes since v1.7.8.1:
+-----------------------------------------
+
+Andrew Wong (1):
+      rebase -i: interrupt rebase when "commit --amend" failed during "reword"
+
+Conrad Irwin (1):
+      Update documentation for stripspace
+
+Eric Wong (1):
+      enable SO_KEEPALIVE for connected TCP sockets
+
+Erik Faye-Lund (2):
+      compat/setenv.c: update errno when erroring out
+      compat/setenv.c: error if name contains '='
+
+Jeff King (20):
+      read-cache: let refresh_cache_ent pass up changed flags
+      refresh_index: rename format variables
+      refresh_index: make porcelain output more specific
+      compat/snprintf: don't look at va_list twice
+      docs: mention "-k" for both forms of "git mv"
+      mv: honor --verbose flag
+      mv: make non-directory destination error more clear
+      mv: improve overwrite warning
+      mv: be quiet about overwriting
+      drop "match" parameter from get_remote_heads
+      t5500: give fully-qualified refs to fetch-pack
+      fetch-pack: match refs exactly
+      connect.c: drop path_match function
+      t5540: test DAV push with authentication
+      http-push: enable "proactive auth"
+      use custom rename score during --follow
+      docs: brush up obsolete bits of git-fsck manpage
+      make "git push -v" actually verbose
+      commit, merge: initialize static strbuf
+      remote-curl: don't pass back fake refs
+
+Jelmer Vernooij (1):
+      Fix an incorrect reference to --set-all.
+
+Johan Herland (3):
+      t9301: Fix testcase covering up a bug in fast-import's notes fanout handling
+      t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling
+      fast-import: Fix incorrect fanout level when modifying existing notes refs
+
+Johannes Sixt (1):
+      Compatibility: declare strtoimax() under NO_STRTOUMAX
+
+Jonathan Nieder (9):
+      branch: allow a no-op "branch -M <current-branch> HEAD"
+      Allow checkout -B <current-branch> to update the current branch
+      revert: give --continue handling its own function
+      revert: allow cherry-pick --continue to commit before resuming
+      revert: pass around rev-list args in already-parsed form
+      revert: allow single-pick in the middle of cherry-pick sequence
+      revert: do not remove state until sequence is finished
+      Revert "reset: Make reset remove the sequencer state"
+      revert: stop creating and removing sequencer-old directory
+
+Junio C Hamano (5):
+      checkout -m: no need to insist on having all 3 stages
+      checkout_merged(): squelch false warning from some gcc
+      lf_to_crlf_filter(): resurrect CRLF->CRLF hack
+      advice: Document that they all default to true
+      Git 1.7.8.2
+
+Nick Alcock (2):
+      Add strtoimax() compatibility function.
+      Support sizes >=2G in various config options accepting 'g' sizes.
+
+Pete Harlan (1):
+      Test 'checkout -m -- path'
+
+Thomas Jarosch (1):
+      imap-send: Remove unused 'use_namespace' variable
+
+Thomas Rast (1):
+      git-sh-setup: make require_clean_work_tree part of the interface
+
+Ævar Arnfjörð Bjarmason (1):
+      t/t2023-checkout-m.sh: fix use of test_must_fail
+
+
+Version v1.7.8.1; changes since v1.7.8:
+---------------------------------------
+
+Brandon Casey (2):
+      t/t4131-apply-fake-ancestor.sh: fix broken test
+      builtin/apply.c: report error on failure to recognize input
+
+Carlos Martín Nieto (2):
+      convert: track state in LF-to-CRLF filter
+      clone: the -o option has nothing to do with <branch>
+
+Erik Faye-Lund (1):
+      mingw: give waitpid the correct signature
+
+Jack Nagel (1):
+      Documentation: fix formatting error in merge-options.txt
+
+Jeff King (5):
+      http: drop "local" member from request struct
+      archive: don't let remote clients get unreachable commits
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Jens Lehmann (1):
+      diff/status: print submodule path when looking for changes fails
+
+Junio C Hamano (9):
+      get_tree_entry(): do not call find_tree_entry() on an empty tree
+      unpack_object_header_buffer(): clear the size field upon error
+      receive-pack, fetch-pack: reject bogus pack that records objects twice
+      pack-object: tolerate broken packs that have duplicated objects
+      Git 1.7.6.5
+      Git 1.7.7.5
+      Update draft release notes for 1.7.8.1
+      lf_to_crlf_filter(): tell the caller we added "\n" when draining
+      Git 1.7.8.1
+
+Martin von Zweigbergk (1):
+      am: don't persist keepcr flag
+
+Michael Haggerty (1):
+      git symbolic-ref: documentation fix
+
+Michael Schubert (2):
+      builtin/commit: add missing '/' in help message
+      builtin/log: remove redundant initialization
+
+Mika Fischer (3):
+      http.c: Use curl_multi_fdset to select on curl fds instead of just sleeping
+      http.c: Use timeout suggested by curl instead of fixed 50ms timeout
+      http.c: Rely on select instead of tracking whether data was received
+
+Nguyễn Thái Ngọc Duy (5):
+      tree-walk.c: do not leak internal structure in tree_entry_len()
+      read_directory_recursive: reduce one indentation level
+      tree_entry_interesting(): give meaningful names to return values
+      tree_entry_interesting: make use of local pointer "item"
+      checkout,merge: loosen overwriting untracked file check based on info/exclude
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Thomas Rast (1):
+      userdiff: allow * between cpp funcname words
+
+Ævar Arnfjörð Bjarmason (3):
+      apply: get rid of useless x < 0 comparison on a size_t type
+      cast variable in call to free() in builtin/diff.c and submodule.c
+      builtin/init-db.c: eliminate -Wformat warning on Solaris
+
+
+Version v1.7.8; changes since v1.7.8-rc4:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.8
+
+
+Version v1.7.8-rc4; changes since v1.7.8-rc3:
+---------------------------------------------
+
+Johannes Sixt (1):
+      Fix revert --abort on Windows
+
+Jonathan Nieder (11):
+      do not let git_path clobber errno when reporting errors
+      notes merge: eliminate OUTPUT macro
+      Makefile: add missing header file dependencies
+      Makefile: add option to disable automatic dependency generation
+      revert: rename --reset option to --quit
+      revert: rearrange pick_revisions() for clarity
+      revert: improve error message for cherry-pick during cherry-pick
+      revert: write REVERT_HEAD pseudoref during conflicted revert
+      revert: introduce --abort to cancel a failed cherry-pick
+      revert: remove --reset compatibility option
+      revert --abort: do not leave behind useless sequencer-old directory
+
+Junio C Hamano (5):
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.7.4
+      Hopefully final update of release notes before 1.7.8 final
+      Update 1.7.8 draft release notes in preparation for rc4
+      Git 1.7.8-rc4
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+Nguyễn Thái Ngọc Duy (1):
+      revert: do not pass non-literal string as format to git_path()
+
+Ramkumar Ramachandra (4):
+      http: remove unused function hex()
+      convert: don't mix enum with int
+      sha1_file: don't mix enum with int
+      git-compat-util: don't assume value for undefined variable
+
+Ramsay Jones (3):
+      t5501-*.sh: Fix url passed to clone in setup test
+      config.c: Fix a static buffer overwrite bug by avoiding mkpath()
+      convert.c: Fix return type of git_path_check_eol()
+
+Thomas Hochstein (1):
+      documentation fix: git difftool uses diff tools, not merge tools.
+
+Vincent van Ravesteijn (2):
+      builtin-branch: Fix crash on invalid use of --force
+      builtin-reset: Documentation update
+
+
+Version v1.7.8-rc3; changes since v1.7.8-rc2:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "upload-archive: use start_command instead of fork"
+      refs: loosen over-strict "format" check
+      Git 1.7.8-rc3
+
+Ramkumar Ramachandra (1):
+      revert: prettify fatal messages
+
+
+Version v1.7.8-rc2; changes since v1.7.8-rc1:
+---------------------------------------------
+
+Felipe Contreras (1):
+      remote: fix remote set-url usage
+
+Jeff King (1):
+      docs: don't mention --quiet or --exit-code in git-log(1)
+
+Junio C Hamano (5):
+      remote: fix set-branches usage
+      docs: Update install-doc-quick
+      Git 1.7.7.3
+      Update draft release notes to 1.7.8
+      Git 1.7.8-rc2
+
+Liu Yuan (1):
+      mktree: fix a memory leak in write_tree()
+
+SZEDER Gábor (1):
+      completion: don't leak variable from the prompt into environment
+
+
+Version v1.7.8-rc1; changes since v1.7.8-rc0:
+---------------------------------------------
+
+Dan McGee (4):
+      pack-objects: mark add_to_write_order() as inline
+      pack-objects: use unsigned int for counter and offset values
+      pack-objects: rewrite add_descendants_to_write_order() iteratively
+      pack-objects: don't traverse objects unnecessarily
+
+Erik Faye-Lund (4):
+      mingw: move poll out of sys-folder
+      compat/win32/poll.c: upgrade from upstream
+      upload-archive: use start_command instead of fork
+      mingw: poll.h is no longer in sys/
+
+Johannes Sixt (1):
+      name-hash.c: always initialize dir_next pointer
+
+Junio C Hamano (5):
+      (squash) test for previous
+      Git 1.7.7.2
+      Update draft release notes to 1.7.8
+      receive-pack: do not expect object 0{40} to exist
+      Git 1.7.8-rc1
+
+Nguyễn Thái Ngọc Duy (2):
+      pretty.c: free get_header() return value
+      pretty.c: use original commit message if reencoding fails
+
+Pat Thoyts (1):
+      t7511: avoid use of reserved filename on Windows.
+
+Pete Wyckoff (1):
+      git-p4: ignore apple filetype
+
+Sebastian Schuberth (2):
+      blame.c: Properly initialize strbuf after calling, textconv_object()
+      blame.c: Properly initialize strbuf after calling textconv_object(), again
+
+Stefan Naewe (2):
+      t3200: add test case for 'branch -m'
+      http: don't always prompt for password
+
+Tay Ray Chuan (1):
+      branch -m: handle no arg properly
+
+Ted Percival (1):
+      svn: Quote repository root in regex match
+
+Ævar Arnfjörð Bjarmason (2):
+      t/t6030-bisect-porcelain.sh: use test_i18ngrep
+      t/t7508-status.sh: use test_i18ncmp
+
+
+Version v1.7.8-rc0; changes since v1.7.7.7:
+-------------------------------------------
+
+Bert Wesarg (7):
+      grep: do not use --index in the short usage output
+      grep --no-index: don't use git standard exclusions
+      git-gui: search and linenumber input are mutual exclusive in the blame view
+      git-gui: only accept numbers in the goto-line input
+      git-gui: clear the goto line input when hiding
+      git-gui: incremental goto line in blame view
+      grep: fix the error message that mentions --exclude
+
+Brad King (2):
+      submodule: Demonstrate known breakage during recursive merge
+      submodule: Search for merges only at end of recursive merge
+
+Brandon Casey (8):
+      t/t3905: use the name 'actual' for test output, swap arguments to test_cmp
+      git-stash.sh: fix typo in error message
+      t/t3905: add missing '&&' linkage
+      git-stash: remove untracked/ignored directories when stashed
+      refs.c: ensure struct whose member may be passed to realloc is initialized
+      refs.c: abort ref search if ref array is empty
+      refs.c: free duplicate entries in the ref array instead of leaking them
+      t/t3000-ls-files-others.sh: use $SHELL_PATH to run git-new-workdir script
+
+Carlos Martín Nieto (1):
+      Documentation: update [section.subsection] to reflect what git does
+
+Chris Packham (1):
+      git-web--browse: avoid the use of eval
+
+Christoffer Pettersson (1):
+      git-gui: Corrected a typo in the Swedish translation of 'Continue'
+
+Clemens Buchacher (5):
+      remove prefix argument from pathspec_prefix
+      rename pathspec_prefix() to common_prefix() and move to dir.[ch]
+      send-email: add option -h
+      use -h for synopsis and --help for manpage consistently
+      use test number as port number
+
+Cord Seele (3):
+      Add Git::config_path()
+      use new Git::config_path() for aliasesfile
+      send-email: Fix %config_path_settings handling
+
+Dan McGee (2):
+      tree-walk: drop unused parameter from match_dir_prefix
+      tree-walk: micro-optimization in tree_entry_interesting
+
+David Aguilar (1):
+      Makefile: Improve compiler header dependency check
+
+David Fries (2):
+      git-gui: Enable jumping to a specific line number in blame view.
+      git-gui: Add keyboard shortcuts for search and goto commands in blame view.
+
+Dmitry Ivankov (3):
+      Fix typo: existant->existent
+      fast-import: don't allow to tag empty branch
+      fast-import: don't allow to note on empty branch
+
+Drew Northup (1):
+      gitweb: Add gitweb.conf(5) manpage for gitweb configuration files
+
+Erik Faye-Lund (2):
+      enter_repo: do not modify input
+      mingw: avoid using strbuf in syslog
+
+Fredrik Gustafsson (2):
+      rev-parse: add option --resolve-git-dir <path>
+      Move git-dir for submodules
+
+Fredrik Kuivinen (1):
+      Makefile: Use computed header dependencies if the compiler supports it
+
+Frédéric Heitzmann (1):
+      git svn dcommit: new option --interactive.
+
+Giuseppe Bilotta (1):
+      am: preliminary support for hg patches
+
+Heiko Voigt (4):
+      git-gui: warn when trying to commit on a detached head
+      submodule: move update configuration variable further up
+      add update 'none' flag to disable update of submodule by default
+      git-gui: deal with unknown files when pressing the "Stage Changed" button
+
+Hui Wang (1):
+      sha1_file: normalize alt_odb path before comparing and storing
+
+Jakub Narębski (5):
+      gitweb: Add gitweb(1) manpage for gitweb itself
+      Documentation: Link to gitweb(1) and gitweb.conf(5) in other manpages
+      Documentation: Add gitweb config variables to git-config(1)
+      gitweb: Add gitweb manpages to 'gitweb' package in git.spec
+      Add simple test for Git::config_path() in t/t9700-perl-git.sh
+
+Jay Soffian (5):
+      Teach '--cached' option to check-attr
+      log --children
+      revert.c: defer writing CHERRY_PICK_HEAD till it is safe to do so
+      cherry-pick: do not give irrelevant advice when cherry-pick punted
+      Teach merge the '[-e|--edit]' option
+
+Jeff King (20):
+      url: decode buffers that are not NUL-terminated
+      improve httpd auth tests
+      remote-curl: don't retry auth failures with dumb protocol
+      http: retry authentication failures for all http requests
+      t7004: factor out gpg setup
+      t6300: add more body-parsing tests
+      for-each-ref: refactor subject and body placeholder parsing
+      for-each-ref: handle multiline subjects like --pretty
+      t3200: clean up checks for file existence
+      fix phantom untracked files when core.ignorecase is set
+      t1300: put git invocations inside test function
+      t1300: test mixed-case variable retrieval
+      pack-objects: protect against disappearing packs
+      downgrade "packfile cannot be accessed" errors to warnings
+      daemon: give friendlier error messages to clients
+      http_init: accept separate URL parameter
+      contrib: add diff highlight script
+      tests: add missing executable bits
+      contrib: add git-jump script
+      completion: match ctags symbol names in grep patterns
+
+Jeremie Nikaes (1):
+      Add a remote helper to interact with mediawiki (fetch & push)
+
+Johannes Schindelin (5):
+      Fix is_gitfile() for files too small or larger than PATH_MAX to be a gitfile
+      t1020: disable the pwd test on MinGW
+      t9001: do not fail only due to CR/LF issues
+      t9300: do not run --cat-blob-fd related tests on MinGW
+      git grep: be careful to use mutexes only when they are initialized
+
+Johannes Sixt (2):
+      t1402-check-ref-format: skip tests of refs beginning with slash on Windows
+      t1300: attempting to remove a non-existent .git/config is not an error
+
+Jonathan Nieder (3):
+      ident: check /etc/mailname if email is unknown
+      ident: do not retrieve default ident when unnecessary
+      Makefile: fix permissions of mergetools/ checked out with permissive umask
+
+Julian Phillips (2):
+      Don't sort ref_list too early
+      refs: Use binary search to lookup refs faster
+
+Junio C Hamano (47):
+      rev-list: fix finish_object() call
+      revision.c: add show_object_with_name() helper function
+      revision.c: update show_object_with_name() without using malloc()
+      list-objects: pass callback data to show_objects()
+      rev-list --verify-object
+      fetch: verify we have everything we need before updating our ref
+      fetch.fsckobjects: verify downloaded objects
+      transfer.fsckobjects: unify fetch/receive.fsckobjects
+      test: fetch/receive with fsckobjects
+      consolidate pathspec_prefix and common_prefix
+      fetch: verify we have everything we need before updating our ref
+      check_everything_connected(): refactor to use an iterator
+      check_everything_connected(): libify
+      receive-pack: check connectivity before concluding "git push"
+      builtin/revert.c: make commit_list_append() static
+      refs.c: make create_cached_refs() static
+      send-pack: typofix error message
+      rename "match_refs()" to "match_push_refs()"
+      Allow git merge ":/<pattern>"
+      ls-remote: a lone "-h" is asking for help
+      t0003: remove extra whitespaces
+      parse-options: deprecate OPT_BOOLEAN
+      archive.c: use OPT_BOOL()
+      url.c: simplify is_url()
+      grep: teach --untracked and --exclude-standard options
+      Post 1.7.7 first wave
+      Update draft release notes to 1.7.8
+      refs.c: move dwim_ref()/dwim_log() from sha1_name.c
+      Update draft release notes to 1.7.8
+      bundle: allowing to read from an unseekable fd
+      bundle: add parse_bundle_header() helper function
+      Update draft release notes to 1.7.8
+      t7800: avoid arithmetic expansion notation
+      Update draft release notes to 1.7.8
+      resolve_gitlink_packed_ref(): fix mismerge
+      Update draft release notes to 1.7.8
+      Makefile: ask "ls-files" to list source files if available
+      libperl-git: refactor Git::config_*
+      Update draft release notes to 1.7.8
+      resolve_ref(): expose REF_ISBROKEN flag
+      resolve_ref(): report breakage to the caller without warning
+      Update draft release notes to 1.7.8
+      builtin/grep: make lock/unlock into static inline functions
+      builtin/grep: simplify lock_and_read_sha1_file()
+      Update draft release notes to 1.7.8
+      Update draft release notes to 1.7.8
+      Git 1.7.8-rc0
+
+Luke Diamand (1):
+      git-p4: handle files with shell metacharacters
+
+Lénaïc Huard (1):
+      gitweb: provide a way to customize html headers
+
+Matthieu Moy (6):
+      git-remote-mediawiki: allow push to set MediaWiki metadata
+      git-remote-mediawiki: trivial fixes
+      git-remote-mediawiki: set 'basetimestamp' to let the wiki handle conflicts
+      git-remote-mediawiki: obey advice.pushNonFastForward
+      git-remote-mediawiki: allow a domain to be set for authentication
+      git-remote-mediawiki: don't include HTTP login/password in author
+
+Michael Haggerty (36):
+      Extract a function clear_cached_refs()
+      Access reference caches only through new function get_cached_refs()
+      Change the signature of read_packed_refs()
+      Allocate cached_refs objects dynamically
+      Store the submodule name in struct cached_refs
+      Retain caches of submodule refs
+      get_sha1_hex(): do not read past a NUL character
+      t1402: add some more tests
+      git check-ref-format: add options --allow-onelevel and --refspec-pattern
+      Change bad_ref_char() to return a boolean value
+      Change check_ref_format() to take a flags argument
+      Refactor check_refname_format()
+      Do not allow ".lock" at the end of any refname component
+      Make collapse_slashes() allocate memory for its result
+      Inline function refname_format_print()
+      Change check_refname_format() to reject unnormalized refnames
+      resolve_ref(): explicitly fail if a symlink is not readable
+      resolve_ref(): use prefixcmp()
+      resolve_ref(): only follow a symlink that contains a valid, normalized refname
+      resolve_ref(): turn buffer into a proper string as soon as possible
+      resolve_ref(): extract a function get_packed_ref()
+      resolve_ref(): do not follow incorrectly-formatted symbolic refs
+      remote: use xstrdup() instead of strdup()
+      remote: avoid passing NULL to read_ref()
+      resolve_ref(): verify that the input refname has the right format
+      resolve_ref(): emit warnings for improperly-formatted references
+      resolve_ref(): also treat a too-long SHA1 as invalid
+      resolve_ref(): expand documentation
+      add_ref(): verify that the refname is formatted correctly
+      invalidate_ref_cache(): rename function from invalidate_cached_refs()
+      invalidate_ref_cache(): take the submodule as parameter
+      invalidate_ref_cache(): expose this function in the refs API
+      clear_ref_cache(): rename parameter
+      clear_ref_cache(): extract two new functions
+      write_ref_sha1(): only invalidate the loose ref cache
+      clear_ref_cache(): inline function
+
+Michael J Gruber (7):
+      t6040: test branch -vv
+      git-tag: introduce long forms for the options
+      git-branch: introduce missing long forms for the options
+      branch: introduce --list option
+      branch: allow pattern arguments
+      branch: -v does not automatically imply --list
+      http: use hostname in credential description
+
+Michael W. Olson (1):
+      git-svn: Allow certain refs to be ignored
+
+Michał Górny (1):
+      for-each-ref: add split message parts to %(contents:*).
+
+Nguyễn Thái Ngọc Duy (6):
+      sparse checkout: show error messages when worktree shaping fails
+      Add explanation why we do not allow to sparse checkout to empty working tree
+      pack-protocol: document "ERR" line
+      daemon: return "access denied" if a service is not allowed
+      daemon: log errors if we could not use some sockets
+      t5403: convert leading spaces to tabs
+
+Pang Yan Han (1):
+      receive-pack: don't pass non-existent refs to post-{receive,update} hooks
+
+Pat Thoyts (6):
+      git-gui: updated translator README for current procedures.
+      Fix tooltip display with multiple monitors on windows.
+      git-gui: drop the 'n' and 'Shift-n' bindings from the last patch.
+      mergetools: use the correct tool for Beyond Compare 3 on Windows
+      mingw: ensure sockets are initialized before calling gethostname
+      t9901: fix line-ending dependency on windows
+
+Pete Wyckoff (5):
+      git-p4 tests: refactor and cleanup
+      git-p4: handle utf16 filetype properly
+      git-p4: recognize all p4 filetypes
+      git-p4: stop ignoring apple filetype
+      git-p4: keyword flattening fixes
+
+Peter Oberndorfer (1):
+      "rebase -i": support special-purpose editor to edit insn sheet
+
+Phil Hord (3):
+      Learn to handle gitfiles in enter_repo
+      Teach transport about the gitfile mechanism
+      Add test showing git-fetch groks gitfiles
+
+Ramkumar Ramachandra (18):
+      advice: Introduce error_resolve_conflict
+      config: Introduce functions to write non-standard file
+      revert: Simplify and inline add_message_to_msg
+      revert: Don't check lone argument in get_encoding
+      revert: Rename no_replay to record_origin
+      revert: Eliminate global "commit" variable
+      revert: Introduce struct to keep command-line options
+      revert: Separate cmdline parsing from functional code
+      revert: Don't create invalid replay_opts in parse_args
+      revert: Save data for continuing after conflict resolution
+      revert: Save command-line options for continuing operation
+      revert: Make pick_commits functionally act on a commit list
+      revert: Introduce --reset to remove sequencer state
+      reset: Make reset remove the sequencer state
+      revert: Remove sequencer state when no commits are pending
+      revert: Don't implicitly stomp pending sequencer operation
+      revert: Introduce --continue to continue the operation
+      revert: Propagate errors upwards from do_pick_commit
+
+Ramsay Jones (5):
+      Makefile: Make dependency directory creation less noisy
+      sparse: Fix an "Using plain integer as NULL pointer" warning
+      obstack.c: Fix some sparse warnings
+      Fix some "variable might be used uninitialized" warnings
+      gitweb/Makefile: Remove static/gitweb.js in the clean target
+
+René Scharfe (23):
+      parseopt: add OPT_NOOP_NOARG
+      revert: use OPT_NOOP_NOARG
+      apply: use OPT_NOOP_NOARG
+      checkout: check for "Previous HEAD" notice in t2020
+      revision: factor out add_pending_sha1
+      checkout: use add_pending_{object,sha1} in orphan check
+      revision: add leak_pending flag
+      bisect: use leak_pending flag
+      bundle: use leak_pending flag
+      checkout: use leak_pending flag
+      commit: factor out clear_commit_marks_for_object_array
+      test-ctype: macrofy
+      test-ctype: add test for is_pathspec_magic
+      name-rev: split usage string
+      pickaxe: plug diff filespec leak with empty needle
+      pickaxe: plug regex leak
+      pickaxe: plug regex/kws leak
+      pickaxe: factor out has_changes
+      pickaxe: pass diff_options to contains and has_changes
+      pickaxe: give diff_grep the same signature as has_changes
+      pickaxe: factor out pickaxe
+      xdiff: factor out get_func_line()
+      diff: add option to show whole functions as context
+
+SZEDER Gábor (2):
+      completion: unite --reuse-message and --reedit-message for 'notes'
+      completion: unite --format and --pretty for 'log' and 'show'
+
+Sebastian Schuberth (2):
+      git-svn: On MSYS, escape and quote SVN_SSH also if set by the user
+      inet_ntop.c: Work around GCC 4.6's detection of uninitialized variables
+
+Sitaram Chamarty (1):
+      git-difftool: allow skipping file by typing 'n' at prompt
+
+Stefan Naewe (1):
+      completion: fix issue with process substitution not working on Git for Windows
+
+Tay Ray Chuan (3):
+      fetch: plug two leaks on error exit in store_updated_refs
+      submodule: whitespace fix
+      submodule::module_clone(): silence die() message from module_name()
+
+Teemu Matilainen (3):
+      completion: unite --reuse-message and --reedit-message handling
+      completion: commit --fixup and --squash
+      completion: push --set-upstream
+
+Zbigniew Jędrzejewski-Szmek (1):
+      send-email: auth plain/login fix
+
+
+Version v1.7.7.7; changes since v1.7.7.6:
+-----------------------------------------
+
+Jeff King (1):
+      imap-send: remove dead code
+
+Jonathan Nieder (1):
+      bundle: remove stray single-quote from error message
+
+Junio C Hamano (2):
+      Git 1.7.6.6
+      Git 1.7.7.7
+
+Thomas Rast (1):
+      Document the --histogram diff option
+
+
+Version v1.7.7.6; changes since v1.7.7.5:
+-----------------------------------------
+
+Clemens Buchacher (1):
+      Documentation: read-tree --prefix works with existing subtrees
+
+Jack Nagel (1):
+      Add MYMETA.json to perl/.gitignore
+
+Jeff King (4):
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+
+Jens Lehmann (1):
+      docs: describe behavior of relative submodule URLs
+
+Junio C Hamano (8):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Prepare for 1.7.7.6
+      Update draft release notes to 1.7.6.6
+      Update draft release notes to 1.7.7.6
+      Git 1.7.7.6
+
+Nguyễn Thái Ngọc Duy (2):
+      t2203: fix wrong commit command
+      diff-index: enable recursive pathspec matching in unpack_trees
+
+Thomas Rast (1):
+      Documentation: rerere.enabled is the primary way to configure rerere
+
+
+Version v1.7.7.5; changes since v1.7.7.4:
+-----------------------------------------
+
+Erik Faye-Lund (1):
+      mingw: give waitpid the correct signature
+
+Jeff King (3):
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Junio C Hamano (2):
+      Git 1.7.6.5
+      Git 1.7.7.5
+
+Martin von Zweigbergk (1):
+      am: don't persist keepcr flag
+
+Michael Haggerty (1):
+      git symbolic-ref: documentation fix
+
+Nguyễn Thái Ngọc Duy (1):
+      checkout,merge: loosen overwriting untracked file check based on info/exclude
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Thomas Hochstein (1):
+      documentation fix: git difftool uses diff tools, not merge tools.
+
+Ævar Arnfjörð Bjarmason (2):
+      apply: get rid of useless x < 0 comparison on a size_t type
+      cast variable in call to free() in builtin/diff.c and submodule.c
+
+
+Version v1.7.7.4; changes since v1.7.7.3:
+-----------------------------------------
+
+Jonathan Nieder (2):
+      notes merge: eliminate OUTPUT macro
+      Makefile: add missing header file dependencies
+
+Junio C Hamano (2):
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.7.4
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+
+Version v1.7.7.3; changes since v1.7.7.2:
+-----------------------------------------
+
+Dan McGee (4):
+      pack-objects: mark add_to_write_order() as inline
+      pack-objects: use unsigned int for counter and offset values
+      pack-objects: rewrite add_descendants_to_write_order() iteratively
+      pack-objects: don't traverse objects unnecessarily
+
+Jeff King (1):
+      docs: don't mention --quiet or --exit-code in git-log(1)
+
+Julien Muchembled (1):
+      gitweb: fix regression when filtering out forks
+
+Junio C Hamano (3):
+      branch -m/-M: remove undocumented RENAMED-REF
+      docs: Update install-doc-quick
+      Git 1.7.7.3
+
+
+Version v1.7.7.2; changes since v1.7.7.1:
+-----------------------------------------
+
+Brandon Casey (4):
+      attr.c: avoid inappropriate access to strbuf "buf" member
+      cleanup: use internal memory allocation wrapper functions everywhere
+      builtin/mv.c: plug miniscule memory leak
+      attr.c: respect core.ignorecase when matching attribute patterns
+
+Carlos Martín Nieto (6):
+      Remove 'working copy' from the documentation and C code
+      fetch: free all the additional refspecs
+      t5510: add tests for fetch --prune
+      remote: separate out the remote_find_tracking logic into query_refspecs
+      fetch: honor the user-provided refspecs when pruning refs
+      fetch: treat --tags like refs/tags/*:refs/tags/* when pruning
+
+Christian Couder (1):
+      bisect: fix exiting when checkout failed in bisect_start()
+
+Haitao Li (1):
+      date.c: Support iso8601 timezone formats
+
+Jakub Narębski (1):
+      gitweb: Strip non-printable characters from syntax highlighter output
+
+Jeff King (8):
+      add sha1_array API docs
+      quote.h: fix bogus comment
+      refactor argv_array into generic code
+      quote: provide sq_dequote_to_argv_array
+      bisect: use argv_array API
+      checkout: use argv_array API
+      run_hook: use argv_array API
+      pull,rebase: handle GIT_WORK_TREE better
+
+Jim Meyering (1):
+      make the sample pre-commit hook script reject names with newlines, too
+
+Jonathan Nieder (2):
+      http: remove extra newline in error message
+      http: avoid empty error messages for some curl errors
+
+Jonathon Mah (1):
+      mergetool: Use args as pathspec to unmerged files
+
+Junio C Hamano (5):
+      refactor run_receive_hook()
+      diff: teach --stat/--numstat to honor -U$num
+      mergetool: no longer need to save standard input
+      attr: read core.attributesfile from git_default_core_config
+      Git 1.7.7.2
+
+Martin von Zweigbergk (4):
+      remote: write correct fetch spec when renaming remote 'remote'
+      remote: "rename o foo" should not rename ref "origin/bar"
+      remote rename: warn when refspec was not updated
+      remote: only update remote-tracking branch if updating refspec
+
+Matthew Daley (1):
+      send-email: Honour SMTP domain when using TLS
+
+Michael Haggerty (1):
+      notes_merge_commit(): do not pass temporary buffer to other function
+
+Michael J Gruber (3):
+      unpack-trees: print "Aborting" to stderr
+      git-read-tree.txt: language and typography fixes
+      git-read-tree.txt: correct sparse-checkout and skip-worktree description
+
+Nguyễn Thái Ngọc Duy (2):
+      git-read-tree.txt: update sparse checkout examples
+      Reindent closing bracket using tab instead of spaces
+
+Pat Thoyts (1):
+      t7511: avoid use of reserved filename on Windows.
+
+Peter Stuge (1):
+      gitweb: Fix links to lines in blobs when javascript-actions are enabled
+
+Ramsay Jones (1):
+      t9159-*.sh: skip for mergeinfo test for svn <= 1.4
+
+René Scharfe (1):
+      read-cache.c: fix index memory allocation
+
+Richard Hartmann (1):
+      clone: Quote user supplied path in a single quote pair
+
+Shawn O. Pearce (1):
+      remote-curl: Fix warning after HTTP failure
+
+Stefan Naewe (1):
+      Documentation/git-update-index: refer to 'ls-files'
+
+Thomas Rast (1):
+      Documentation: basic configuration of notes.rewriteRef
+
+
+Version v1.7.7.1; changes since v1.7.7:
+---------------------------------------
+
+Brad King (1):
+      rev-list: Demonstrate breakage with --ancestry-path --all
+
+Brandon Casey (1):
+      strbuf.c: remove unnecessary strbuf_grow() from strbuf_getwholeline()
+
+Ilari Liusvaara (1):
+      Support ERR in remote archive like in fetch/push
+
+Jay Soffian (1):
+      merge-one-file: fix "expr: non-numeric argument"
+
+Jeff King (2):
+      fetch: avoid quadratic loop checking for updated submodules
+      filter-branch: use require_clean_work_tree
+
+Jim Meyering (1):
+      fix "git apply --index ..." not to deref NULL
+
+Jonathan Nieder (2):
+      Makefile: do not set setgid bit on directories on GNU/kFreeBSD
+      RelNotes/1.7.7.1: setgid bit patch is about fixing "git init" via Makefile setting
+
+Junio C Hamano (14):
+      revision: keep track of the end-user input from the command line
+      revision: do not include sibling history in --ancestry-path output
+      rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
+      traverse_trees(): allow pruning with pathspec
+      unpack-trees: allow pruning with pathspec
+      diff-index: pass pathspec down to unpack-trees machinery
+      fsck: do not abort upon finding an empty blob
+      Teach progress eye-candy to fetch_refs_from_bundle()
+      apply --whitespace=error: correctly report new blank lines at end
+      checkout $tree $path: do not clobber local changes in $path not in $tree
+      diff: resurrect XDF_NEED_MINIMAL with --minimal
+      Prepare for 1.7.7.1
+      Almost ready for 1.7.7.1
+      Git 1.7.7.1
+
+Matthieu Moy (2):
+      rebase -i: clean error message for --continue after failed exec
+      config: display key_delim for config --bool --get-regexp
+
+Michael Schubert (1):
+      patch-id.c: use strbuf instead of a fixed buffer
+
+Nguyễn Thái Ngọc Duy (4):
+      merge: keep stash[] a local variable
+      merge: use return value of resolve_ref() to determine if HEAD is invalid
+      merge: remove global variable head[]
+      Accept tags in HEAD or MERGE_HEAD
+
+Nicolas Morey-Chaisemartin (1):
+      grep: Fix race condition in delta_base_cache
+
+René Scharfe (2):
+      Revert removal of multi-match discard heuristic in 27af01
+      t1304: fall back to $USER if $LOGNAME is not defined
+
+Thomas Rast (2):
+      Symlink mergetools scriptlets into valgrind wrappers
+      t6019: avoid refname collision on case-insensitive systems
+
+
+Version v1.7.7; changes since v1.7.7-rc3:
+-----------------------------------------
+
+Gerrit Pape (2):
+      contrib/hooks: adapt comment about Debian install location for contrib hooks
+      templates/hooks--*: remove sample hooks without any functionality
+
+Junio C Hamano (2):
+      Documentation/gitnamespaces.txt: cater to older asciidoc
+      Git 1.7.7
+
+
+Version v1.7.7-rc3; changes since v1.7.7-rc2:
+---------------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Jay Soffian (1):
+      git-mergetool: check return value from read
+
+Jeff King (1):
+      t4014: clean up format.thread config after each test
+
+Junio C Hamano (3):
+      Git 1.7.6.4
+      merge-recursive: Do not look at working tree during a virtual ancestor merge
+      Git 1.7.7-rc3
+
+
+Version v1.7.7-rc2; changes since v1.7.7-rc1:
+---------------------------------------------
+
+Bryan Jacobs (1):
+      git-svn: teach git-svn to populate svn:mergeinfo
+
+Frédéric Heitzmann (1):
+      Disambiguate duplicate t9160* tests
+
+Junio C Hamano (2):
+      branch --set-upstream: regression fix
+      Git 1.7.7-rc2
+
+Pang Yan Han (1):
+      format-patch: ignore ui.color
+
+
+Version v1.7.7-rc1; changes since v1.7.7-rc0:
+---------------------------------------------
+
+Ben Walton (2):
+      Documentation: Grammar correction, wording fixes and cleanup
+      Mark http-fetch without -a as deprecated
+
+Brandon Casey (1):
+      t6030: use $SHELL_PATH to invoke user's preferred shell instead of bare sh
+
+Brian Gernhardt (1):
+      t5540-http-test: shorten grep pattern
+
+Bryan Jacobs (1):
+      git-svn: Teach dcommit --mergeinfo to handle multiple lines
+
+Conrad Irwin (2):
+      Prevent force-updating of the current branch
+      Show interpreted branch name in error messages
+
+Dmitry Ivankov (11):
+      fast-import: add input format tests
+      fast-import: don't fail on omitted committer name
+      fast-import: check committer name more strictly
+      fsck: add a few committer name tests
+      fsck: improve committer/author check
+      fast-import: add a test for tree delta base corruption
+      fast-import: prevent producing bad delta
+      fast-import: count and report # of calls to diff_delta in stats
+      fast-import: treat cat-blob as a delta base hint for next blob
+      fast-import: add tests for tagging blobs
+      fast-import: allow to tag newly created objects
+
+Elijah Newren (55):
+      t6042: Add a testcase where git deletes an untracked file
+      t6042: Add failing testcase for rename/modify/add-source conflict
+      t6042: Add a pair of cases where undetected renames cause issues
+      t6042: Add a testcase where undetected rename causes silent file deletion
+      t6042: Add tests for content issues with modify/rename/directory conflicts
+      t6042: Ensure rename/rename conflicts leave index and workdir in sane state
+      t6042: Add failing testcases for rename/rename/add-{source,dest} conflicts
+      t6036: Add differently resolved modify/delete conflict in criss-cross test
+      t6036: criss-cross with weird content can fool git into clean merge
+      t6036: tests for criss-cross merges with various directory/file conflicts
+      t6036: criss-cross w/ rename/rename(1to2)/modify+rename/rename(2to1)/modify
+      t6036: criss-cross + rename/rename(1to2)/add-source + modify/modify
+      t6022: Remove unnecessary untracked files to make test cleaner
+      t6022: New tests checking for unnecessary updates of files
+      t6022: Add testcase for merging a renamed file with a simple change
+      merge-recursive: Make BUG message more legible by adding a newline
+      merge-recursive: Correct a comment
+      merge-recursive: Mark some diff_filespec struct arguments const
+      merge-recursive: Consolidate different update_stages functions
+      merge-recursive: Remember to free generated unique path names
+      merge-recursive: Avoid working directory changes during recursive case
+      merge-recursive: Fix recursive case with D/F conflict via add/add conflict
+      merge-recursive: Fix sorting order and directory change assumptions
+      merge-recursive: Fix code checking for D/F conflicts still being present
+      merge-recursive: Save D/F conflict filenames instead of unlinking them
+      merge-recursive: Split was_tracked() out of would_lose_untracked()
+      merge-recursive: Allow make_room_for_path() to remove D/F entries
+      merge-recursive: Split update_stages_and_entry; only update stages at end
+      merge-recursive: Fix deletion of untracked file in rename/delete conflicts
+      merge-recursive: Make dead code for rename/rename(2to1) conflicts undead
+      merge-recursive: Add comments about handling rename/add-source cases
+      merge-recursive: Improve handling of rename target vs. directory addition
+      merge-recursive: Consolidate process_entry() and process_df_entry()
+      merge-recursive: Cleanup and consolidation of rename_conflict_info
+      merge-recursive: Provide more info in conflict markers with file renames
+      merge-recursive: When we detect we can skip an update, actually skip it
+      merge-recursive: Fix modify/delete resolution in the recursive case
+      merge-recursive: Introduce a merge_file convenience function
+      merge-recursive: Fix rename/rename(1to2) resolution for virtual merge base
+      merge-recursive: Small cleanups for conflict_rename_rename_1to2
+      merge-recursive: Defer rename/rename(2to1) handling until process_entry
+      merge-recursive: Record more data needed for merging with dual renames
+      merge-recursive: Create function for merging with branchname:file markers
+      merge-recursive: Consider modifications in rename/rename(2to1) conflicts
+      merge-recursive: Make modify/delete handling code reusable
+      merge-recursive: Have conflict_rename_delete reuse modify/delete code
+      merge-recursive: add handling for rename/rename/add-dest/add-dest
+      merge-recursive: Fix working copy handling for rename/rename/add/add
+      t6022: Add testcase for spurious "refusing to lose untracked" messages
+      merge-recursive: Fix spurious 'refusing to lose untracked file...' messages
+      t6022: Additional tests checking for unnecessary updates of files
+      merge-recursive: Avoid unnecessary file rewrites
+      t6036: criss-cross + rename/rename(1to2)/add-dest + simple modify
+      merge-recursive: Fix virtual merge base for rename/rename(1to2)/add-dest
+      merge-recursive: Don't re-sort a list whose order we depend upon
+
+Eric Wong (1):
+      git-svn: fix fetch with moved path when using rewriteRoot
+
+Fredrik Gustafsson (1):
+      push: Don't push a repository with unpushed submodules
+
+Fredrik Kuivinen (6):
+      Add obstack.[ch] from EGLIBC 2.10
+      Add string search routines from GNU grep
+      Adapt the kwset code to Git
+      Use kwset in pickaxe
+      Use kwset in grep
+      obstack: Fix portability issues
+
+Giuseppe Bilotta (2):
+      am: format is in $patch_format, not parse_patch
+      am: fix stgit patch mangling
+
+Jeff King (12):
+      t3030: fix accidental success in symlink rename
+      t7006: modernize calls to unset
+      test-lib: add helper functions for config
+      t7006: use test_config helpers
+      setup_pager: set GIT_PAGER_IN_USE
+      diff: refactor COLOR_DIFF from a flag into an int
+      git_config_colorbool: refactor stdout_is_tty handling
+      color: delay auto-color decision until point of use
+      config: refactor get_colorbool function
+      diff: don't load color config in plumbing
+      want_color: automatically fallback to color.ui
+      support pager.* for external commands
+
+Jens Lehmann (1):
+      fetch: skip on-demand checking when no submodules are configured
+
+Johannes Sixt (2):
+      string-list: Add API to remove an item from an unsorted list
+      t3005: do not assume a particular order of stdout and stderr of git-ls-files
+
+Jon Seymour (1):
+      bisect: take advantage of gettextln, eval_gettextln.
+
+Jonathan Nieder (1):
+      Documentation/remote-helpers: explain capabilities first
+
+Junio C Hamano (14):
+      combine-diff: support format_callback
+      read_gitfile_gently(): rename misnamed function to read_gitfile()
+      clone: allow more than one --reference
+      clone: clone from a repository with relative alternates
+      Update draft release notes to 1.7.7
+      Documentation: clarify "git clean -e <pattern>"
+      Update draft release notes to 1.7.7
+      Revert "Merge branch 'cb/maint-quiet-push' into maint"
+      Git 1.7.6.2
+      Update draft release notes to 1.7.7
+      Minor update to how-to maintain git
+      Prepare for 1.7.6.3 maintenance release
+      Git 1.7.6.3
+      Git 1.7.7-rc1
+
+Matthieu Moy (2):
+      Documentation/git-remote-helpers: explain how import works with multiple refs
+      (short) documentation for the testgit remote helper
+
+Michael Haggerty (9):
+      Add a file comment
+      Document struct match_attr
+      Increment num_attr in parse_attr_line(), not parse_attr()
+      Change parse_attr() to take a pointer to struct attr_state
+      Determine the start of the states outside of the pass loop
+      Change while loop into for loop
+      Unroll the loop over passes
+      check-ref-format --print: Normalize refnames that start with slashes
+      Forbid DEL characters in reference names
+
+Michael J Gruber (3):
+      git-notes.txt: clarify -C vs. copy and -F
+      log: Do not decorate replacements with --no-replace-objects
+      RelNotes/1.7.7: minor fixes
+
+Michael Stapelberg (1):
+      git-daemon.txt: specify --timeout in seconds
+
+Namhyung Kim (1):
+      branch -v: honor core.abbrev
+
+Nguyễn Thái Ngọc Duy (6):
+      decoration: do not mis-decorate refs with same prefix
+      Add for_each_commit_graft() to iterate all grafts
+      Move write_shallow_commits to fetch-pack.c
+      log: decorate grafted commits with "grafted"
+      log: decorate "replaced" on to replaced commits
+      clone: allow to clone from .git file
+
+Pete Wyckoff (1):
+      git-p4: simple branch tests edits
+
+Ray Chen (1):
+      git-svn: New flag to emulate empty directories
+
+Sverre Rabbelier (1):
+      SubmittingPathces: remove Cogito reference
+
+Tay Ray Chuan (2):
+      xdiff/xprepare: improve O(n*m) performance in xdl_cleanup_records()
+      xdiff/xprepare: initialise xdlclassifier_t cf in xdl_prepare_env()
+
+Thomas Rast (8):
+      Use memmove in ident_to_git
+      t4014: check for empty files from git format-patch --stdout
+      t4014: invoke format-patch with --stdout where intended
+      t4014: "no-add-headers" is actually called "no-add-header"
+      Document negated forms of format-patch --to --cc --add-headers
+      strbuf_grow(): maintain nul-termination even for new buffer
+      Documentation: clarify effects of -- <path> arguments
+      t3903: fix misquoted rev-parse invocation
+
+Vitor Antunes (9):
+      git-p4: Allow setting rename/copy detection threshold
+      git-p4: Add description of rename/copy detection options
+      git-p4: Add test case for rename detection
+      git-p4: Add test case for copy detection
+      git-p4: Process detectCopiesHarder with --bool
+      git-p4: Correct branch base depot path detection
+      git-p4: Allow filtering Perforce branches by user
+      git-p4: Allow branch definition with git config
+      git-p4: Add simple test case for branch import
+
+
+Version v1.7.7-rc0; changes since v1.7.6.6:
+-------------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Andi Kleen (2):
+      Add profile feedback build to git
+      Add explanation of the profile feedback build to the README
+
+Clemens Buchacher (1):
+      commit: allow partial commits with relative paths
+
+David Aguilar (8):
+      setup: Provide GIT_PREFIX to built-ins
+      git: Remove handling for GIT_PREFIX
+      git-mergetool--lib: Make vimdiff retain the current directory
+      t/t7503-pre-commit-hook.sh: Add GIT_PREFIX tests
+      difftool--helper: Make style consistent with git
+      mergetool--lib: Make style consistent with git
+      mergetool--lib: Refactor tools into separate files
+      mergetools/meld: Use '--output' when available
+
+David Barr (1):
+      am: ignore leading whitespace before patch
+
+David Caldwell (1):
+      stash: Add --include-untracked option to stash and remove all untracked files
+
+Dmitry Ivankov (4):
+      remote-helpers: export GIT_DIR variable to helpers
+      parse-options: export opterr, optbug
+      Reduce parse-options.o dependencies
+      doc/fast-import: document feature import-marks-if-exists
+
+Duncan Brown (1):
+      http: pass http.cookiefile using CURLOPT_COOKIEFILE
+
+Erik Faye-Lund (2):
+      verify_path: consider dos drive prefix
+      connect: only log if all attempts failed (ipv4)
+
+Fredrik Gustafsson (2):
+      git-sh-setup: add die_with_status
+      submodule update: continue when a checkout fails
+
+Jakub Narębski (14):
+      gitweb.js: No need for inProgress in blame_incremental.js
+      gitweb.js: No need for loop in blame_incremental's handleResponse()
+      gitweb.js: use setTimeout rather than setInterval in blame_incremental.js
+      gitweb: Check permissions first in git_search
+      gitweb: Split body of git_search into subroutines
+      gitweb: Clean up code in git_search_* subroutines
+      gitweb: Make git_search_* subroutines render whole pages
+      gitweb: Refactor git_header_html
+      git-instaweb: Extract configuring web server into configure_httpd
+      git-instaweb: Use $conf, not $fqgitdir/gitweb/httpd.conf
+      git-instaweb: Move all actions at the end of script
+      git-instaweb: Check that correct config file exists for (re)start
+      gitweb: Introduce common system-wide settings for convenience
+      gitweb: Git config keys are case insensitive, make config search too
+
+Jeff King (28):
+      t: add tests for cloning remotes with detached HEAD
+      consider only branches in guess_remote_head
+      make copy_ref globally available
+      clone: always fetch remote HEAD
+      limit "contains" traversals based on commit timestamp
+      default core.clockskew variable to one day
+      archive: reorder option parsing and config reading
+      archive-tar: don't reload default config options
+      archive: refactor list of archive formats
+      archive: pass archiver struct to write_archive callback
+      archive: move file extension format-guessing lower
+      archive: refactor file extension format-guessing
+      archive: implement configurable tar filters
+      archive: provide builtin .tar.gz filter
+      upload-archive: allow user to turn off filters
+      parse-options: add OPT_STRING_LIST helper
+      remote: use new OPT_STRING_LIST
+      config: make git_config_parse_parameter a public function
+      clone: accept config options on the command line
+      git skew: a tool to find how big a clock skew exists in the history
+      transport-helper: fix minor leak in push_refs_with_export
+      t5800: factor out some ref tests
+      t5800: document some non-functional parts of remote helpers
+      git-remote-testgit: import non-HEAD refs
+      transport-helper: don't feed bogus refs to export push
+      git_remote_helpers: push all refs during a non-local export
+      streaming: free git_istream upon closing
+      docs: put listed example commands in backticks
+
+Jens Lehmann (1):
+      Documentation/submodule: add command references and update options
+
+Jim Meyering (1):
+      sha1_file: use the correct type (ssize_t, not size_t) for read-style function
+
+Johannes Sixt (7):
+      sh-i18n--envsubst: do not crash when no arguments are given
+      mingw.c: move definition of mingw_getenv down
+      Windows: teach getenv to do a case-sensitive search
+      rebase: do not print lots of usage hints after an obvious error message
+      Make test number unique
+      Skip archive --remote tests on Windows
+      t3900: do not reference numbered arguments from the test script
+
+Jon Jensen (1):
+      Add option hooks.diffopts to customize change summary in post-receive-email
+
+Jon Seymour (16):
+      bisect: move argument parsing before state modification.
+      bisect: use && to connect statements that are deferred with eval.
+      bisect: add tests to document expected behaviour in presence of broken trees.
+      bisect: introduce support for --no-checkout option.
+      bisect: introduce --no-checkout support into porcelain.
+      bisect: add tests for the --no-checkout option.
+      bisect: add documentation for --no-checkout option.
+      bisect: cleanup whitespace errors in git-bisect.sh.
+      bisect: replace "; then" with "\n<tab>*then"
+      misc-sh: fix up whitespace in some other .sh files.
+      gettext: add gettextln, eval_gettextln to encode common idiom
+      git-am: take advantage of gettextln and eval_gettextln.
+      pull: take advantage of eval_gettextln
+      stash: take advantage of eval_gettextln
+      submodule: take advantage of gettextln and eval_gettextln.
+      bisect: add support for bisecting bare repositories
+
+Jonathan Nieder (4):
+      test: simplify return value of test_run_
+      test: cope better with use of return for errors
+      revert: plug memory leak in "cherry-pick root commit" codepath
+      merge-recursive: take advantage of hardcoded empty tree
+
+Josh Triplett (5):
+      Fix prefix handling in ref iteration functions
+      ref namespaces: infrastructure
+      ref namespaces: Support remote repositories via upload-pack and receive-pack
+      ref namespaces: documentation
+      ref namespaces: tests
+
+Junio C Hamano (52):
+      index-pack: group the delta-base array entries also by type
+      write_idx_file: introduce a struct to hold idx customization options
+      index-pack: --verify
+      write_idx_file: need_large_offset() helper function
+      index-pack --verify: read anomalous offsets from v2 idx file
+      packed_object_info_detail(): do not return a string
+      sha1_object_info_extended(): expose a bit more info
+      sha1_object_info_extended(): hint about objects in delta-base cache
+      unpack_object_header(): make it public
+      write_entry(): separate two helper functions out
+      streaming: a new API to read from the object store
+      streaming_write_entry(): use streaming API in write_entry()
+      convert: CRLF_INPUT is a no-op in the output codepath
+      streaming_write_entry(): support files with holes
+      streaming: read non-delta incrementally from a pack
+      sha1_file.c: expose helpers to read loose objects
+      streaming: read loose objects incrementally
+      checkout: make advice when reattaching the HEAD less loud
+      merge: reword the final message
+      convert.h: move declarations for conversion from cache.h
+      Add streaming filter API
+      stream filter: add "no more input" to the filters
+      Add LF-to-CRLF streaming conversion
+      streaming filter: ident filter
+      streaming: filter cascading
+      t0021: test application of both crlf and ident
+      diff --stat-count: finishing touches
+      index-pack: a miniscule refactor
+      index-pack: start learning to emulate "verify-pack -v"
+      index-pack: show histogram when emulating "verify-pack -v"
+      verify-pack: use index-pack --verify
+      verify_path(): simplify check at the directory boundary
+      git-submodule.sh: clarify the "should we die now" logic
+      Add option to disable NORETURN
+      Start 1.7.7 cycle
+      core: log offset pack data accesses happened
+      pack-objects: optimize "recency order"
+      diff-lib: simplify do_diff_cache()
+      diff-lib: refactor run_diff_index() and do_diff_cache()
+      Revert clock-skew based attempt to optimize tag --contains traversal
+      Update draft release notes to 1.7.7
+      Update draft release notes to 1.7.7
+      bisect: further style nitpicks
+      filter-branch.sh: de-dent usage string
+      Update draft release notes to 1.7.7
+      test: consolidate definition of $LF
+      Sync with "maint"
+      Update draft release notes to 1.7.7
+      Update draft release notes to 1.7.7
+      commit: reduce use of redundant global variables
+      Update draft release notes to 1.7.7
+      Git 1.7.7-rc0
+
+Ludwig Nussel (1):
+      gitweb: allow space as delimiter in mime.types
+
+Markus Duft (1):
+      Update the Interix default build configuration.
+
+Michael Haggerty (29):
+      doc: Add a link from gitattributes(5) to git-check-attr(1)
+      doc: Correct git_attr() calls in example code
+      Remove anachronism from comment
+      Disallow the empty string as an attribute name
+      git-check-attr: Add missing "&&"
+      git-check-attr: Add tests of command-line parsing
+      Provide access to the name attribute of git_attr
+      git-check-attr: Use git_attr_name()
+      Teach prepare_attr_stack() to figure out dirlen itself
+      Extract a function collect_all_attrs()
+      Remove redundant call to bootstrap_attr_stack()
+      Remove redundant check
+      Allow querying all attributes on a file
+      git-check-attr: Extract a function output_attr()
+      git-check-attr: Introduce a new variable
+      git-check-attr: Extract a function error_with_usage()
+      git-check-attr: Handle each error separately
+      git-check-attr: Process command-line args more systematically
+      git-check-attr: Error out if no pathnames are specified
+      git-check-attr: Add an --all option to show all attributes
+      git-check-attr: Drive two tests using the same raw data
+      git-check-attr: Fix command-line handling to match docs
+      Rename git_checkattr() to git_check_attr()
+      git-check-attr: test that no output is written to stderr
+      git-check-attr: Demonstrate problems with unnormalized paths
+      git-check-attr: Demonstrate problems with relative paths
+      git-check-attr: Normalize paths
+      test-path-utils: Add subcommand "absolute_path"
+      test-path-utils: Add subcommand "prefix_path"
+
+Michael J Gruber (3):
+      diff.c: omit hidden entries from namelen calculation with --stat
+      diff: introduce --stat-lines to limit the stat lines
+      diff-options.txt: describe --stat-{width,name-width,count}
+
+Pete Wyckoff (4):
+      git-p4: use test_when_finished in tests
+      git-p4: add missing && in test
+      git-p4: one test missing config git-p4.skipSubmitEditCheck
+      git-p4: commit time should be most recent p4 change time
+
+Ramsay Jones (3):
+      help.c: Fix detection of custom merge strategy on cygwin
+      t1301-*.sh: Fix the 'forced modes' test on cygwin
+      config.c: Make git_config() work correctly when called recursively
+
+René Scharfe (6):
+      t0021-conversion.sh: fix NoTerminatingSymbolAtEOF test
+      grep: fix coloring of hunk marks between files
+      grep: add --break
+      grep: add --heading
+      grep: add option to show whole function as context
+      grep: long context options
+
+Roberto Tyley (1):
+      Tolerate zlib deflation with window size < 32Kb
+
+Sverre Rabbelier (14):
+      t5800: use skip_all instead of prereq
+      remote-curl: accept empty line as terminator
+      git-remote-testgit: only push for non-local repositories
+      git-remote-testgit: fix error handling
+      fast-import: introduce 'done' command
+      fast-export: support done feature
+      transport-helper: factor out push_update_refs_status
+      transport-helper: check status code of finish_command
+      transport-helper: use the new done feature where possible
+      transport-helper: update ref status after push with export
+      transport-helper: change import semantics
+      transport-helper: Use capname for refspec capability too
+      transport-helper: implement marks location as capability
+      transport-helper: die early on encountering deleted refs
+
+Tay Ray Chuan (13):
+      xdiff/xprepare: use memset()
+      xdiff/xprepare: refactor abort cleanups
+      xdiff/xpatience: factor out fall-back-diff function
+      t4033-diff-patience: factor out tests
+      teach --histogram to diff
+      xdiff/xprepare: skip classification
+      xdiff/xprepare: use a smaller sample size for histogram diff
+      xdiff: do away with xdl_mmfile_next()
+      http.c: fix an invalid free()
+      Makefile: some changes for http-related flag documentation
+      xdiff/xhistogram: rework handling of recursed results
+      xdiff/xhistogram: rely on xdl_trim_ends()
+      xdiff/xhistogram: drop need for additional variable
+
+Theo Niessink (3):
+      A Windows path starting with a backslash is absolute
+      real_path: do not assume '/' is the path seperator
+      verify_dotfile(): do not assume '/' is the path seperator
+
+Thomas Cort (1):
+      Makefile: add Minix configuration options.
+
+maximilian attems (2):
+      am: pass exclude down to apply
+      am: Document new --exclude=<path> option
+
+Ævar Arnfjörð Bjarmason (48):
+      i18n: git-am add git-sh-i18n
+      i18n: git-am one-line gettext $msg; echo
+      i18n: git-am multi-line getttext $msg; echo
+      i18n: git-am eval_gettext messages
+      i18n: git-am gettext + gettext to stderr message
+      i18n: git-am die messages
+      i18n: git-am cannot_fallback messages
+      i18n: git-am clean_abort messages
+      i18n: git-am "Apply?" message
+      i18n: git-am "Falling back" say message
+      i18n: git-am core say messages
+      i18n: git-am printf(1) message to eval_gettext
+      i18n: git-pull add git-sh-i18n
+      i18n: git-pull die messages
+      i18n: git-pull eval_gettext + die message
+      i18n: git-pull eval_gettext + warning message
+      i18n: git-submodule add git-sh-i18n
+      i18n: git-submodule echo + eval_gettext messages
+      i18n: git-submodule say + eval_gettext messages
+      i18n: git-submodule die + eval_gettext messages
+      i18n: git-submodule $update_module say + die messages
+      i18n: git-submodule "cached cannot be used" message
+      i18n: git-submodule "Submodule change[...]" messages
+      i18n: git-submodule $errmsg messages
+      i18n: git-submodule "Entering [...]" message
+      i18n: git-submodule "[...] path is ignored" message
+      i18n: git-submodule "path not initialized" message
+      i18n: git-submodule "blob" and "submodule" messages
+      i18n: git-stash add git-sh-i18n
+      i18n: git-stash echo + gettext message
+      i18n: git-stash say + gettext messages
+      i18n: git-stash die + gettext messages
+      i18n: git-stash die + eval_gettext messages
+      i18n: git-stash die + eval_gettext $* messages
+      i18n: git-stash die + eval_gettext $1 messages
+      i18n: git-stash "unknown option" message
+      i18n: git-stash drop_stash say/die messages
+      i18n: git-bisect add git-sh-i18n
+      i18n: git-bisect gettext + echo message
+      i18n: git-bisect echo + gettext messages
+      i18n: git-bisect echo + eval_gettext message
+      i18n: git-bisect die + gettext messages
+      i18n: git-bisect die + eval_gettext messages
+      i18n: git-bisect bisect_run + $@ messages
+      i18n: git-bisect bisect_reset + $1 messages
+      i18n: git-bisect bisect_replay + $1 messages
+      i18n: git-bisect [Y/n] messages
+      i18n: git-bisect bisect_next_check "You need to" message
+
+张忠山 (1):
+      gitweb: pass string after encoding in utf-8 to syntax highlighter
+
+
+Version v1.7.6.6; changes since v1.7.6.5:
+-----------------------------------------
+
+Clemens Buchacher (1):
+      Documentation: read-tree --prefix works with existing subtrees
+
+Jack Nagel (1):
+      Add MYMETA.json to perl/.gitignore
+
+Jeff King (5):
+      attr: don't confuse prefixes with leading directories
+      attr: drop misguided defensive coding
+      attr: fix leak in free_attr_elem
+      thin-pack: try harder to use preferred base objects as base
+      imap-send: remove dead code
+
+Junio C Hamano (6):
+      attr.c: make bootstrap_attr_stack() leave early
+      attr.c: clarify the logic to pop attr_stack
+      Documentation: rerere's rr-cache auto-creation and rerere.enabled
+      Prepare for 1.7.6.6
+      Update draft release notes to 1.7.6.6
+      Git 1.7.6.6
+
+Nguyễn Thái Ngọc Duy (1):
+      t2203: fix wrong commit command
+
+Thomas Rast (1):
+      Documentation: rerere.enabled is the primary way to configure rerere
+
+
+Version v1.7.6.5; changes since v1.7.6.4:
+-----------------------------------------
+
+Haitao Li (1):
+      date.c: Support iso8601 timezone formats
+
+Jeff King (3):
+      stripspace: fix outdated comment
+      fetch: create status table using strbuf
+      blame: don't overflow time buffer
+
+Jim Meyering (1):
+      make the sample pre-commit hook script reject names with newlines, too
+
+Jonathon Mah (1):
+      mergetool: Use args as pathspec to unmerged files
+
+Junio C Hamano (3):
+      mergetool: no longer need to save standard input
+      name-rev --all: do not even attempt to describe non-commit object
+      Git 1.7.6.5
+
+Marc-André Lureau (1):
+      mailmap: xcalloc mailmap_info
+
+Martin von Zweigbergk (4):
+      remote: write correct fetch spec when renaming remote 'remote'
+      remote: "rename o foo" should not rename ref "origin/bar"
+      remote rename: warn when refspec was not updated
+      remote: only update remote-tracking branch if updating refspec
+
+Michael Haggerty (1):
+      notes_merge_commit(): do not pass temporary buffer to other function
+
+Michael J Gruber (3):
+      unpack-trees: print "Aborting" to stderr
+      git-read-tree.txt: language and typography fixes
+      git-read-tree.txt: correct sparse-checkout and skip-worktree description
+
+Nguyễn Thái Ngọc Duy (2):
+      git-read-tree.txt: update sparse checkout examples
+      Reindent closing bracket using tab instead of spaces
+
+Peter Stuge (1):
+      gitweb: Fix links to lines in blobs when javascript-actions are enabled
+
+Ramsay Jones (1):
+      t9159-*.sh: skip for mergeinfo test for svn <= 1.4
+
+Sebastian Morr (1):
+      Add MYMETA.yml to perl/.gitignore
+
+Stefan Naewe (1):
+      Documentation/git-update-index: refer to 'ls-files'
+
+Thomas Rast (1):
+      Documentation: basic configuration of notes.rewriteRef
+
+
+Version v1.7.6.4; changes since v1.7.6.3:
+-----------------------------------------
+
+Allan Caffee (1):
+      describe: Refresh the index when run with --dirty
+
+Clemens Buchacher (1):
+      ls-files: fix pathspec display on error
+
+Giuseppe Bilotta (1):
+      am: format is in $patch_format, not parse_patch
+
+Jay Soffian (1):
+      git-mergetool: check return value from read
+
+Johannes Sixt (1):
+      t3005: do not assume a particular order of stdout and stderr of git-ls-files
+
+Junio C Hamano (4):
+      read_gitfile_gently(): rename misnamed function to read_gitfile()
+      clone: allow more than one --reference
+      clone: clone from a repository with relative alternates
+      Git 1.7.6.4
+
+Michael Haggerty (2):
+      check-ref-format --print: Normalize refnames that start with slashes
+      Forbid DEL characters in reference names
+
+Michael J Gruber (1):
+      branch.c: use the parsed branch name
+
+Nguyễn Thái Ngọc Duy (1):
+      clone: allow to clone from .git file
+
+
+Version v1.7.6.3; changes since v1.7.6.2:
+-----------------------------------------
+
+Dave Zarzycki (1):
+      Do not log unless all connect() attempts fail
+
+Jeff King (9):
+      status: fix bug with missing --ignore files
+      tag: speed up --contains calculation
+      strbuf_split: add a max parameter
+      fix "git -c" parsing of values with equals signs
+      config: die on error in command-line config
+      config: avoid segfault when parsing command-line config
+      strbuf: allow strbuf_split to work on non-strbufs
+      config: use strbuf_split_str instead of a temporary strbuf
+      reset: give better reflog messages
+
+Jens Lehmann (1):
+      fetch: skip on-demand checking when no submodules are configured
+
+Jonathan Nieder (2):
+      Documentation: quote double-dash for AsciiDoc
+      Documentation/i18n: quote double-dash for AsciiDoc
+
+Junio C Hamano (4):
+      git status --ignored: tests and docs
+      mergetool: check return value from read
+      Prepare for 1.7.6.3 maintenance release
+      Git 1.7.6.3
+
+Michael Schubert (1):
+      reflog: actually default to subcommand 'show'
+
+Sverre Rabbelier (1):
+      SubmittingPathces: remove Cogito reference
+
+Vitaliy Ivanov (1):
+      tests: cleanup binary test vector files
+
+
+Version v1.7.6.2; changes since v1.7.6.1:
+-----------------------------------------
+
+Junio C Hamano (3):
+      whitespace: have SP on both sides of an assignment "="
+      Revert "Merge branch 'cb/maint-quiet-push' into maint"
+      Git 1.7.6.2
+
+Pang Yan Han (1):
+      update-ref: whitespace fix
+
+Thomas Rast (1):
+      Documentation: clarify effects of -- <path> arguments
+
+
+Version v1.7.6.1; changes since v1.7.6:
+---------------------------------------
+
+Alex Neronskiy (2):
+      Fix documentation of fetch-pack that implies that the client can disconnect after sending wants.
+      Document the underlying protocol used by shallow repositories and --depth commands.
+
+Andrew Wong (1):
+      rebase -i -p: include non-first-parent commits in todo list
+
+Bert Wesarg (1):
+      Documentation: clearly specify what refs are honored by core.logAllRefUpdates
+
+Brandon Casey (2):
+      t/t7407: demonstrate that the command called by 'submodule foreach' loses stdin
+      git-submodule.sh: preserve stdin for the command spawned by foreach
+
+Brian Harring (1):
+      get_indexed_object can return NULL if nothing is in that slot; check for it
+
+Carlos Martín Nieto (1):
+      Documentation: clarify the invalidated tree entry format
+
+Clemens Buchacher (3):
+      error_routine: use parent's stderr if exec fails
+      propagate --quiet to send-pack/receive-pack
+      notice error exit from pager
+
+Dmitry Ivankov (1):
+      doc/fast-import: clarify notemodify command
+
+Emilio G. Cota (2):
+      Documentation: ignore *.pdf files
+      Documentation/Makefile: add *.pdf to `clean' target
+
+Erik Faye-Lund (1):
+      connect: correctly number ipv6 network adapter
+
+Fredrik Kuivinen (1):
+      Makefile: Track changes to LDFLAGS and relink when necessary
+
+Heiko Voigt (2):
+      add gitignore entry to description about how to write a builtin
+      add technical documentation about ref iteration
+
+Jack Nagel (1):
+      Documentation: minor grammatical fix in rev-list-options.txt
+
+Jakub Narębski (2):
+      gitweb: Serve text/* 'blob_plain' as text/plain with $prevent_xss
+      gitweb: Serve */*+xml 'blob_plain' as text/plain with $prevent_xss
+
+Jeff King (10):
+      combine-diff: split header printing into its own function
+      combine-diff: calculate mode_differs earlier
+      combine-diff: handle binary files as binary
+      refactor get_textconv to not require diff_filespec
+      combine-diff: respect textconv attributes
+      tag: accept multiple patterns for --list
+      docs: document --textconv diff option
+      t7400: fix bogus test failure with symlinked trash
+      fast-export: quote paths in output
+      am: refresh the index at start and --resolved
+
+Jens Lehmann (7):
+      submodule add: test failure when url is not configured in superproject
+      submodule add: allow relative repository path even when no url is set
+      submodule add: clean up duplicated code
+      fetch: Also fetch submodules in subdirectories in on-demand mode
+      submodule add: always initialize .git/config entry
+      tests: print failed test numbers at the end of the test run
+      submodule: update and add must honor --quiet flag
+
+Johannes Schindelin (1):
+      get_pwd_cwd(): Do not trust st_dev/st_ino blindly
+
+Jon Seymour (2):
+      Add a test to check that git ls-tree sets non-zero exit code on error.
+      Ensure git ls-tree exits with a non-zero exit code if read_tree_recursive fails.
+
+Julian Phillips (1):
+      remote-curl: Add a format check to parsing of info/refs
+
+Junio C Hamano (29):
+      diff-index --quiet: learn the "stop feeding the backend early" logic
+      checkout -b <name>: correctly detect existing branch
+      sha1_file.c: "legacy" is really the current format
+      zlib wrapper: refactor error message formatter
+      zlib: wrap remaining calls to direct inflate/inflateEnd
+      zlib: wrap inflateInit2 used to accept only for gzip format
+      zlib: wrap deflate side of the API
+      zlib: wrap deflateBound() too
+      zlib: zlib can only process 4GB at a time
+      zlib: allow feeding more than 4GB in one go
+      t/gitweb-lib.sh: skip gitweb tests when perl dependencies are not met
+      cygwin: trust executable bit by default
+      git-remote.txt: avoid sounding as if loose refs are the only ones in the world
+      check-ref-format doc: de-emphasize the implementation detail of a ref
+      git.txt: de-emphasize the implementation detail of a ref
+      glossary: update description of "tag"
+      glossary: update description of head and ref
+      glossary: clarify description of HEAD
+      submodule sync: do not auto-vivify uninteresting submodule
+      "branch -d" can remove more than one branches
+      test: skip clean-up when running under --immediate mode
+      checkout: do not write bogus reflog entry out
+      reset [<commit>] paths...: do not mishandle unmerged paths
+      diff -c/--cc: do not mistake "resolved as deletion" as "use working tree"
+      receive-pack: do not overstep command line argument array
+      helping smart-http/stateless-rpc fetch race
+      Prepare for 1.7.6.1
+      Update draft release notes for 1.7.6.1
+      Git 1.7.6.1
+
+Martin von Zweigbergk (2):
+      Documentation: use [verse] for SYNOPSIS sections
+      rebase: clarify "restore the original branch"
+
+Michael Haggerty (6):
+      git-svn: Demonstrate a bug with root commits in mergeinfo ranges
+      git-svn: Disambiguate rev-list arguments to improve error message
+      git-svn: Correctly handle root commits in mergeinfo ranges
+      gitattributes: Clarify discussion of attribute macros
+      gitattributes: Reword "attribute macro" to "macro attribute"
+      Do not use C++-style comments
+
+Michael Schubert (1):
+      help_unknown_cmd: do not propose an "unknown" cmd
+
+Michael Witten (1):
+      filter-branch: Export variable `workdir' for --commit-filter
+
+Namhyung Kim (1):
+      git-remote.txt: fix wrong remote refspec
+
+Nguyễn Thái Ngọc Duy (3):
+      Break down no-lstat() condition checks in verify_uptodate()
+      checkout-index: remove obsolete comment
+      fetch-pack: check for valid commit from server
+
+Ori Avtalion (1):
+      pull: remove extra space from reflog message
+
+Pavan Kumar Sunkara (1):
+      git-config: Remove extra whitespaces
+
+Peter Collingbourne (1):
+      Documentation: git-filter-branch honors replacement refs
+
+
+Version v1.7.6; changes since v1.7.6-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.6
+
+Namhyung Kim (1):
+      completion: replace core.abbrevguard to core.abbrev
+
+
+Version v1.7.6-rc3; changes since v1.7.6-rc2:
+---------------------------------------------
+
+Andreas Schwab (1):
+      builtin/gc.c: add missing newline in message
+
+Brandon Casey (1):
+      sh-i18n--envsubst.c: do not #include getopt.h
+
+Christof Krüger (1):
+      Documentation: git diff --check respects core.whitespace
+
+Dmitry Ivankov (1):
+      Fix typo: existant->existent
+
+Jakub Narębski (1):
+      gitweb: 'pickaxe' and 'grep' features requires 'search' to be enabled
+
+Jeff King (2):
+      t/Makefile: pass test opts to valgrind target properly
+      tests: link shell libraries into valgrind directory
+
+Jim Meyering (1):
+      plug a few coverity-spotted leaks
+
+Junio C Hamano (2):
+      t7810: avoid unportable use of "echo"
+      Git 1.7.6-rc3
+
+
+Version v1.7.6-rc2; changes since v1.7.6-rc1:
+---------------------------------------------
+
+Jonathan Nieder (1):
+      gitweb: do not misparse nonnumeric content tag files that contain a digit
+
+Junio C Hamano (1):
+      Git 1.7.6-rc2
+
+
+Version v1.7.6-rc1; changes since v1.7.6-rc0:
+---------------------------------------------
+
+Alex Riesen (1):
+      t3703: skip more tests using colons in file names on Windows
+
+Brandon Casey (2):
+      t7508: demonstrate status's failure to use --porcelain format with -z
+      builtin/commit.c: set status_format _after_ option parsing
+
+Jakub Narębski (4):
+      gitweb: Move information about installation from README to INSTALL
+      gitweb: Describe CSSMIN and JSMIN in gitweb/INSTALL
+      gitweb: Move "Requirements" up in gitweb/INSTALL
+      gitweb: Fix usability of $prevent_xss
+
+Jeff King (1):
+      diff_tree: disable QUICK optimization with diff filter
+
+Jim Meyering (1):
+      fetch: do not leak a refspec
+
+Junio C Hamano (2):
+      diff: futureproof "stop feeding the backend early" logic
+      Git 1.7.6-rc1
+
+
+Version v1.7.6-rc0; changes since v1.7.5.4:
+-------------------------------------------
+
+Boris Faure (1):
+      Do not strip empty lines / trailing spaces from a commit message template
+
+Carlos Martín Nieto (1):
+      log: convert to parse-options
+
+Conrad Irwin (5):
+      Use a temporary index for git commit --interactive
+      Allow git commit --interactive with paths
+      Add support for -p/--patch to git-commit
+      Add commit to list of config.singlekey commands
+      Test atomic git-commit --interactive
+
+Csaba Henk (1):
+      rebase: create HEAD reflog entry when aborting
+
+Dan McGee (4):
+      Share color list between graph and show-branch
+      http: make curl callbacks match contracts from curl header
+      http-push: use const for strings in signatures
+      http-push: refactor curl_easy_setup madness
+
+Elijah Newren (3):
+      t6022: New test checking for unnecessary updates of renamed+modified files
+      t6022: New test checking for unnecessary updates of files in D/F conflicts
+      merge-recursive: When we detect we can skip an update, actually skip it
+
+Erik Faye-Lund (2):
+      strbuf: make sure buffer is zero-terminated
+      config: support values longer than 1023 bytes
+
+Heiko Voigt (1):
+      test that git status works with merge conflict in, .gitmodules
+
+Ingo Molnar (1):
+      hashcmp(): inline memcmp() by hand to optimize
+
+Jakub Narębski (13):
+      gitweb: Restructure projects list generation
+      gitweb: Change the way "content tags" ('ctags') are handled
+      gitweb: Mark matched 'ctag' / contents tag (?by_tag=foo)
+      gitweb: Split JavaScript for maintability, combining on build
+      gitweb.js: Update and improve comments in JavaScript files
+      gitweb.js: Provide default values for padding in padLeftStr and padLeft
+      gitweb.js: Extract and improve datetime handling
+      gitweb.js: Introduce code to handle cookies from JavaScript
+      gitweb.js: Provide getElementsByClassName method (if it not exists)
+      gitweb: Refactor generating of long dates into format_timestamp_html
+      gitweb: Unify the way long timestamp is displayed
+      gitweb: Make JavaScript ability to adjust timezones configurable
+      gitweb: Refactor reading and parsing config file into read_config_file
+
+Jay Soffian (2):
+      "git log -h": typofix misspelled 'suppress'
+      Add log.abbrevCommit config variable
+
+Jeff King (26):
+      notes: make expand_notes_ref globally accessible
+      revision.c: refactor notes ref expansion
+      notes: refactor display notes extra refs field
+      notes: refactor display notes default handling
+      revision.c: support --notes command-line option
+      revision.c: make --no-notes reset --notes list
+      format-patch: wrap email addresses after long names
+      add tests for various blame formats
+      blame: refactor porcelain output
+      blame: add --line-porcelain output format
+      t7501.8: feed a meaningful command
+      fetch: avoid repeated commits in mark_complete
+      Makefile: sort TEST_PROGRAMS list
+      refactor refs_from_alternate_cb to allow passing extra data
+      bisect: refactor sha1_array into a generic sha1 list
+      receive-pack: eliminate duplicate .have refs
+      doc: discuss textconv versus external diff drivers
+      remote: allow "-t" with fetch mirrors
+      read_in_full: always report errors
+      t: test subject handling in format-patch / am pipeline
+      mailinfo: always clean up rfc822 header folding
+      pretty: add pp_commit_easy function for simple callers
+      clean up calling conventions for pretty.c functions
+      format-patch: preserve subject newlines with -k
+      rebase: write a reflog entry when finishing
+      format-patch: make zero-length subject prefixes prettier
+
+Jens Lehmann (3):
+      Submodules: Don't parse .gitmodules when it contains, merge conflicts
+      unpack-trees: add the dry_run flag to unpack_trees_options
+      Teach read-tree the -n|--dry-run option
+
+Jim Meyering (2):
+      diffcore-rename.c: avoid set-but-not-used warning
+      plug a DIR buffer leak in rerere.c
+
+Johan Herland (10):
+      log/pretty-options: Document --[no-]notes and deprecate old notes options
+      Make "git notes add" more user-friendly when there are existing notes
+      Add several testcases for --dirstat and friends
+      Make --dirstat=0 output directories that contribute < 0.1% of changes
+      Refactor --dirstat parsing; deprecate --cumulative and --dirstat-by-file
+      Add config variable for specifying default --dirstat behavior
+      Allow specifying --dirstat cut-off percentage as a floating point number
+      New --dirstat=lines mode, doing dirstat analysis based on diffstat
+      Improve error handling when parsing dirstat parameters
+      Mark dirstat error messages for translation
+
+Johannes Sixt (3):
+      t3703: Skip tests using directory name ":" on Windows
+      Tweak t3102-ls-tree-wildcards to run on Windows
+      Windows: add a wrapper for the shutdown() system call
+
+John 'Warthog9' Hawley (2):
+      gitweb: JavaScript ability to adjust time based on timezone
+      gitweb.js: Add UI for selecting common timezone to display dates
+
+Jon Seymour (1):
+      git: add --info-path and --man-path options
+
+Jonathan Nieder (15):
+      revisions: split out handle_revision_pseudo_opt function
+      revisions: allow --glob and friends in parse_options-enabled commands
+      Documentation: clarify meaning of --html-path, --man-path, and --info-path
+      tests: eliminate unnecessary setup test assertions
+      tests: teach verify_parents to check for extra parents
+      tests: check git does not barf on merge.ff values for future versions of git
+      completion: move private shopt shim for zsh to __git_ namespace
+      t4018 (funcname patterns): make .gitattributes state easier to track
+      t4018 (funcname patterns): make configuration easier to track
+      t4018 (funcname patterns): minor cleanups
+      userdiff/perl: anchor "sub" and "package" patterns on the left
+      userdiff/perl: match full line of POD headers
+      userdiff/perl: catch sub with brace on second line
+      tests: make test_expect_code quieter on success
+      userdiff/perl: tighten BEGIN/END block pattern to reject here-doc delimiters
+
+Junio C Hamano (53):
+      merge-recursive: tweak magic band-aid
+      git diff -D: omit the preimage of deletes
+      pathspec: rename per-item field has_wildcard to use_wildcard
+      magic pathspec: add tentative ":/path/from/top/level" pathspec support
+      merge: allow "-" as a short-hand for "previous branch"
+      magic pathspec: futureproof shorthand form
+      magic pathspec: add ":(icase)path" to match case insensitively
+      Start 1.7.6 cycle
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      Update draft release notes to 1.7.6
+      merge: introduce merge.ff configuration variable
+      rerere: libify rerere_clear() and rerere_gc()
+      index_fd(): turn write_object and format_check arguments into one flag
+      index_fd(): split into two helper functions
+      convert: rename the "eol" global variable to "core_eol"
+      convert: give saner names to crlf/eol variables, types and functions
+      convert: make it safer to add conversion attributes
+      convert: make it harder to screw up adding a conversion attribute
+      git-grep: do not die upon -F/-P when grep.extendedRegexp is set.
+      Revert "magic pathspec: add ":(icase)path" to match case insensitively"
+      pathspec: drop "lone : means no pathspec" from get_pathspec()
+      grep: use get_pathspec() correctly
+      fix overstrict :<path> diagnosis
+      fix overslow :/no-such-string-ever-existed diagnostics
+      rev/path disambiguation: further restrict "misspelled index entry" diag
+      Revert "completion: don't declare 'local words' to make zsh happy"
+      Update draft release notes to 1.7.6
+      revision.c: leave a note for "a lone :" enhancement
+      Update draft release notes to 1.7.6
+      Bigfile: teach "git add" to send a large file straight to a pack
+      Declare lookup_replace_object() in cache.h, not in commit.h
+      t6050: make sure we test not just commit replacement
+      read_sha1_file(): get rid of read_sha1_file_repl() madness
+      inline lookup_replace_object() calls
+      read_sha1_file(): allow selective bypassing of replacement mechanism
+      Sync release notes for 1.7.6 to exclude what are in maintenance track
+      git-grep: update tests now regexp type is "last one wins"
+      Makefile: Pass USE_LIBPCRE down in GIT-BUILD-OPTIONS
+      Update release notes to 1.7.6
+      notes remove: allow removing more than one
+      notes remove: --ignore-missing
+      notes remove: --stdin reads from the standard input
+      show: --ignore-missing
+      Revert "Merge branch 'en/merge-recursive'"
+      Update draft release notes to 1.7.6
+      Update 1.7.6 draft release notes
+      require-work-tree wants more than what its name says
+      compat/fnmatch/fnmatch.c: give a fall-back definition for NULL
+      Update 1.7.6 draft release notes
+      log: --quiet should serve as synonym to -s
+      Update draft release notes to 1.7.6
+
+Luke Diamand (3):
+      git-p4: add option to preserve user names
+      git-p4: small improvements to user-preservation
+      git-p4: warn if git authorship won't be retained
+
+Marius Storm-Olsen (1):
+      Automatically autoload bashcompinit for ZSH, when needed
+
+Martin von Zweigbergk (34):
+      rebase: clearer names for directory variables
+      rebase: refactor reading of state
+      rebase: read state outside loop
+      rebase: remove unused rebase state 'prev_head'
+      rebase: improve detection of rebase in progress
+      rebase: act on command line outside parsing loop
+      rebase: stricter check of standalone sub command
+      rebase: align variable names
+      rebase: align variable content
+      rebase: factor out command line option processing
+      rebase -i: remove now unnecessary directory checks
+      rebase: reorder validation steps
+      rebase: factor out reference parsing
+      rebase: factor out clean work tree check
+      rebase: factor out call to pre-rebase hook
+      rebase -i: support --stat
+      rebase: remove $branch as synonym for $orig_head
+      rebase: extract merge code to new source file
+      rebase: extract am code to new source file
+      rebase: show consistent conflict resolution hint
+      rebase -i: align variable names
+      rebase: make -v a tiny bit more verbose
+      rebase: factor out sub command handling
+      rebase: extract code for writing basic state
+      rebase: remember verbose option
+      rebase: remember strategy and strategy options
+      rebase -m: remember allow_rerere_autoupdate option
+      rebase -m: don't print exit code 2 when merge fails
+      git-rebase--am: remove unnecessary --3way option
+      rebase -i: don't read unused variable preserve_merges
+      rebase -i: remove unnecessary state rebase-root
+      rebase: use @{upstream} if no upstream specified
+      Makefile: do not install sourced rebase scripts
+      rebase: define options in OPTIONS_SPEC
+
+Mathias Lafeldt (1):
+      t/test-lib.sh: minor readability improvements
+
+Michael Haggerty (1):
+      git-svn: add an option to skip the creation of empty directories
+
+Michael J Gruber (7):
+      contrib/completion: --notes, --no-notes
+      rev-list --count: separate count for --cherry-mark
+      t1020: test !alias in subdirectory
+      handle_alias: provide GIT_PREFIX to !alias
+      config: define and document exit codes
+      config: Give error message when not changing a multivar
+      sh-18n: quell "unused variable" warning
+
+Michael Schubert (2):
+      tag: disallow '-' as tag name
+      ls-remote: the --exit-code option reports "no matching refs"
+
+Michał Kiedrowicz (11):
+      Documentation: Add --line-number to git-grep synopsis
+      contrib/completion: --line-number to git grep
+      grep: Put calls to fixmatch() and regmatch() into patmatch()
+      grep: Fix a typo in a comment
+      grep: Extract compile_regexp_failed() from compile_regexp()
+      git-grep: Learn PCRE
+      configure: Check for libpcre
+      grep: Add basic tests
+      git-grep: Bail out when -P is used with -F or -E
+      git-grep: Update tests (mainly for -P)
+      git-grep: Fix problems with recently added tests
+
+Namhyung Kim (1):
+      blame: add --abbrev command line option and make it honor core.abbrev
+
+Nguyễn Thái Ngọc Duy (8):
+      Reimplement read_tree_recursive() using tree_entry_interesting()
+      Convert read_tree{,_recursive} to support struct pathspec
+      Improve tree_entry_interesting() handling code
+      setup: return correct prefix if worktree is '/'
+      Kill off get_relative_cwd()
+      t1011: fix sparse-checkout initialization and add new file
+      sparse checkout: do not eagerly decide the fate for whole directory
+      t3703, t4208: add test cases for magic pathspec
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: Add --force option for git submodule update
+
+Rafael Gieschke (1):
+      ident: add NO_GECOS_IN_PWENT for systems without pw_gecos in struct passwd
+
+Ramsay Jones (9):
+      Makefile: Use cgcc rather than sparse in the check target
+      sparse: Fix an "symbol 'cmd_index_pack' not declared" warning
+      sparse: Fix some "Using plain integer as NULL pointer" warnings
+      sparse: Fix an "symbol 'format_subject' not declared" warning
+      sparse: Fix an "symbol 'merge_file' not decared" warning
+      sparse: Fix errors due to missing target-specific variables
+      sparse: Fix some "symbol not declared" warnings
+      setup.c: Fix some "symbol not declared" sparse warnings
+      config.c: Remove unused git_config_global() function
+
+René Scharfe (1):
+      strbuf: clarify assertion in strbuf_setlen()
+
+SZEDER Gábor (3):
+      completion: don't modify the $cur variable in completion functions
+      completion: remove unnecessary _get_comp_words_by_ref() invocations
+      completion: don't declare 'local words' to make zsh happy
+
+Sebastien Cevey (3):
+      gitweb: Split git_project_list_body in two functions
+      gitweb: Modularized git_get_project_description to be more generic
+      gitweb: Optional grouping of projects by category
+
+Tay Ray Chuan (1):
+      t5541-http-push: add test for chunked
+
+Ævar Arnfjörð Bjarmason (5):
+      git-sh-i18n--envsubst: our own envsubst(1) for eval_gettext()
+      git-sh-i18n.sh: add no-op gettext() and eval_gettext() wrappers
+      git-sh-i18n.sh: add GIT_GETTEXT_POISON support
+      Makefile: add xgettext target for *.sh files
+      git-sh-i18n--envsubst: add SYNOPSIS section to the documentation
+
+
+Version v1.7.5.4; changes since v1.7.5.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      Documentation/technical/api-diff.txt: correct name of diff_unmerge()
+      git-submodule.sh: separate parens by a space to avoid confusing some shells
+
+Jeff King (8):
+      config: make environment parsing routines static
+      git_config: don't peek at global config_parameters
+      config: always parse GIT_CONFIG_PARAMETERS during git_config
+      read_gitfile_gently: use ssize_t to hold read result
+      docs: minor grammar fixes to git-status
+      docs: update status --porcelain format
+      docs: make sure literal "->" isn't converted to arrow
+      docs: fix some antique example output
+
+Jim Meyering (3):
+      rerere.c: diagnose a corrupt MERGE_RR when hitting EOF between TAB and '\0'
+      remove tests of always-false condition
+      diffcore-rename.c: avoid set-but-not-used warning
+
+Jonathan Nieder (3):
+      tests: check error message from run_command
+      run-command: handle short writes and EINTR in die_child
+      Documentation: do not misinterpret refspecs as bold text
+
+Junio C Hamano (26):
+      builtin/diff.c: remove duplicated call to diff_result_code()
+      diffcore-rename: refactor "too many candidates" logic
+      diffcore-rename: record filepair for rename src
+      diffcore-rename: fall back to -C when -C -C busts the rename limit
+      i18n: do not overuse C_LOCALE_OUTPUT
+      i18n: .git file is not a human readable message (t5601)
+      i18n: use test_i18ncmp in t1200 and t2200
+      i18n: do not overuse C_LOCALE_OUTPUT (grep)
+      i18n: use test_i18ngrep in lib-httpd and t2019
+      i18n: use test_i18ngrep in t2020, t2204, t3030, and t3200
+      i18n: use test_i18ncmp and test_i18ngrep in t3203, t3501 and t3507
+      i18n: use test_i18ncmp and test_i18ngrep in t3700, t4001 and t4014
+      i18n: use test_i18ncmp and test_i18ngrep in t5541, t6040, t6120, t7004, t7012 and t7060
+      i18n: use test_i18ncmp and test_i18ngrep in t7102 and t7110
+      i18n: use test_i18ngrep in t7201
+      i18n: use test_i18ncmp in t7500
+      i18n: use test_i18ngrep in t7501
+      i18n: use test_i18ngrep and test_i18ncmp in t7502
+      i18n: use test_i18ngrep in t7506
+      i18n: use test_i18n{grep,cmp} in t7508
+      i18n: use test_i18n{cmp,grep} in t7600, t7607, t7611 and t7811
+      handle_options(): do not miscount how many arguments were used
+      userformat_find_requirements(): find requirement for the correct format
+      config.mak.in: allow "configure --sysconfdir=/else/where"
+      Start 1.7.5.4 draft release notes
+      Git 1.7.5.4
+
+Mathias Lafeldt (1):
+      t/README: unify documentation of test function args
+
+Ramkumar Ramachandra (4):
+      Documentation: Add filter.<driver>.* to config
+      Documentation: Move diff.<driver>.* from config.txt to diff-config.txt
+      Documentation: Add diff.<driver>.* to config
+      Documentation: Allow custom diff tools to be specified in 'diff.tool'
+
+Thomas Rast (1):
+      add -i: ignore terminal escape sequences
+
+Valentin Haenel (5):
+      config.txt: 'interactive.singlekey; is used by...
+      git-add.txt: document 'interactive.singlekey'
+      git-stash.txt: better docs for '--patch'
+      git-checkout.txt: better docs for '--patch'
+      git-reset.txt: better docs for '--patch'
+
+Ævar Arnfjörð Bjarmason (7):
+      i18n: mark merge "Could not read from" message for translation
+      i18n: mark merge "upstream" messages for translation
+      i18n: mark merge CHERRY_PICK_HEAD messages for translation
+      i18n: mark clone nonexistent repository message for translation
+      i18n: mark checkout --detach messages for translation
+      i18n: mark checkout plural warning for translation
+      i18n: mark init-db messages for translation
+
+
+Version v1.7.5.3; changes since v1.7.5.2:
+-----------------------------------------
+
+Felipe Contreras (1):
+      git-completion: fix regression in zsh support
+
+Fraser Tweedale (1):
+      gitweb: supply '-n' to gzip for identical output
+
+Jeff King (8):
+      send-pack: unbreak push over stateless rpc
+      cherry-pick: handle root commits with external strategies
+      revert: allow reverting a root commit
+      t3503: test cherry picking and reverting root commits
+      connect: treat generic proxy processes like ssh processes
+      connect: let callers know if connection is a socket
+      send-pack: avoid deadlock on git:// push with failed pack-objects
+      test core.gitproxy configuration
+
+Jim Meyering (1):
+      do not read beyond end of malloc'd buffer
+
+Johannes Sixt (3):
+      Documentation/format-patch: suggest Toggle Word Wrap add-on for Thunderbird
+      send-pack: avoid deadlock when pack-object dies early
+      Honor $(prefix) set in config.mak* when defining ETC_GIT*
+
+Jonathan Nieder (5):
+      Revert "t0081 (line-buffer): add buffering tests"
+      Documentation: explain how to check for patch corruption
+      Documentation: hints for sending patches inline with Thunderbird
+      Documentation: publicize KMail hints for sending patches inline
+      Documentation: publicize hints for sending patches with GMail
+
+Junio C Hamano (4):
+      Revert "Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir"
+      setup_revisions(): take pathspec from command line and --stdin correctly
+      sideband_demux(): fix decl-after-stmt
+      Git 1.7.5.3
+
+Kacper Kornet (1):
+      Honor $(prefix) set in config.mak* when defining ETC_GIT* and sysconfdir
+
+Michael J Gruber (2):
+      config.txt,diff-options.txt: porcelain vs. plumbing for color.diff
+      git-svn: Fix git svn log --show-commit
+
+Nguyễn Thái Ngọc Duy (1):
+      init/clone: remove short option -L and document --separate-git-dir
+
+Rafael Gieschke (1):
+      copy_gecos: fix not adding nlen to len when processing "&"
+
+Stefan Sperling (1):
+      remove noise and inaccuracies from git-svn docs
+
+
+Version v1.7.5.2; changes since v1.7.5.1:
+-----------------------------------------
+
+Andrew Wong (1):
+      git-rebase--interactive.sh: preserve-merges fails on merges created with no-ff
+
+Brian Gernhardt (1):
+      t/annotate-tests: Use echo & cat instead of sed
+
+Carlos Martín Nieto (2):
+      format-patch: don't pass on the --quiet flag
+      format-patch: document --quiet option
+
+Ciaran Jessup (1):
+      Pass empty file to p4merge where no base is suitable.
+
+Dima Sharov (1):
+      shell: add missing initialization of argv0_path
+
+Guy Rouillier (1):
+      Look for password in both CVS and CVSNT password files.
+
+Jakub Narębski (2):
+      git-instaweb: Simplify build dependency on gitweb
+      Remove gitweb/gitweb.cgi and other legacy targets from main Makefile
+
+Jeff King (3):
+      pretty: quote rfc822 specials in email addresses
+      add tests for merge-index / merge-one-file
+      merge-one-file: fix broken merges with alternate work trees
+
+Jim Meyering (1):
+      Documentation/git-fsck.txt: fix typo: unreadable -> unreachable
+
+Johan Herland (1):
+      t5400: Fix a couple of typos
+
+Jonathan Nieder (4):
+      Restructure documentation for git-merge-base.
+      Documentation: describe the format of messages with inline patches
+      add, merge, diff: do not use strcasecmp to compare config variable names
+      provide a copy of the LGPLv2.1
+
+Jonathon Mah (1):
+      mergetool: Teach about submodules
+
+Josh Stone (1):
+      blame: tolerate bogus e-mail addresses a bit better
+
+João Britto (1):
+      Remove duplicated "is a"
+
+Junio C Hamano (19):
+      test: use $_z40 from test-lib
+      diff.c: return filepair from diff_unmerge()
+      diff: remove often unused parameters from diff_unmerge()
+      diff-files: show unmerged entries correctly
+      Fix "add -u" that sometimes fails to resolve unmerged paths
+      add -p: 'q' should really quit
+      t3701: Editing a split hunk in an "add -p" session
+      add--interactive.perl: factor out repeated --recount option
+      "add -p": work-around an old laziness that does not coalesce hunks
+      t3701: fix here document
+      merge: make branch.<name>.mergeoptions correctly override merge.<option>
+      t3701: add-p-fix makes the last test to pass
+      t1507: avoid "${parameter<op>'word'}" inside double-quotes
+      Prepare for 1.7.5.2
+      sha1_file: typofix
+      git_open_noatime(): drop unused parameter
+      Update draft release notes to 1.7.5.2
+      Update draft release notes to 1.7.5.2
+      Git 1.7.5.2
+
+Martin von Zweigbergk (1):
+      diffcore-rename: don't consider unmerged path as source
+
+Michael J Gruber (1):
+      git-fast-import.txt: --relative-marks takes no parameter
+
+Sebastian Schuberth (1):
+      doc: Clarify that "cherry-pick -x" does not use "git notes"
+
+Sverre Rabbelier (1):
+      fast-import: fix option parser for no-arg options
+
+Valentin Haenel (3):
+      git-svn.txt: fix usage of --add-author-from
+      git-svn.txt: move option descriptions
+      git-svn.txt: small typeface improvements
+
+Vincent van Ravesteijn (1):
+      Documentation: update to git-merge-base --octopus
+
+
+Version v1.7.5.1; changes since v1.7.5:
+---------------------------------------
+
+Alex Riesen (1):
+      clean: unreadable directory may still be rmdir-able if it is empty
+
+Dan McGee (2):
+      stash: add two more tests for --no-keep-index
+      stash: ensure --no-keep-index and --patch can be used in any order
+
+Jeff King (3):
+      stash: fix accidental apply of non-existent stashes
+      stash: drop dirty worktree check on apply
+      upload-pack: start pack-objects before async rev-list
+
+Johan Herland (4):
+      --dirstat: Describe non-obvious differences relative to --stat or regular diff
+      --dirstat-by-file: Make it faster and more correct
+      Teach --dirstat not to completely ignore rearranged lines within a file
+      --dirstat: In case of renames, use target filename instead of source filename
+
+Jon Seymour (1):
+      stash: fix false positive in the invalid ref test.
+
+Junio C Hamano (4):
+      Teach core.bigfilethreashold to pack-objects
+      http: clear POSTFIELDS when initializing a slot
+      Start 1.7.5.1 maintenance track
+      Git 1.7.5.1
+
+Michael J Gruber (6):
+      builtin/log.c: separate default and setup of cmd_log_init()
+      t/t1411: test reflog with formats
+      reflog: fix overriding of command line options
+      t1506: factor out test for "Did you mean..."
+      sha1_name: Suggest commit:./file for path in subdir
+      date: avoid "X years, 12 months" in relative dates
+
+Sylvain Rabot (1):
+      git-send-email: fix missing space in error message
+
+Valentin Haenel (1):
+      git-add.txt: document 'add.ignoreErrors'
+
+
+Version v1.7.5; changes since v1.7.5-rc3:
+-----------------------------------------
+
+Junio C Hamano (1):
+      Git 1.7.5
+
+
+Version v1.7.5-rc3; changes since v1.7.5-rc2:
+---------------------------------------------
+
+Junio C Hamano (3):
+      Revert "run-command: prettify -D_FORTIFY_SOURCE workaround"
+      Git 1.7.4.5
+      Git 1.7.5-rc3
+
+Michael J Gruber (3):
+      git.txt: fix list continuation
+      t3306,t5304: avoid clock skew issues
+      git-svn.txt: Document --mergeinfo
+
+René Scharfe (1):
+      archive: document limitation of tar.umask config setting
+
+
+Version v1.7.5-rc2; changes since v1.7.5-rc1:
+---------------------------------------------
+
+Alejandro R. Sedeño (1):
+      git-svn: Add a svn-remote.<name>.pushurl config key
+
+Anders Kaseorg (2):
+      gitk: Take only numeric version components when computing $git_version
+      gitk: Update cherry-pick error message parsing
+
+Andrew Garber (1):
+      git-p4: replace each tab with 8 spaces for consistency
+
+James Y Knight (1):
+      git-svn: Cache results of running the executable "git config"
+
+Jim Meyering (1):
+      remove doubled words, e.g., s/to to/to/, and fix related typos
+
+Johannes Sixt (2):
+      t0001: guard a new test with SYMLINKS prerequisite
+      t2021: mark a test as fixed
+
+Junio C Hamano (1):
+      Git 1.7.5-rc2
+
+Pat Thoyts (1):
+      gitk: Quote tag names in event bindings to avoid problems with % chars
+
+Paul Mackerras (1):
+      gitk: Allow user to control how much of the SHA1 ID gets auto-selected
+
+Ramkumar Ramachandra (1):
+      revert: Hide '-r' option in default usage
+
+Ramsay Jones (1):
+      i18n: avoid parenthesized string as array initializer
+
+Skip (1):
+      gitk: spelling fixes in Russian translation
+
+Ævar Arnfjörð Bjarmason (1):
+      Makefile: extract Q_() source strings as ngettext()
+
+
+Version v1.7.5-rc1; changes since v1.7.5-rc0:
+---------------------------------------------
+
+Dan McGee (2):
+      Remove old binaries from .gitignore
+      Fix two unused variable warnings in gcc 4.6
+
+Jakub Narębski (1):
+      gitweb: Fix parsing of negative fractional timezones in JavaScript
+
+Jared Hance (1):
+      merge: match the help text with the documentation
+
+Jeff King (7):
+      merge: merge unborn index before setting ref
+      pull: do not clobber untracked files on initial pull
+      remote: disallow some nonsensical option combinations
+      remote: separate the concept of push and fetch mirrors
+      remote: deprecate --mirror
+      docs: fix filter-branch subdir example for exotic repo names
+      pull: do not clobber untracked files on initial pull
+
+Jens Lehmann (7):
+      fetch/pull: recurse into submodules when necessary
+      fetch/pull: Add the 'on-demand' value to the --recurse-submodules option
+      config: teach the fetch.recurseSubmodules option the 'on-demand' value
+      Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option
+      fetch/pull: Don't recurse into a submodule when commits are already present
+      submodule update: Don't fetch when the submodule commit is already present
+      fetch/pull: Describe --recurse-submodule restrictions in the BUGS section
+
+Joe Ratterman (1):
+      grep: allow -E and -n to be turned on by default via configuration
+
+Jonathan Nieder (1):
+      compat: add missing #include <sys/resource.h>
+
+Junio C Hamano (8):
+      merge: merge with the default upstream branch without argument
+      "log --cherry-pick" documentation regression fix
+      Doc: mention --delta-base-offset is the default for Porcelain commands
+      Git 1.7.4.3
+      Update release notes
+      Start preparing for 1.7.4.4
+      Git 1.7.4.4
+      Git 1.7.5-rc1
+
+Lawrence Mitchell (1):
+      git.el: Don't use font-lock-compile-keywords
+
+Michael J Gruber (3):
+      revisions.txt: consistent use of quotes
+      revisions.txt: structure with a labelled list
+      revisions.txt: language improvements
+
+Nguyễn Thái Ngọc Duy (2):
+      git-init.txt: move description section up
+      init, clone: support --separate-git-dir for .git file
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: process conflicting submodules only once
+
+SZEDER Gábor (1):
+      Documentation: trivial grammar fix in core.worktree description
+
+Stephen Boyd (2):
+      Makefile: Cover more files with make check
+      sparse: Fix errors and silence warnings
+
+Ævar Arnfjörð Bjarmason (70):
+      i18n: git-init basic messages
+      i18n: git-init "Initialized [...] repository" message
+      i18n: git-clone basic messages
+      i18n: git-clone "Cloning into" message
+      i18n: git-clone "Cloning into" message
+      i18n: git-add basic messages
+      i18n: git-add "The following paths are ignored" message
+      i18n: git-add "did not match any files" message
+      i18n: git-add "remove '%s'" message
+      i18n: git-add "Unstaged changes" message
+      i18n: git-branch basic messages
+      i18n: git-branch "remote branch '%s' not found" message
+      i18n: git-branch "Deleted branch [...]" message
+      i18n: git-branch "git branch -v" messages
+      i18n: git-branch "(no branch)" message
+      i18n: git-checkout basic messages
+      i18n: git-checkout: our/their version message
+      i18n: git-checkout describe_detached_head messages
+      i18n: git-checkout "HEAD is now at" message
+      i18n: git-checkout "Switched to a .. branch" message
+      i18n: git-commit basic messages
+      i18n: git-commit "middle of a merge" message
+      i18n: git-commit formatting messages
+      i18n: git-commit print_summary messages
+      i18n: git-commit "enter the commit message" message
+      i18n: git-commit advice messages
+      i18n: git-diff basic messages
+      i18n: git-fetch basic messages
+      i18n: git-fetch formatting messages
+      i18n: git-fetch update_local_ref messages
+      i18n: git-fetch split up "(non-fast-forward)" message
+      i18n: git-grep basic messages
+      i18n: git-grep "--open-files-in-pager" message
+      i18n: git-log basic messages
+      i18n: git-log "--OPT does not make sense" messages
+      i18n: git-merge basic messages
+      i18n: git-merge "Updating %s..%s" message
+      i18n: git-merge "You have not concluded your merge" messages
+      i18n: git-merge "Wonderful" message
+      i18n: git-mv basic messages
+      i18n: git-mv "bad" messages
+      i18n: git-rm basic messages
+      i18n: git-reset basic messages
+      i18n: git-reset reset_type_names messages
+      i18n: git-reset "Unstaged changes after reset" message
+      i18n: git-tag basic messages
+      i18n: git-tag tag_template message
+      i18n: git-push basic messages
+      i18n: git-push "prevent you from losing" message
+      i18n: git-status basic messages
+      i18n: git-status "nothing to commit" messages
+      i18n: git-status shortstatus messages
+      i18n: git-status "Changes to be committed" message
+      i18n: git-status "Initial commit" message
+      i18n: git-status "renamed: " message
+      i18n: git-archive basic messages
+      i18n: git-bundle basic messages
+      i18n: git-clean basic messages
+      i18n: git-clean clean.requireForce messages
+      i18n: git-describe basic messages
+      i18n: git-gc basic messages
+      i18n: git-gc "Auto packing the repository" message
+      i18n: git-notes basic commands
+      i18n: git-notes GIT_NOTES_REWRITE_MODE error message
+      i18n: git-revert basic messages
+      i18n: git-revert "Your local changes" message
+      i18n: git-revert literal "me" messages
+      i18n: git-revert split up "could not revert/apply" message
+      i18n: git-shortlog basic messages
+      t2019-checkout-ambiguous-ref.sh: depend on C_LOCALE_OUTPUT
+
+
+Version v1.7.5-rc0; changes since v1.7.4.5:
+-------------------------------------------
+
+Alex Riesen (2):
+      git-gui: update russian translation
+      git-gui: update russian translation
+
+Alexandre Erwin Ittner (1):
+      git-gui: add Brazilian Portuguese (pt-BR) translation
+
+Bert Wesarg (16):
+      git-gui: fix ANSI-color parsing
+      git-gui: respect conflict marker size
+      git-gui: fix browsers [Up To Parent] in sub-sub-directories.
+      git-gui: Fix use of renamed tag.
+      git-gui: Fix use of hunk tag for non-hunk content.
+      git-gui: fix typo in image data
+      git-gui: remove 'no such variable' for s error when encounter unknown file states
+      git-gui: learn more type change states
+      git-gui: rework handling of diff header
+      git-gui: handle index lines only in the diff header
+      git-gui: name also new symlinks so
+      git-gui: there is no "mode *" diff header line
+      git-gui: move 3way diff autodetect up
+      git-gui: always reset the current tag
+      git-gui: handle special content lines only in the diff header section
+      git-gui: handle meta diff header lines only in the header section
+
+Carlo Marcelo Arenas Belon (1):
+      setup: translate symlinks in filename when using absolute paths
+
+Carlos Martín Nieto (1):
+      Name make_*_path functions more accurately
+
+David Barr (8):
+      vcs-svn: Allow simple v3 dumps (no deltas yet)
+      vcs-svn: Implement Prop-delta handling
+      fast-import: add 'ls' command
+      vcs-svn: use strbuf for revision log
+      vcs-svn: use strbuf for author, UUID, and URL
+      vcs-svn: implement perfect hash for node-prop keys
+      vcs-svn: implement perfect hash for top-level keys
+      vcs-svn: use strchr to find RFC822 delimiter
+
+Drew Northup (1):
+      Documentation: "rebase <onto> <that>" stays on <that> branch upon exit
+
+Elijah Newren (2):
+      Make rev-list --objects work together with pathspecs
+      Add testcases showing how pathspecs are handled with rev-list --objects
+
+Erik Faye-Lund (1):
+      alias: use run_command api to execute aliases
+
+Giuseppe Bilotta (1):
+      Improve test for pthreads flag
+
+Heiko Voigt (13):
+      git gui: keep selected branch when remote is changed in push dialog
+      git-gui: scroll down to default selection for push dialog
+      git-gui: instead of defaulting to home directory use working directory
+      mingw: move unlink wrapper to mingw.c
+      mingw: work around irregular failures of unlink on windows
+      mingw: make failures to unlink or move raise a question
+      mingw: add fallback for rmdir in case directory is in use
+      git-gui: fix deleting item from all_remotes variable
+      git-gui: always default to the last merged branch in remote delete
+      git-gui: refactor remote submenu creation into subroutine
+      git-gui: teach fetch/prune menu to do it for all remotes
+      git-gui: fetch/prune all entry only for more than one entry
+      git-gui: fetch/prune all entry appears last
+
+Ian Wienand (1):
+      Obey p4 views when using client spec
+
+Jakob Pfender (2):
+      object.h: Remove obsolete struct object_refs
+      git-completion: Add git help completion for aliases
+
+Jakub Narębski (1):
+      gitweb: Make i18n (encoding) tests in t9500 leave clean state
+
+Jay Soffian (4):
+      git-checkout.txt: improve detached HEAD documentation
+      Introduce CHERRY_PICK_HEAD
+      bash: teach __git_ps1 about CHERRY_PICK_HEAD
+      Teach commit about CHERRY_PICK_HEAD
+
+Jeff King (23):
+      merge: improve inexact rename limit warning
+      bump rename limit defaults (again)
+      commit: stop setting rename limit
+      add inexact rename detection progress infrastructure
+      merge: enable progress reporting for rename detection
+      pull: propagate --progress to merge
+      compat: provide a fallback va_copy definition
+      strbuf: add strbuf_vaddf
+      trace: add trace_vprintf
+      trace: refactor to support multiple env variables
+      trace: factor out "do we want to trace" logic
+      trace: add trace_strbuf
+      add packet tracing debug code
+      trace: give repo_setup trace its own key
+      doc: drop author/documentation sections from most pages
+      doc: add missing git footers
+      docs: point git.txt author credits to git-scm.com
+      checkout: add basic tests for detached-orphan warning
+      checkout: clear commit marks after detached-orphan check
+      checkout: tweak detached-orphan warning format
+      t7607: mark known breakage in test 11 as fixed
+      t7607: clean up stray untracked file
+      tests: kill backgrounded processes more robustly
+
+Jens Lehmann (1):
+      tests: fix overeager scrubbing of environment variables
+
+Johannes Schindelin (2):
+      mingw_rmdir: set errno=ENOTEMPTY when appropriate
+      Remove unused variables
+
+Johannes Sixt (1):
+      rerere forget: deprecate invocation without pathspec
+
+Jonathan Nieder (75):
+      vcs-svn: Check for errors from open()
+      vcs-svn: Eliminate node_ctx.srcRev global
+      vcs-svn: Eliminate node_ctx.mark global
+      vcs-svn: Unclutter handle_node by introducing have_props var
+      vcs-svn: Use mark to indicate nodes with included text
+      vcs-svn: handle_node: Handle deletion case early
+      vcs-svn: Replace = Delete + Add
+      vcs-svn: Combine repo_replace and repo_modify functions
+      vcs-svn: Delay read of per-path properties
+      vcs-svn: Reject path nodes without Node-action
+      vcs-svn: More dump format sanity checks
+      vcs-svn: Make source easier to read on small screens
+      vcs-svn: Split off function for handling of individual properties
+      vcs-svn: Sharpen parsing of property lines
+      vcs-svn: Allow change nodes for root of tree (/)
+      cherry-pick/revert: add support for -X/--strategy-option
+      unpack-trees: handle lstat failure for existing directory
+      unpack-trees: handle lstat failure for existing file
+      userdiff: simplify word-diff safeguard
+      t4034 (diff --word-diff): style suggestions
+      glossary: define pathspec
+      checkout: split off a function to peel away branchname arg
+      checkout: rearrange update_refs_for_switch for clarity
+      t3507: introduce pristine-detach helper
+      checkout: add missing const to describe_detached_head
+      update-index --refresh --porcelain: add missing const
+      vcs-svn: eliminate global byte_buffer
+      vcs-svn: replace buffer_read_string memory pool with a strbuf
+      vcs-svn: collect line_buffer data in a struct
+      vcs-svn: teach line_buffer to handle multiple input files
+      vcs-svn: make test-line-buffer input format more flexible
+      tests: give vcs-svn/line_buffer its own test script
+      vcs-svn: tweak test-line-buffer to not assume line-oriented input
+      t0081 (line-buffer): add buffering tests
+      vcs-svn: add binary-safe read function
+      vcs-svn: allow character-oriented input
+      vcs-svn: allow input from file descriptor
+      vcs-svn: teach line_buffer about temporary files
+      fast-import: make code "-Wpointer-arith" clean
+      vcs-svn: introduce repo_read_path to check the content at a path
+      vcs-svn: handle_node: use repo_read_path
+      vcs-svn: simplify repo_modify_path and repo_copy
+      vcs-svn: allow input errors to be detected promptly
+      compat: fall back on __va_copy if available
+      wt-status: add helpers for printing wt-status lines
+      commit: refer to commit template as s->fp
+      commit, status: use status_printf{,_ln,_more} helpers
+      i18n: do not poison translations unless GIT_GETTEXT_POISON envvar is set
+      wt-status: add helpers for printing wt-status lines
+      commit: refer to commit template as s->fp
+      commit, status: use status_printf{,_ln,_more} helpers
+      i18n: add stub Q_() wrapper for ngettext
+      i18n: "make distclean" should clean up after "make pot"
+      tests: stop worrying about obsolete environment variables
+      tests: suppress system gitattributes
+      gitattributes: drop support for GIT_ATTR_NOGLOBAL
+      config: drop support for GIT_CONFIG_NOGLOBAL
+      tests: scrub environment of GIT_* variables
+      declare 1-bit bitfields to be unsigned
+      vcs-svn: remove spurious semicolons
+      mktag: avoid %td in format string
+      unbreak and eliminate NO_C99_FORMAT
+      run-command: prettify -D_FORTIFY_SOURCE workaround
+      vcs-svn: improve support for reading large files
+      vcs-svn: make buffer_skip_bytes return length read
+      vcs-svn: make buffer_copy_bytes return length read
+      vcs-svn: improve reporting of input errors
+      tests: avoid nonportable {foo,bar} glob
+      vcs-svn: make reading of properties binary-safe
+      vcs-svn: remove buffer_read_string
+      vcs-svn: avoid unnecessary copying of log message and author
+      vcs-svn: handle log message with embedded NUL
+      vcs-svn: add missing cast to printf argument
+      vcs-svn: add missing cast to printf argument
+      tests: make sure input to sed is newline terminated
+
+Junio C Hamano (29):
+      unpack-trees.c: cosmetic fix
+      unpack_trees(): skip trees that are the same in all input
+      t4034 (diff --word-diff): add a minimum Perl drier test vector
+      t6004: add pathspec globbing test for log family
+      checkout: introduce --detach synonym for "git checkout foo^{commit}"
+      Rename t2019 with typo "amiguous" that meant "ambiguous"
+      Revert "unpack_trees(): skip trees that are the same in all input"
+      grep --no-index: honor pathspecs correctly
+      rev-list: --left/right-only are mutually exclusive
+      commit: give final warning when reattaching HEAD to leave commits behind
+      Start preparing release notes to 1.7.5
+      Update Release Notes to 1.7.5
+      Update draft release notes to 1.7.5
+      refs_from_alternate: helper to use refs from alternates
+      fetch-pack: objects in our alternates are available to us
+      fetch-pack: factor out hardcoded handshake window size
+      fetch-pack: progressively use larger handshake windows
+      fetch-pack: use smaller handshake window for initial request
+      Update drart release notes to 1.7.5
+      Update draft release notes to 1.7.5
+      rerere: make sure it works even in a workdir attached to a young repository
+      Update draft release note to 1.7.5
+      Revert "upload-pack: Implement no-done capability"
+      Revert "fetch-pack: Implement no-done capability"
+      enable "no-done" extension only when fetching over smart-http
+      Fix potential local deadlock during fetch-pack
+      enable "no-done" extension only when serving over smart-http
+      Revert two "no-done" reverts
+      Git 1.7.5-rc0
+
+Kevin Cernekee (1):
+      gitweb: fix #patchNN anchors when path_info is enabled
+
+Martin von Zweigbergk (2):
+      rerere "remaining"
+      mergetool: don't skip modify/remove conflicts
+
+Matthieu Moy (2):
+      push: better error messages when push.default = tracking
+      push: better error message when no remote configured
+
+Michael Horowitz (1):
+      git-p4 submit: prevent 'Jobs' section from being removed from p4 change log
+
+Michael J Gruber (14):
+      revlist.c: introduce --left/right-only for unsymmetric picking
+      t6007: Make sure we test --cherry-pick
+      rev-list: documentation and test for --left/right-only
+      git-add: make -A description clearer vs. -u
+      rev-list/log: factor out revision mark generation
+      revision.c: introduce --cherry-mark
+      rev-list: documentation and test for --cherry-mark
+      log --cherry: a synonym
+      t6007: test rev-list --cherry
+      git-log: put space after commit mark
+      RelNotes/1.7.5.txt: typo and language fixes
+      t6009: use test_commit() from test-lib.sh
+      revision.c: introduce --min-parents and --max-parents options
+      rev-list --min-parents,--max-parents: doc, test and completion
+
+Michael Witten (1):
+      vcs-svn: a void function shouldn't try to return something
+
+Nguyễn Thái Ngọc Duy (22):
+      Add struct pathspec
+      diff-no-index: use diff_tree_setup_paths()
+      Convert struct diff_options to use struct pathspec
+      tree_entry_interesting(): remove dependency on struct diff_options
+      Move tree_entry_interesting() to tree-walk.c and export it
+      diff-tree: convert base+baselen to writable strbuf
+      tree_entry_interesting(): refactor into separate smaller functions
+      tree_entry_interesting(): support depth limit
+      tree_entry_interesting(): fix depth limit with overlapping pathspecs
+      tree_entry_interesting(): support wildcard matching
+      tree_entry_interesting(): optimize wildcard matching when base is matched
+      pathspec: add match_pathspec_depth()
+      struct rev_info: convert prune_data to struct pathspec
+      Convert ce_path_match() to use struct pathspec
+      Convert ce_path_match() to use match_pathspec_depth()
+      grep: convert to use struct pathspec
+      grep: use match_pathspec_depth() for cache/worktree grepping
+      grep: use writable strbuf from caller for grep_tree()
+      grep: drop pathspec_matches() in favor of tree_entry_interesting()
+      t7810: overlapping pathspecs and depth limit
+      Make hash-object more robust against malformed objects
+      git.c: reorder builtin command list
+
+Nicolas Kaiser (1):
+      transport-helper.c: fix check for (size_t < 0)
+
+Pat Thoyts (2):
+      git-gui: Include version check and test for tearoff menu entry
+      git-gui: detect the use of MUI langauge packs on Windows
+
+Pete Wyckoff (12):
+      git-p4: test script
+      git-p4: fix key error for p4 problem
+      git-p4: add missing newline in initial import message
+      git-p4: accommodate new move/delete type in p4
+      git-p4: reinterpret confusing p4 message
+      git-p4: better message for "git-p4 sync" when not cloned
+      git-p4: decode p4 wildcard characters
+      git-p4: support clone --bare
+      git-p4: fix clone @all regression
+      git-p4: test clone @all
+      git-p4: fix sync new branch regression
+      git-p4: test sync new branch
+
+Piotr Krukowiecki (1):
+      Documentation: running test with --debug keeps "trash" directory
+
+Ramkumar Ramachandra (1):
+      fast-import: Introduce --import-marks-if-exists
+
+René Scharfe (2):
+      repo-config: add deprecation warning
+      grep: read patterns from stdin with -f -
+
+SZEDER Gábor (2):
+      bash: fix misindented esac statement in __git_complete_file()
+      bash: complete 'git diff ...branc<TAB>'
+
+Sebastian Schuberth (4):
+      mergetool--lib: Sort tools alphabetically for easier lookup
+      mergetool--lib: Add Beyond Compare 3 as a tool
+      mergetool--lib: Sort tools alphabetically for easier lookup
+      mergetool--lib: Add Beyond Compare 3 as a tool
+
+Serge Ziryukin (1):
+      git-gui: fix russian translation typos
+
+Shawn O. Pearce (6):
+      smart-http: Don't use Expect: 100-Continue
+      smart-http: Really never use Expect: 100-continue
+      fetch-pack: Finish negotation if remote replies "ACK %s ready"
+      upload-pack: More aggressively send 'ACK %s ready'
+      fetch-pack: Implement no-done capability
+      upload-pack: Implement no-done capability
+
+Skip (1):
+      git-gui: spelling fixes in russian translation
+
+Stefan Naewe (1):
+      git-gui: use --exclude-standard to check for untracked files
+
+Stephen Boyd (1):
+      Fix sparse warnings
+
+Thomas Rast (2):
+      Exhibit merge bug that clobbers index&WT
+      t4034: bulk verify builtin word regex sanity
+
+Tor Arvid Lund (3):
+      git-p4: Teach gitConfig method about arguments.
+      Teach git-p4 to ignore case in perforce filenames if configured.
+      git-p4: Fix error message crash in P4Sync.commit.
+
+Uwe Kleine-König (2):
+      get_remote_url(): use the same data source as ls-remote to get remote urls
+      git-request-pull: open-code the only invocation of get_remote_url
+
+Vitor Antunes (2):
+      git-p4: Improve rename detection support
+      git-p4: Add copy detection support
+
+Ævar Arnfjörð Bjarmason (4):
+      gitignore: add test-mktemp to ignore list
+      i18n: add no-op _() and N_() wrappers
+      i18n: add GETTEXT_POISON to simulate unfriendly translator
+      i18n: Makefile: "pot" target to extract messages marked for translation
+
+
+Version v1.7.4.5; changes since v1.7.4.4:
+-----------------------------------------
+
+Johannes Sixt (1):
+      t2021: mark a test as fixed
+
+Junio C Hamano (2):
+      "log --cherry-pick" documentation regression fix
+      Git 1.7.4.5
+
+Michael J Gruber (3):
+      git.txt: fix list continuation
+      t3306,t5304: avoid clock skew issues
+      git-svn.txt: Document --mergeinfo
+
+René Scharfe (1):
+      archive: document limitation of tar.umask config setting
+
+
+Version v1.7.4.4; changes since v1.7.4.3:
+-----------------------------------------
+
+Jakub Narębski (2):
+      git-instaweb: Change how gitweb.psgi is made runnable as standalone app
+      gitweb: Fix parsing of negative fractional timezones in JavaScript
+
+Jeff King (4):
+      strbuf: add fixed-length version of add_wrapped_text
+      format-patch: wrap long header lines
+      format-patch: rfc2047-encode newlines in headers
+      pull: do not clobber untracked files on initial pull
+
+Jonathan Nieder (1):
+      compat: add missing #include <sys/resource.h>
+
+Junio C Hamano (6):
+      list-objects.c: don't add an unparsed NULL as a pending tree
+      Rename core.abbrevlength back to core.abbrev
+      diff/status: refactor opportunistic index update
+      update $GIT_INDEX_FILE when there are racily clean entries
+      Start preparing for 1.7.4.4
+      Git 1.7.4.4
+
+Libor Pechacek (2):
+      Sanity-check config variable names
+      Disallow empty section and variable names
+
+Linus Torvalds (1):
+      Make the default abbrev length configurable
+
+Matthieu Moy (1):
+      log: fix --max-count when used together with -S or -G
+
+Michael J Gruber (2):
+      git-log.txt,rev-list-options.txt: -n/--max-count is commit limiting
+      git-log.txt,rev-list-options.txt: put option blocks in proper order
+
+Nicolas Morey-Chaisemartin (1):
+      submodule: process conflicting submodules only once
+
+SZEDER Gábor (1):
+      Documentation: trivial grammar fix in core.worktree description
+
+
+Version v1.7.4.3; changes since v1.7.4.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      HOME must be set before calling git-init when creating test repositories
+
+Carlos Martín Nieto (1):
+      Documentation/config.txt: make truth value of numbers more explicit
+
+Clemens Buchacher (1):
+      do not overwrite untracked symlinks
+
+Fabian Keil (1):
+      git-cvsimport.perl: Bail out right away when reading from the server fails
+
+Jeff King (1):
+      docs: fix filter-branch subdir example for exotic repo names
+
+Joe Ratterman (1):
+      grep: Add the option '--line-number'
+
+Johan Herland (1):
+      branch/checkout --track: Ensure that upstream branch is indeed a branch
+
+Johannes Sixt (3):
+      Demonstrate breakage: checkout overwrites untracked symlink with directory
+      stash: fix incorrect quoting in cleanup of temporary files
+      stash: copy the index using --index-output instead of cp -p
+
+Junio C Hamano (9):
+      checkout: fix bug with ambiguous refs
+      apply: do not patch lines that were already patched
+      apply -v: show offset count when patch did not apply exactly
+      diff --quiet: disable optimization when --diff-filter=X is used
+      doc: technical details about the index file format
+      t8001: check the exit status of the command being tested
+      parse-remote: typofix
+      Doc: mention --delta-base-offset is the default for Porcelain commands
+      Git 1.7.4.3
+
+Maxin john (1):
+      contrib/thunderbird-patch-inline: do not require bash to run the script
+
+Michael J Gruber (2):
+      git-bisect.txt: streamline run presentation
+      git-bisect.txt: example for bisecting with hot-fix
+
+Michael Witten (3):
+      git tag documentation grammar fixes and readability updates
+      Typos: t/README
+      strbuf.h: remove a tad stale docs-in-comment and reference api-doc instead
+
+Nguyễn Thái Ngọc Duy (1):
+      doc: technical details about the index file format
+
+Piotr Krukowiecki (2):
+      git stash: show status relative to current directory
+      Add test: git stash shows status relative to current dir
+
+Stephen Boyd (2):
+      parse-remote: replace unnecessary sed invocation
+      git-pack-objects.txt: fix grammatical errors
+
+
+Version v1.7.4.2; changes since v1.7.4.1:
+-----------------------------------------
+
+Adam Monsen (1):
+      diff format documentation: clarify --cc and -c
+
+Alexei Sholik (3):
+      Documentation: remove redundant colons in git-for-each-ref.txt
+      Add Author and Documentation sections to git-for-each-ref.txt
+      docs: fix grammar in gitattributes.txt
+
+Arnout Engelen (1):
+      Improve error messages when temporary file creation fails
+
+Ben Walton (1):
+      Work around broken ln on solaris as used in t8006
+
+Carlos Martín Nieto (3):
+      valgrind: ignore SSE-based strlen invalid reads
+      make_absolute_path: return the input path if it points to our buffer
+      t/README: Add a note about running commands under valgrind
+
+Clemens Buchacher (1):
+      Documentation: clarify -u<mode> option defaults
+
+Eric Hanchrow (1):
+      branch_merged: fix grammar in warning
+
+Erik Faye-Lund (1):
+      mingw: add minimum getrlimit() compatibility stub
+
+Jakub Narębski (2):
+      gitweb: Always call parse_date with timezone parameter
+      gitweb: Fix handling of fractional timezones in parse_date
+
+Jay Soffian (1):
+      merge: honor prepare-commit-msg hook
+
+Jeff King (5):
+      string_list_append: always set util pointer to NULL
+      clone: die when trying to clone missing local path
+      diff: handle diffstat of rewritten binary files
+      diff: don't retrieve binary blobs for diffstat
+      bisect: visualize with git-log if gitk is unavailable
+
+Johan Herland (1):
+      push.default: Rename 'tracking' to 'upstream'
+
+Jonathan Nieder (9):
+      correct type of EMPTY_TREE_SHA1_BIN
+      tests: skip terminal output tests on OS X
+      commit: error out for missing commit message template
+      enums: omit trailing comma for portability
+      compat: make gcc bswap an inline function
+      standardize brace placement in struct definitions
+      branch: split off function that writes tracking info and commit subject
+      cherry: split off function to print output lines
+      diff --submodule: split into bite-sized pieces
+
+Junio C Hamano (8):
+      CodingGuidelines: downcase placeholders in usage messages
+      verify-pack: add --stat-only to the synopsis section
+      SubmittingPatches: clarify the expected commit log description
+      Revert "core.abbrevguard: Ensure short object names stay unique a bit longer"
+      Prepare draft release notes to 1.7.4.2
+      bisect: explain the rationale behind 125
+      Update draft release notes to 1.7.4.2
+      Git 1.7.4.2
+
+Kevin Cernekee (1):
+      gitweb: highlight: replace tabs with spaces
+
+Linus Torvalds (3):
+      for_each_hash: allow passing a 'void *data' pointer to callback
+      diffcore-rename: properly honor the difference between -M and -C
+      diffcore-rename: improve estimate_similarity() heuristics
+
+Masatake Osanai (1):
+      perl: command_bidi_pipe() method should set-up git environmens
+
+Mathias Lafeldt (1):
+      Fix typo in t/README
+
+Michael J Gruber (16):
+      commit,tag: use same wording for -F
+      commit,status: describe --porcelain just like push
+      clone,init: describe --template using the same wording
+      commit,merge,tag: describe -m likewise
+      add: describe --patch like checkout, reset
+      commit,status: describe -u likewise
+      git-tag.txt: list all modes in the description
+      pull: do not display fetch usage on --help-all
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase as per CodingGuidelines
+      Make <identifier> lowercase in Documentation
+      git-patch-id: test for "no newline" markers
+      git-patch-id: do not trip over "no newline" markers
+      mergetool-lib: call vim in readonly mode for diffs
+      rev-list-options.txt: typo fix
+
+Michal Rokos (2):
+      Makefile: add NO_FNMATCH_CASEFOLD to HP-UX section
+      git-compat-util.h: Honor HP C's noreturn attribute
+
+Michał Kiedrowicz (1):
+      Documentation: fix a typo in git-apply.txt
+
+Nguyễn Thái Ngọc Duy (2):
+      parse_tag_buffer(): do not prefixcmp() out of range
+      init: remove unnecessary check
+
+Piotr Krukowiecki (1):
+      ls-remote documentation: <refs> argument is optional
+
+Ralf Wildenhues (1):
+      configure: use AC_LANG_PROGRAM consistently
+
+SZEDER Gábor (1):
+      git-am.txt: advertise 'git am --abort' instead of 'rm .git/rebase-apply'
+
+Shawn O. Pearce (2):
+      Limit file descriptors used by packs
+      sha1_file.c: Don't retain open fds on small packs
+
+Spencer E. Olson (2):
+      submodule: no [--merge|--rebase] when newly cloned
+      t7406: "git submodule update {--merge|--rebase]" with new submodules
+
+Ævar Arnfjörð Bjarmason (4):
+      gitweb/gitweb.perl: remove use of qw(...) as parentheses
+      gitweb/gitweb.perl: don't call S_ISREG() with undef
+      t/gitweb-lib.sh: Ensure that errors are shown for --debug --immediate
+      t/t7500-commit.sh: use test_cmp instead of test
+
+
+Version v1.7.4.1; changes since v1.7.4:
+---------------------------------------
+
+Chris Packham (1):
+      clone: fixup recurse_submodules option
+
+Jakub Narębski (1):
+      gitweb: Mention optional Perl modules in INSTALL
+
+Jens Lehmann (2):
+      t5526: Fix wrong argument order in "git config"
+      pull: Document the "--[no-]recurse-submodules" options
+
+Johannes Sixt (2):
+      start_command: flush buffers in the WIN32 code path as well
+      t4120-apply-popt: help systems with core.filemode=false
+
+Jonathan Nieder (5):
+      quote.h: simplify the inclusion
+      fast-import: clarify documentation of "feature" command
+      fast-import: introduce "feature notes" command
+      compat: helper for detecting unsigned overflow
+      svn-fe: warn about experimental status
+
+Junio C Hamano (3):
+      fsck: drop unused parameter from traverse_one_object()
+      fsck: do not give up too early in fsck_dir()
+      Git 1.7.4.1
+
+Nguyễn Thái Ngọc Duy (4):
+      diff: support --cached on unborn branches
+      Add const to parse_{commit,tag}_buffer()
+      sha1_file.c: move find_cached_object up so sha1_object_info can use it
+      sha1_object_info: examine cached_object store too
+
+Pat Thoyts (2):
+      t3509: use unconstrained initial test to setup repository.
+      t7407: fix line endings for mingw build
+
+Shawn O. Pearce (1):
+      bundle: Use OFS_DELTA in bundle files
+
+Sitaram Chamarty (1):
+      post-receive-email: suppress error if description file missing
+
+Uwe Kleine-König (1):
+      Documentation/merge subtree How-To: fix typo
+
+
+Version v1.7.4; changes since v1.7.4-rc3:
+-----------------------------------------
+
+Adam Tkac (1):
+      Don't pass "--xhtml" to hightlight in gitweb.perl script.
+
+Jeff King (3):
+      rebase: use explicit "--" with checkout
+      rebase: give a better error message for bogus branch
+      tests: sanitize more git environment variables
+
+Jonathan Nieder (2):
+      fast-import: treat filemodify with empty tree as delete
+      rebase -i: clarify in-editor documentation of "exec"
+
+Junio C Hamano (1):
+      Git 1.7.4
+
+
+Version v1.7.4-rc3; changes since v1.7.4-rc2:
+---------------------------------------------
+
+Alexey Shumkin (1):
+      userdiff: match Pascal class methods
+
+Björn Steinbrink (1):
+      Correctly report corrupted objects
+
+Erik Faye-Lund (1):
+      exec_cmd: remove unused extern
+
+Johannes Sixt (2):
+      Fix expected values of setup tests on Windows
+      t/README: hint about using $(pwd) rather than $PWD in tests
+
+Jonathan Nieder (9):
+      ll-merge: simplify opts == NULL case
+      Documentation/fast-import: capitalize beginning of sentence
+      remote-ext: do not segfault for blank lines
+      Documentation/fast-import: put explanation of M 040000 <dataref> "" in context
+      tests: cosmetic improvements to the repo-setup test
+      tests: compress the setup tests
+      Documentation: do not treat reset --keep as a special case
+      Subject: setup: officially support --work-tree without --git-dir
+      t1510: fix typo in the comment of a test
+
+Junio C Hamano (2):
+      Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase
+      Git 1.7.4-rc3
+
+Ramsay Jones (1):
+      svndump.c: Fix a printf format compiler warning
+
+
+Version v1.7.4-rc2; changes since v1.7.4-rc1:
+---------------------------------------------
+
+Anders Kaseorg (1):
+      Mark gitk script executable
+
+Brandon Casey (3):
+      trace.c: ensure NULL is not passed to printf
+      t0001,t1510,t3301: use sane_unset which always returns with status 0
+      t3032: limit sed branch labels to 8 characters
+
+Jeff King (1):
+      docs: explain diff.*.binary option
+
+Jonathan Nieder (3):
+      diff: funcname and word patterns for perl
+      gitweb: make logo optional
+      t9010: svnadmin can fail even if available
+
+Junio C Hamano (2):
+      userdiff/perl: catch BEGIN/END/... and POD as headers
+      Git 1.7.4-rc2
+
+Matthieu Moy (1):
+      commit: suggest --amend --reset-author to fix commiter identity
+
+Michael J Gruber (1):
+      RelNotes/1.7.4: minor fixes
+
+Ramsay Jones (7):
+      lib-git-svn.sh: Move web-server handling code into separate function
+      t9157-*.sh: Add an svn version check
+      t6038-*.sh: Pass the -b (--binary) option to sed on cygwin
+      t3032-*.sh: Pass the -b (--binary) option to sed on cygwin
+      t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW
+      t4135-*.sh: Skip the "backslash" tests on cygwin
+      t9157-*.sh: Make the svn version check more precise
+
+StephenB (1):
+      git svn: fix the final example in man page
+
+Sylvain Rabot (2):
+      gitweb: add extensions to highlight feature map
+      gitweb: remove unnecessary test when closing file descriptor
+
+Thomas Rast (4):
+      Documentation/git-archive: spell --worktree-attributes correctly
+      Documentation/githooks: post-rewrite-copy-notes never existed
+      submodule: fix relative url parsing for scp-style origin
+      t0000: quote TAP snippets in test code
+
+
+Version v1.7.4-rc1; changes since v1.7.4-rc0:
+---------------------------------------------
+
+Antonio Ospite (1):
+      t/t9001-send-email.sh: fix '&&' chain in some tests
+
+Jonathan Nieder (3):
+      vcs-svn: Error out for v3 dumps
+      gitweb: skip logo in atom feed when there is none
+      daemon: support <directory> arguments again
+
+Junio C Hamano (3):
+      t0021: avoid getting filter killed with SIGPIPE
+      Git 1.7.3.5
+      Git 1.7.4-rc1
+
+Michael J Gruber (2):
+      cvsimport: partial whitespace cleanup
+      cvsimport: handle the parsing of uppercase config options
+
+Pete Wyckoff (1):
+      convert filter: supply path to external driver
+
+Ralf Wildenhues (1):
+      Fix typos in the documentation
+
+Robin H. Johnson (1):
+      t9001: Fix test prerequisites
+
+
+Version v1.7.4-rc0; changes since v1.7.3.5:
+-------------------------------------------
+
+Aleksi Aalto (1):
+      status: show branchname with a configurable color
+
+Alexander Sulfrian (2):
+      daemon: add helper function named_sock_setup
+      daemon: allow more than one host address given via --listen
+
+Alexandre Erwin Ittner (1):
+      gitk: Add Brazilian Portuguese (pt-BR) translation
+
+Anders Kaseorg (4):
+      describe: Use for_each_rawref
+      describe: Do not use a flex array in struct commit_name
+      describe: Store commit_names in a hash table by commit SHA1
+      describe: Delay looking up commits until searching for an inexact match
+
+Antonio Ospite (1):
+      git-send-email.perl: make initial In-Reply-To apply only to first email
+
+Brandon Casey (3):
+      diffcore-pickaxe.c: a void function shouldn't try to return something
+      Makefile: add NO_FNMATCH_CASEFOLD to IRIX sections
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+
+Brian Gernhardt (1):
+      t6022: Use -eq not = to test output of wc -l
+
+Christopher Wilson (1):
+      Enable highlight executable path as a configuration option
+
+Clemens Buchacher (6):
+      t7607: use test-lib functions and check MERGE_HEAD
+      t7607: add leading-path tests
+      add function check_ok_to_remove()
+      lstat_cache: optionally return match_len
+      do not overwrite files in leading path
+      use persistent memory for rejected paths
+
+Dan McGee (3):
+      mergetool-lib: combine vimdiff and gvimdiff run blocks
+      mergetool-lib: add a three-way diff view for vim/gvim
+      mergetool-lib: make the three-way diff the default for vim/gvim
+
+David Barr (3):
+      fast-import: Allow filemodify to set the root
+      fast-import: insert new object entries at start of hash bucket
+      fast-import: let importers retrieve blobs
+
+Elijah Newren (53):
+      Document pre-condition for tree_entry_interesting
+      tree-walk: Correct bitrotted comment about tree_entry()
+      tree_entry_interesting(): Make return value more specific
+      diff_tree(): Skip skip_uninteresting() when all remaining paths interesting
+      t3509: Add rename + D/F conflict testcase that recursive strategy fails
+      merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
+      t6032: Add a test checking for excessive output from merge
+      t6022: Add test combinations of {content conflict?, D/F conflict remains?}
+      t6022: Add tests for reversing order of merges when D/F conflicts present
+      t6022: Add tests with both rename source & dest involved in D/F conflicts
+      t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
+      t6022: Add tests for rename/rename combined with D/F conflicts
+      t6020: Modernize style a bit
+      t6020: Add a testcase for modify/delete + directory/file conflict
+      t6036: Test index and worktree state, not just that merge fails
+      t6036: Add a second testcase similar to the first but with content changes
+      t6036: Add testcase for undetected conflict
+      merge-recursive: Small code clarification -- variable name and comments
+      merge-recursive: Rename conflict_rename_rename*() for clarity
+      merge-recursive: Nuke rename/directory conflict detection
+      merge-recursive: Move rename/delete handling into dedicated function
+      merge-recursive: Move delete/modify handling into dedicated function
+      merge-recursive: Move process_entry's content merging into a function
+      merge-recursive: New data structures for deferring of D/F conflicts
+      merge-recursive: New function to assist resolving renames in-core only
+      merge-recursive: Have process_entry() skip D/F or rename entries
+      merge-recursive: Structure process_df_entry() to handle more cases
+      merge-recursive: Update conflict_rename_rename_1to2() call signature
+      merge-recursive: Update merge_content() call signature
+      merge-recursive: Avoid doubly merging rename/add conflict contents
+      merge-recursive: Move handling of double rename of one file to two
+      merge-recursive: Move handling of double rename of one file to other file
+      merge-recursive: Delay handling of rename/delete conflicts
+      merge-recursive: Delay content merging for renames
+      merge-recursive: Delay modify/delete conflicts if D/F conflict present
+      conflict_rename_delete(): Check whether D/F conflicts are still present
+      conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
+      merge_content(): Check whether D/F conflicts are still present
+      handle_delete_modify(): Check whether D/F conflicts are still present
+      merge-recursive: Make room for directories in D/F conflicts
+      merge-recursive: Remove redundant path clearing for D/F conflicts
+      t4017 (diff-retval): replace manual exit code check with test_expect_code
+      t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&
+      t4002 (diff-basic): use test_might_fail for commands that might fail
+      t4202 (log): Replace '<git-command> || :' with test_might_fail
+      t4019 (diff-wserror): add lots of missing &&
+      t4026 (color): remove unneeded and unchained command
+      t5602 (clone-remote-exec): add missing &&
+      t6016 (rev-list-graph-simplify-history): add missing &&
+      t7001 (mv): add missing &&
+      t7601 (merge-pull-config): add missing &&
+      t7800 (difftool): add missing &&
+      Introduce sane_unset and use it to ensure proper && chaining
+
+Eric Sunshine (5):
+      Side-step sed line-ending "corruption" leading to t6038 failure.
+      Side-step MSYS-specific path "corruption" leading to t5560 failure.
+      Fix 'clone' failure at DOS root directory.
+      Fix Windows-specific macro redefinition warning.
+      Add MinGW-specific execv() override.
+
+Erik Faye-Lund (20):
+      mingw: do not crash on open(NULL, ...)
+      inet_ntop: fix a couple of old-style decls
+      mingw: use real pid
+      mingw: support waitpid with pid > 0 and WNOHANG
+      mingw: add kill emulation
+      daemon: use run-command api for async serving
+      daemon: use full buffered mode for stderr
+      daemon: get remote host address from root-process
+      mingw: import poll-emulation from gnulib
+      mingw: use poll-emulation from gnulib
+      daemon: use socklen_t
+      daemon: make --inetd and --detach incompatible
+      daemon: opt-out on features that require posix
+      msvc: opendir: fix malloc-failure
+      msvc: opendir: allocate enough memory
+      msvc: opendir: do not start the search
+      win32: dirent: handle errors
+      msvc: opendir: handle paths ending with a slash
+      win32: use our own dirent.h
+      help: always suggest common-cmds if prefix of cmd
+
+Giuseppe Bilotta (15):
+      gitweb: use fullname as hash_base in heads link
+      gitweb: introduce remote_heads feature
+      gitweb: git_get_heads_list accepts an optional list of refs
+      gitweb: separate heads and remotes lists
+      gitweb: nagivation menu for tags, heads and remotes
+      gitweb: allow action specialization in page header
+      gitweb: remotes view for a single remote
+      gitweb: refactor repository URL printing
+      gitweb: provide a routine to display (sub)sections
+      gitweb: group remote heads by remote
+      git instaweb: enable remote_heads
+      web--browse: coding style
+      web--browse: split valid_tool list
+      web--browse: support opera, seamonkey and elinks
+      web--browse: better support for chromium
+
+Greg Brockman (4):
+      Allow creation of arbitrary git-shell commands
+      Add interactive mode to git-shell for user-friendliness
+      Add sample commands for git-shell
+      shell: Display errors from improperly-formatted command lines
+
+Ilari Liusvaara (4):
+      Add bidirectional_transfer_loop()
+      git-remote-fd
+      git-remote-ext
+      remote-fd/ext: finishing touches after code review
+
+Jakub Narębski (12):
+      t/gitweb-lib.sh: Use GIT_BUILD_DIR
+      t/gitweb-lib.sh: Use tabs for indent consistently
+      gitweb: Move call to evaluate_git_version after evaluate_gitweb_config
+      t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED
+      gitweb/Makefile: Add 'test' and 'test-installed' targets
+      gitweb/Makefile: Include gitweb/config.mak
+      gitweb: Fix test of highlighting support in t9500
+      gitweb: Fix bug in evaluate_path_info
+      gitweb: Improve behavior for actionless path_info gitweb URLs
+      gitweb: Time::HiRes is in core for Perl 5.8
+      gitweb: selectable configurations that change with each request
+      gitweb: Fix handling of whitespace in generated links
+
+Jan Krüger (1):
+      read-tree: deprecate syntax without tree-ish args
+
+Jeff King (13):
+      tests: factor out terminal handling from t7006
+      tests: test terminal output to both stdout and stderr
+      push: pass --progress down to git-pack-objects
+      config: treat non-existent config files as empty
+      diff: report bogus input to -C/-M/-B
+      docs: clarify git diff modes of operation
+      allow command-specific pagers in pager.<cmd>
+      docs: default to more modern toolset
+      default color.status.branch to "same as header"
+      tests: add some script lint checks
+      tests: flip executable bit on t9158
+      handle arbitrary ints in git_config_maybe_bool
+      t2107: mark passing test as success
+
+Jens Lehmann (5):
+      clone: Add the --recurse-submodules option as alias for --recursive
+      fetch/pull: Add the --recurse-submodules option
+      Add the 'fetch.recurseSubmodules' config setting
+      Submodules: Add the "fetchRecurseSubmodules" config option
+      git submodule: Remove now obsolete tests before cloning a repo
+
+Joe Perches (1):
+      git-send-email.perl: Add --to-cmd
+
+Johan Herland (23):
+      notes.c: Hexify SHA1 in die() message from init_notes()
+      (trivial) notes.h: Minor documentation fixes to copy_notes()
+      notes.h: Make default_notes_ref() available in notes API
+      notes.c: Reorder functions in preparation for next commit
+      notes.h/c: Allow combine_notes functions to remove notes
+      notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
+      (trivial) t3303: Indent with tabs instead of spaces for consistency
+      notes.c: Use two newlines (instead of one) when concatenating notes
+      builtin/notes.c: Split notes ref DWIMmery into a separate function
+      git notes merge: Initial implementation handling trivial merges only
+      builtin/notes.c: Refactor creation of notes commits.
+      git notes merge: Handle real, non-conflicting notes merges
+      git notes merge: Add automatic conflict resolvers (ours, theirs, union)
+      Documentation: Preliminary docs on 'git notes merge'
+      git notes merge: Manual conflict resolution, part 1/2
+      git notes merge: Manual conflict resolution, part 2/2
+      git notes merge: List conflicting notes in notes merge commit message
+      git notes merge: --commit should fail if underlying notes ref has moved
+      git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
+      git notes merge: Add testcases for merging notes trees at different fanouts
+      Provide 'git notes get-ref' to easily retrieve current notes ref
+      cmd_merge(): Parse options before checking MERGE_HEAD
+      Provide 'git merge --abort' as a synonym to 'git reset --merge'
+
+Johannes Schindelin (1):
+      merge-octopus: Work around environment issue on Windows
+
+Johannes Sixt (4):
+      t7300: add a missing SYMLINKS prerequisite
+      apply --whitespace=fix: fix tab-in-indent
+      Make the tab width used for whitespace checks configurable
+      Avoid duplicate test number t7609
+
+Jonathan Nieder (52):
+      merge-recursive: expose merge options for builtin merge
+      ll-merge: replace flag argument with options struct
+      commit-tree: free commit message before exiting
+      test-lib: allow test code to check the list of declared prerequisites
+      test_terminal: catch use without TTY prerequisite
+      test_terminal: ensure redirections work reliably
+      fast-import: filemodify after M 040000 <tree> "" crashes
+      fast-import: tighten M 040000 syntax
+      t9300 (fast-import): another test for the "replace root" feature
+      fast-import: do not clear notes in do_change_note_fanout()
+      user-manual: remote-tracking can be checked out, with detached HEAD
+      tests: add missing &&
+      tests: add missing &&, batch 2
+      test-lib: introduce test_line_count to measure files
+      t6022 (renaming merge): chain test commands with &&
+      t1502 (rev-parse --parseopt): test exit code from "-h"
+      t1400 (update-ref): use test_must_fail
+      t3301 (notes): use test_expect_code for clarity
+      t3404 (rebase -i): unroll test_commit loops
+      t3404 (rebase -i): move comment to description
+      t3404 (rebase -i): introduce helper to check position of HEAD
+      t4124 (apply --whitespace): use test_might_fail
+      wrapper: move xmmap() to sha1_file.c
+      wrapper: move odb_* to environment.c
+      path helpers: move git_mkstemp* to wrapper.c
+      strbuf: move strbuf_branchname to sha1_name.c
+      wrapper: give zlib wrappers their own translation unit
+      pack-objects: mark file-local variable static
+      Remove pack file handling dependency from wrapper.o
+      Describe various forms of "be quiet" using OPT__QUIET
+      fast-import: treat SIGUSR1 as a request to access objects early
+      git-rev-parse.txt: clarify --git-dir
+      gitweb: document $per_request_config better
+      fast-import: stricter parsing of integer options
+      fast-import: clarify documentation of "feature" command
+      fast-import: Allow cat-blob requests at arbitrary points in stream
+      git submodule -b ... of current HEAD fails
+      Makefile: dependencies for vcs-svn tests
+      parse-options: clearer reporting of API misuse
+      parse-options: move NODASH sanity checks to parse_options_check
+      parse-options: sanity check PARSE_OPT_NOARG flag
+      parse-options: never suppress arghelp if LITERAL_ARGHELP is set
+      parse-options: allow git commands to invent new option types
+      parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
+      update-index: migrate to parse-options API
+      treap: make treap_insert return inserted node
+      vcs-svn: fix intermittent repo_tree corruption
+      Makefile: transport-helper uses thread-utils.h
+      t9300: avoid short reads from dd
+      bash: simple reimplementation of _get_comp_words_by_ref
+      t9300: use perl "head -c" clone in place of "dd bs=1 count=16000" kluge
+      t0001: test git init when run via an alias
+
+Joshua Jensen (6):
+      Add string comparison functions that respect the ignore_case variable.
+      Case insensitivity support for .gitignore via core.ignorecase
+      Add case insensitivity support for directories when using git status
+      Add case insensitivity support when using git ls-files
+      Support case folding for git add when core.ignorecase=true
+      Support case folding in git fast-import when core.ignorecase=true
+
+Junio C Hamano (31):
+      gitdiffcore doc: update pickaxe description
+      diff: pass the entire diff-options to diffcore_pickaxe()
+      git log/diff: add -G<regexp> that greps in the patch text
+      diff/log -G<pattern>: tests
+      grep: move logic to compile header pattern into a separate helper
+      log --author: take union of multiple "author" requests
+      disallow branch names that start with a hyphen
+      Start 1.7.4 cycle
+      merge-recursive: Restructure showing how to chain more process_* functions
+      Martin Langhoff has a new e-mail address
+      Make test script t9157 executable
+      merge-recursive:make_room_for_directories - work around dumb compilers
+      core.abbrevguard: Ensure short object names stay unique a bit longer
+      read_sha1_file(): report correct name of packfile with a corrupt object
+      A loose object is not corrupt if it cannot be read due to EMFILE
+      t9001: send-email interation with --in-reply-to and --chain-reply-to
+      t3404: do not use 'describe' to implement test_cmp_rev
+      Update draft release notes to 1.7.4
+      Update draft release notes to 1.7.4
+      t9300: remove unnecessary use of /dev/stdin
+      t9119: do not compare "Text Last Updated" line from "svn info"
+      t9010 fails when no svn is available
+      get_sha1: teach ":$n:<path>" the same relative path logic
+      Documentation/git.txt: update list of maintenance releases
+      fetch_populated_submodules(): document dynamic allocation
+      thread-utils.h: simplify the inclusion
+      Relnotes: remove items fixed on 'maint'
+      get_sha1_oneline: fix lifespan rule of temp_commit_buffer variable
+      Update draft release notes to 1.7.4
+      set_try_to_free_routine(NULL) means "do nothing special"
+      Git 1.7.4-rc0
+
+Justin Frankel (2):
+      merge-recursive --patience
+      merge-recursive: options to ignore whitespace changes
+
+Kevin Ballard (9):
+      merge-recursive: option to specify rename threshold
+      diff: add synonyms for -M, -C, -B
+      completion: Support the DWIM mode for git checkout
+      blame: Add option to show author email instead of name
+      submodule: preserve all arguments exactly when recursing
+      submodule: only preserve flags across recursive status/update invocations
+      rebase: better rearranging of fixup!/squash! lines with --autosquash
+      rebase: teach --autosquash to match on sha1 in addition to message
+      diff: add --detect-copies-harder as a synonym for --find-copies-harder
+
+Kirill Smelkov (1):
+      gitk: Show notes by default (like git log does)
+
+Mark Lodato (2):
+      completion: make compatible with zsh
+      completion: fix zsh check under bash with 'set -u'
+
+Markus Duft (2):
+      add support for the SUA layer (interix; windows)
+      Interix: add configure checks
+
+Martin Storsjö (1):
+      Improve the mingw getaddrinfo stub to handle more use cases
+
+Martin von Zweigbergk (3):
+      rebase: support --verify
+      Use reflog in 'pull --rebase . foo'
+      completion: add missing configuration variables
+
+Matthieu Moy (9):
+      Better "Changed but not updated" message in git-status
+      Replace "remote tracking" with "remote-tracking"
+      Change remote tracking to remote-tracking in non-trivial places
+      everyday.txt: change "tracking branch" to "remote-tracking branch"
+      Change "tracking branch" to "remote-tracking branch"
+      Change incorrect uses of "remote branch" meaning "remote-tracking"
+      Change incorrect "remote branch" to "remote tracking branch" in C code
+      user-manual.txt: explain better the remote(-tracking) branch terms
+      git-branch.txt: mention --set-upstream as a way to change upstream configuration
+
+Michael J Gruber (4):
+      t5503: fix typo
+      test: allow running the tests under "prove"
+      t800?-blame.sh: retitle uniquely
+      t1020-subdirectory: test alias expansion in a subdirectory
+
+Mike Pape (3):
+      mingw: add network-wrappers for daemon
+      mingw: implement syslog
+      compat: add inet_pton and inet_ntop prototypes
+
+Nguyễn Thái Ngọc Duy (64):
+      branch -h: show usage even in an invalid repository
+      checkout-index -h: show usage even in an invalid repository
+      commit/status -h: show usage even with broken configuration
+      gc -h: show usage even with broken configuration
+      ls-files -h: show usage even with corrupt index
+      merge -h: show usage even with corrupt index
+      update-index -h: show usage even with corrupt index
+      add: do not rely on dtype being NULL behavior
+      get_cwd_relative(): do not misinterpret root path
+      builtins: print setup info if repo is found
+      Add t1510 and basic rules that run repo setup
+      t1510: setup case #0
+      t1510: setup case #1
+      t1510: setup case #2
+      t1510: setup case #3
+      t1510: setup case #4
+      t1510: setup case #5
+      t1510: setup case #6
+      t1510: setup case #7
+      t1510: setup case #8
+      t1510: setup case #9
+      t1510: setup case #10
+      t1510: setup case #11
+      t1510: setup case #12
+      t1510: setup case #13
+      t1510: setup case #14
+      t1510: setup case #15
+      t1510: setup case #16
+      t1510: setup case #17
+      t1510: setup case #18
+      t1510: setup case #19
+      t1510: setup case #20
+      t1510: setup case #21
+      t1510: setup case #22
+      t1510: setup case #23
+      t1510: setup case #24
+      t1510: setup case #25
+      t1510: setup case #26
+      t1510: setup case #27
+      t1510: setup case #28
+      t1510: setup case #29
+      t1510: setup case #30
+      t1510: setup case #31
+      cache.h: realign and use (1 << x) form for CE_* constants
+      dir.c: add free_excludes()
+      unpack-trees: move all skip-worktree checks back to unpack_trees()
+      unpack-trees: fix sparse checkout's "unable to match directories"
+      Revert "excluded_1(): support exclude files in index"
+      setup: save prefix (original cwd relative to toplevel) in startup_info
+      Make prefix_path() return char* without const
+      get_sha1: support relative path ":path" syntax
+      get_sha1_oneline: make callers prepare the commit list to traverse
+      get_sha1: support $commit^{/regex} syntax
+      get_sha1: handle special case $commit^{/}
+      Add git_config_early()
+      Use git_config_early() instead of git_config() during repo setup
+      setup: limit get_git_work_tree()'s to explicit setup case only
+      setup: clean up setup_bare_git_dir()
+      setup: clean up setup_discovered_git_dir()
+      setup: rework setup_explicit_git_dir()
+      Remove all logic from get_git_work_tree()
+      Revert "Documentation: always respect core.worktree if set"
+      git.txt: correct where --work-tree path is relative to
+      setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd
+
+Pascal Obry (3):
+      Minor indentation fix.
+      Remove @smtp_host_parts variable as not used.
+      New send-email option smtpserveroption.
+
+Pat Notz (6):
+      commit: helper methods to reduce redundant blocks of code
+      pretty.c: teach format_commit_message() to reencode the output
+      commit: --fixup option for use with rebase --autosquash
+      add tests of commit --fixup
+      commit: --squash option for use with rebase --autosquash
+      add tests of commit --squash
+
+Pat Thoyts (13):
+      MinGW: fix stat() and lstat() implementations for handling symlinks
+      MinGW: Report errors when failing to launch the html browser.
+      Skip t1300.70 and 71 on msysGit.
+      Do not strip CR when grepping HTTP headers.
+      Skip 'git archive --remote' test on msysGit
+      git-am: fix detection of absolute paths for windows
+      git-gui: show command-line errors in a messagebox on Windows
+      git-gui: enable the Tk console when tracing/debugging on Windows
+      git-gui: generic version trimming
+      git-gui: use full dialog width for old name when renaming branch
+      git-gui: correct assignment of work-tree
+      git-gui: use wordprocessor tab style to ensure tabs work as expected
+      git-gui: apply color information from git diff output
+
+Peter Krefting (1):
+      gitk: Update Swedish translation (290t)
+
+Peter van der Does (1):
+      bash: get --pretty=m<tab> completion to work with bash v4
+
+Petr Onderka (1):
+      Add global and system-wide gitattributes
+
+Ralf Thielow (1):
+      commit.c: Remove backward goto in read_craft_line()
+
+Ramkumar Ramachandra (10):
+      shell: Rewrite documentation and improve error message
+      t4014-format-patch: Call test_tick before committing
+      format-patch: Don't go over merge commits
+      fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len
+      merge: Make '--log' an integer option for number of shortlog entries
+      merge: Make 'merge.log' an integer or boolean option
+      t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length
+      t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length
+      Porcelain scripts: Rewrite cryptic "needs update" error message
+      t9010 (svn-fe): Eliminate dependency on svn perl bindings
+
+Ramsay Jones (10):
+      msvc: Fix compilation errors in compat/win32/sys/poll.c
+      msvc: git-daemon.exe: Fix linker "unresolved externals" error
+      msvc: Fix build by adding missing INTMAX_MAX define
+      msvc: Fix macro redefinition warnings
+      t3600-rm.sh: Don't pass a non-existent prereq to test #15
+      t9142: Move call to start_httpd into the setup test
+      lib-git-svn.sh: Avoid setting web server variables unnecessarily
+      lib-git-svn.sh: Add check for mis-configured web server variables
+      t9501-*.sh: Fix a test failure on Cygwin
+      difftool: Fix failure on Cygwin
+
+René Scharfe (7):
+      add description parameter to OPT__VERBOSE
+      add description parameter to OPT__DRY_RUN
+      add description parameter to OPT__QUIET
+      add OPT__FORCE
+      archive: improve --verbose description
+      branch: improve --verbose description
+      verify-tag: document --verbose
+
+SZEDER Gábor (7):
+      bisect: improve error message of 'bisect log' while not bisecting
+      bisect: improve error msg of 'bisect reset' when original HEAD is deleted
+      bisect: check for mandatory argument of 'bisect replay'
+      bash: offer refs for 'git bisect start'
+      bash: not all 'git bisect' subcommands make sense when not bisecting
+      bash: support more 'git notes' subcommands and their options
+      bash: support pretty format aliases
+
+Santi Béjar (1):
+      parse-remote: handle detached HEAD
+
+Schalk, Ken (1):
+      t3030: Add a testcase for resolvable rename/add conflict with symlinks
+
+Sebastian Schuberth (3):
+      MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility
+      MinGW: Add missing file mode bit defines
+      On Windows, avoid git-gui to call Cygwin's nice utility
+
+Shawn O. Pearce (2):
+      Use git_open_noatime when accessing pack data
+      Work around EMFILE when there are too many pack files
+
+Stefan Haller (2):
+      gitk: Prevent the text pane from becoming editable
+      gitk: Make text selectable on Mac
+
+Stephen Boyd (4):
+      send-email: Use To: headers in patch files
+      send-email: Don't leak To: headers between patches
+      parse-options: Don't call parse_options_check() so much
+      parse-options: do not infer PARSE_OPT_NOARG from option type
+
+Steven Walter (1):
+      git-svn: allow the mergeinfo property to be set
+
+Sven Eckelmann (1):
+      contrib/ciabot: git-describe commit instead of HEAD
+
+Tay Ray Chuan (4):
+      t5523-push-upstream: add function to ensure fresh upstream repo
+      t5523-push-upstream: test progress messages
+      format-patch: page output with --stdout
+      bash completion: add basic support for git-reflog
+
+Thiago Farina (3):
+      commit: Add commit_list prefix in two function names.
+      builtin/branch.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.
+      builtin/rm.c: Use ALLOC_GROW instead of alloc_nr and xrealloc.
+
+Thomas Rast (3):
+      {cvs,svn}import: use the new 'git read-tree --empty'
+      t0003: properly quote $HOME
+      gitk: Add the equivalent of diff --color-words
+
+Torsten Bögershausen (1):
+      t9143: do not fail when unhandled.log.gz is not created
+
+Yann Dirson (1):
+      diff: use "find" instead of "detect" as prefix for long forms of -M and -C
+
+Ævar Arnfjörð Bjarmason (22):
+      send-email: use catfile() to concatenate files
+      send-email: use lexical filehandle for opendir
+      send-email: use lexical filehandles for $compose
+      send-email: use lexical filehandles during sending
+      send-email: get_patch_subject doesn't need a prototype
+      send-email: file_declares_8bit_cte doesn't need a prototype
+      send-email: unique_email_list doesn't need a prototype
+      send-email: cleanup_compose_files doesn't need a prototype
+      send-email: use \E***\Q instead of \*\*\*
+      send-email: sanitize_address use $foo, not "$foo"
+      send-email: sanitize_address use qq["foo"], not "\"foo\""
+      send-email: use (?:) instead of () if no match variables are needed
+      send-email: send_message die on $!, not $?
+      send-email: make_message_id use "require" instead of "use"
+      send-email: use Perl idioms in while loop
+      send-email: is_rfc2047_quoted use qr// regexes
+      send-email: extract_valid_address use qr// regexes
+      Makefile & configure: add a NO_FNMATCH flag
+      Makefile & configure: add a NO_FNMATCH_CASEFOLD flag
+      test-lib: make test_expect_code a test command
+      t7004-tag.sh: re-arrange git tag comment for clarity
+      tests: use test_cmp instead of piping to diff(1)
+
+Štěpán Němec (2):
+      CodingGuidelines: Add a section on writing documentation
+      diff,difftool: Don't use the {0,2} notation in usage strings
+
+
+Version v1.7.3.5; changes since v1.7.3.4:
+-----------------------------------------
+
+Brandon Casey (1):
+      test-lib.sh/test_decode_color(): use octal not hex in awk script
+
+Jakub Narębski (1):
+      gitweb: Include links to feeds in HTML header only for '200 OK' response
+
+Jeff King (1):
+      ident: die on bogus date format
+
+Jiang Xin (1):
+      Fix typo in git-gc document.
+
+Jonathan Nieder (2):
+      t0050: fix printf format strings for portability
+      gitweb: skip logo in atom feed when there is none
+
+Junio C Hamano (5):
+      commit: die before asking to edit the log message
+      am --abort: keep unrelated commits since the last failure and warn
+      rebase --skip: correctly wrap-up when skipping the last patch
+      Prepare for 1.7.3.5
+      Git 1.7.3.5
+
+Kevin Ballard (1):
+      status: Quote paths with spaces in short format
+
+Kirill Smelkov (2):
+      t/t8006: Demonstrate blame is broken when cachetextconv is on
+      fill_textconv(): Don't get/put cache if sha1 is not valid
+
+Mark Lodato (1):
+      fsck docs: remove outdated and useless diagnostic
+
+Michael J Gruber (2):
+      git-difftool.txt: correct the description of $BASE and describe $MERGED
+      difftool: provide basename to external tools
+
+Ramsay Jones (1):
+      t3419-*.sh: Fix arithmetic expansion syntax error
+
+René Scharfe (1):
+      close file on error in read_mmfile()
+
+Robin H. Johnson (2):
+      Fix false positives in t3404 due to SHELL=/bin/false
+      t9001: Fix test prerequisites
+
+Thomas Rast (1):
+      userdiff: fix typo in ruby and python word regexes
+
+Vasyl' Vavrychuk (1):
+      trace.c: mark file-local function static
+
+
+Version v1.7.3.4; changes since v1.7.3.3:
+-----------------------------------------
+
+Alan Raison (1):
+      contrib/hooks/post-receive-email: fix return values from prep_for_email
+
+Alejandro R. Sedeño (1):
+      Add --force to git-send-email documentation
+
+Anders Kaseorg (1):
+      apply: Recognize epoch timestamps with : in the timezone
+
+Christoph Mallon (1):
+      diff --check: correct line numbers of new blank lines at EOF
+
+Clemens Buchacher (6):
+      t7607: use test-lib functions and check MERGE_HEAD
+      t7607: add leading-path tests
+      add function check_ok_to_remove()
+      lstat_cache: optionally return match_len
+      do not overwrite files in leading path
+      use persistent memory for rejected paths
+
+Federico Cuello (1):
+      Fix git-apply with -p greater than 1
+
+Gabriel Corona (2):
+      t5550: test HTTP authentication and userinfo decoding
+      Fix username and password extraction from HTTP URLs
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jari Aalto (1):
+      git-pull.txt: Mention branch.autosetuprebase
+
+Jeff King (2):
+      log.decorate: accept 0/1 bool values
+      reflogs: clear flags properly in corner case
+
+Jonathan "Duke" Leto (1):
+      Correct help blurb in checkout -p and friends
+
+Jonathan Nieder (4):
+      apply: handle patches with funny filename and colon in timezone
+      cherry-pick/revert: transparently refresh index
+      Documentation: split gitignore page into sections
+      Documentation: point to related commands from gitignore
+
+Junio C Hamano (5):
+      test: git-apply -p2 rename/chmod only
+      Do not link with -lcrypto under NO_OPENSSL
+      Prepare for 1.7.3.4
+      Prepare for 1.7.3.4
+      Git 1.6.4.5
+
+Kirill Smelkov (1):
+      setup: make sure git_dir path is in a permanent buffer, getenv(3) case
+
+Martin von Zweigbergk (2):
+      rebase --abort: do not update branch ref
+      rebase: only show stat if configured to true
+
+Michael J Gruber (6):
+      t/t7004-tag: test handling of rfc1991 signatures
+      verify-tag: factor out signature detection
+      tag: factor out sig detection for body edits
+      tag: factor out sig detection for tag display
+      tag: recognize rfc1991 signatures
+      git-rm.txt: Fix quoting
+
+Nguyễn Thái Ngọc Duy (1):
+      entry.c: remove "checkout-index" from error messages
+
+Nicolas Pitre (2):
+      diff: don't presume empty file when corresponding object is missing
+      make pack-objects a bit more resilient to repo corruption
+
+Tay Ray Chuan (10):
+      smart-http: Don't change POST to GET when following redirect
+      t5550-http-fetch: add missing '&&'
+      t5550-http-fetch: add test for http-fetch
+      shift end_url_with_slash() from http.[ch] to url.[ch]
+      url: add str wrapper for end_url_with_slash()
+      http-backend: use end_url_with_slash()
+      http-push: Normalise directory names when pushing to some WebDAV servers
+      http-push: check path length before using it
+      http-push: add trailing slash at arg-parse time, instead of later on
+      http-fetch: rework url handling
+
+Ævar Arnfjörð Bjarmason (2):
+      perl: bump the required Perl version to 5.8 from 5.6.[21]
+      perl: use "use warnings" instead of -w
+
+
+Version v1.7.3.3; changes since v1.7.3.2:
+-----------------------------------------
+
+Andreas Köhler (1):
+      submodule sync: Update "submodule.<name>.url" for empty directories
+
+Andrew Waters (1):
+      Fix handling of git-p4 on deleted files
+
+Brandon Casey (2):
+      userdiff.c: add builtin fortran regex patterns
+      builtin/revert.c: don't dereference a NULL pointer
+
+Brian Gernhardt (1):
+      t/gitweb-lib: Don't pass constant to decode_utf8
+
+Clemens Buchacher (3):
+      add rebase patch id tests
+      do not search functions for patch ID
+      do not overwrite untracked during merge from unborn branch
+
+Daniel Knittl-Frank (1):
+      bash: Match lightweight tags in prompt
+
+David Kågedal (1):
+      git-blame.el: Add (require 'format-spec)
+
+Diego Elio Pettenò (1):
+      imap-send: link against libcrypto for HMAC and others
+
+Erik Faye-Lund (1):
+      mingw: do not set errno to 0 on success
+
+Giuseppe Bilotta (1):
+      CodingGuidelines: mention whitespace preferences for shell scripts
+
+Jan Krüger (2):
+      repack: add -F flag to let user choose between --no-reuse-delta/object
+      Documentation: pack.compression: explain how to recompress
+
+Jari Aalto (1):
+      git-commit.txt: (synopsis): move -i and -o before "--"
+
+Jeff King (6):
+      diff: don't use pathname-based diff drivers for symlinks
+      rev-list: handle %x00 NUL in user format
+      docs: give more hints about how "add -e" works
+      apply: don't segfault on binary files with missing data
+      docs: give more hints about how "add -e" works
+      document sigchain api
+
+Jens Lehmann (1):
+      pull: Remove --tags option from manpage
+
+Jim Meyering (1):
+      mailmap: fix use of freed memory
+
+Joe Perches (1):
+      git-send-email.perl: Deduplicate "to:" and "cc:" entries with names
+
+Jonathan Nieder (5):
+      t4203 (mailmap): stop hardcoding commit ids and dates
+      send-pack: avoid redundant "pack-objects died with strange error"
+      Documentation: document show -s
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+      Documentation: do not misinterpret pull refspec as bold text
+
+Junio C Hamano (5):
+      t4203: do not let "git shortlog" DWIM based on tty
+      t3402: test "rebase -s<strategy> -X<opt>"
+      Documentation: Fix mark-up of lines with more than one tilde
+      Git 1.7.0.8
+      Git 1.7.3.3
+
+Kevin Ballard (2):
+      test-lib: extend test_decode_color to handle more color codes
+      diff: handle lines containing only whitespace and tabs better
+
+Kevin P. Fleming (1):
+      post-receive-email: ensure sent messages are not empty
+
+Kirill Smelkov (3):
+      blame,cat-file: Prepare --textconv tests for correctly-failing conversion program
+      blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks
+      blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664''
+
+Martin von Zweigbergk (2):
+      rebase -X: do not clobber strategy
+      Documentation/git-pull: clarify configuration
+
+Michael J Gruber (6):
+      git-reset.txt: clarify branch vs. branch head
+      git-reset.txt: reset does not change files in target
+      git-reset.txt: reset --soft is not a no-op
+      git-reset.txt: use "working tree" consistently
+      git-reset.txt: point to git-checkout
+      git-reset.txt: make modes description more consistent
+
+Nathan W. Panike (1):
+      Fix a formatting error in git-merge.txt
+
+Nguyễn Thái Ngọc Duy (3):
+      dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout
+      clean: avoid quoting twice
+      clean: remove redundant variable baselen
+
+René Scharfe (1):
+      diff: avoid repeated scanning while looking for funcname
+
+Thomas Rast (4):
+      send-email: Refuse to send cover-letter template subject
+      prefix_filename(): safely handle the case where pfx_len=0
+      merge-file: correctly find files when called in subdir
+      repack: place temporary packs under .git/objects/pack/
+
+Uwe Kleine-König (1):
+      get_author_ident_from_commit(): remove useless quoting
+
+Yann Dirson (3):
+      Fix copy-pasted comments related to tree diff handling.
+      Keep together options controlling the behaviour of diffcore-rename.
+      Document that rev-list --graph triggers parent rewriting.
+
+Ævar Arnfjörð Bjarmason (1):
+      Makefile: add CC to TRACK_CFLAGS
+
+
+Version v1.7.3.2; changes since v1.7.3.1:
+-----------------------------------------
+
+Andreas Gruenbacher (1):
+      Clarify and extend the "git diff" format documentation
+
+Antonio Ospite (1):
+      t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To'
+
+Bert Wesarg (1):
+      Documentation: update-index: -z applies also to --index-info
+
+Brandon Casey (1):
+      diffcore-pickaxe.c: remove unnecessary curly braces
+
+Cliff Frey (1):
+      documentation: git-config minor cleanups
+
+Elijah Newren (1):
+      t3020 (ls-files-error-unmatch): remove stray '1' from end of file
+
+Eric Wong (1):
+      Documentation/git-svn: discourage "noMetadata"
+
+Erik Faye-Lund (1):
+      do not depend on signed integer overflow
+
+Johannes Schindelin (2):
+      Make sure that git_getpass() never returns NULL
+      Fix typo in pack-objects' usage
+
+Jon Seymour (1):
+      stash: simplify parsing fixes
+
+Jonathan Nieder (10):
+      t0004 (unwritable files): simplify error handling
+      environment.c: remove unused variable
+      setup: make sure git dir path is in a permanent buffer
+      init: plug tiny one-time memory leak
+      xdiff: cast arguments for ctype functions to unsigned char
+      Documentation: No argument of ALLOC_GROW should have side-effects
+      Documentation: gitrevisions is in section 7
+      Documentation: diff can compare blobs
+      Documentation: expand 'git diff' SEE ALSO section
+      Documentation: update implicit "--no-index" behavior in "git diff"
+
+Junio C Hamano (4):
+      MinGW: avoid collisions between "tags" and "TAGS"
+      CodingGuidelines: reword parameter expansion section
+      shell portability: no "export VAR=VAL"
+      Git 1.7.3.2
+
+Kevin Ballard (1):
+      Update test script annotate-tests.sh to handle missing/extra authors
+
+Kirill Smelkov (1):
+      user-manual: be consistent in illustrations to 'git rebase'
+
+Mathias Lafeldt (1):
+      git-svn: fix processing of decorated commit hashes
+
+Matthieu Moy (1):
+      diff: trivial fix for --output file error message
+
+Michael J Gruber (4):
+      remote-helpers: build in platform independent directory
+      user-manual: fix anchor name Finding-comments-With-given-Content
+      rev-list-options: clarify --parents and --children
+      git-show-ref.txt: clarify the pattern matching
+
+Ramkumar Ramachandra (1):
+      SubmittingPatches: Document some extra tags used in commit messages
+
+René Scharfe (1):
+      work around buggy S_ISxxx(m) implementations
+
+Steven Walter (1):
+      git-svn: check_cherry_pick should exclude commits already in our history
+
+Tony Luck (1):
+      Better advice on using topic branches for kernel development
+
+Uwe Kleine-König (1):
+      Documentation/git-clone: describe --mirror more verbosely
+
+Yann Dirson (1):
+      t/t3415: use && where applicable.
+
+Štěpán Němec (6):
+      Use angles for placeholders consistently
+      Fix odd markup in --diff-filter documentation
+      Use parentheses and `...' where appropriate
+      Remove stray quotes in --pretty and --format documentation
+      Put a space between `<' and argument in pack-objects usage string
+      Fix {update,checkout}-index usage strings
+
+
+Version v1.7.3.1; changes since v1.7.3:
+---------------------------------------
+
+Brandon Casey (3):
+      t/t3903-stash: improve testing of git-stash show
+      wt-status.c: don't leak directory entries when processing untracked,ignored
+      git-send-email.perl: ensure $domain is defined before using it
+
+Brian Gernhardt (1):
+      git-stash: fix flag parsing
+
+Christian Couder (1):
+      t6050 (replace): fix bogus "fetch branch with replacement" test
+
+Daniel Knittl-Frank (1):
+      Improvements to `git checkout -h`
+
+Jeff King (1):
+      prefer test -h over test -L in shell scripts
+
+Jon Seymour (1):
+      stash: fix git stash branch regression when branch creation fails
+
+Junio C Hamano (2):
+      CodingGuidelines: spell Arithmetic Expansion with $(($var))
+      Git 1.7.3.1
+
+Linus Torvalds (1):
+      Fix missing 'does' in man-page for 'git checkout'
+
+Matthieu Moy (1):
+      update comment and documentation for :/foo syntax
+
+Michael J Gruber (1):
+      contrib/completion: --no-index option to git diff
+
+Pat Notz (2):
+      strbuf.h: fix comment typo
+      dir.c: squelch false uninitialized memory warning
+
+Ramsay Jones (1):
+      t1503: Fix arithmetic expansion syntax error when using dash
+
+Tomas Carnecky (1):
+      stash drops the stash even if creating the branch fails because it already exists
+
+Wesley J. Landaker (1):
+      Documentation: Refer to git-commit-tree in git-filter-branch help
+
+
+Version v1.7.3; changes since v1.7.3-rc2:
+-----------------------------------------
+
+Brandon Casey (1):
+      t/t7300: workaround ancient touch by rearranging arguments
+
+Brian Gernhardt (1):
+      t7003: Use test_commit instead of custom function
+
+Chris Johnsen (1):
+      git-rebase--interactive.sh: replace cut with ${v%% *}
+
+Jay Soffian (1):
+      git-ls-files.txt: clarify -x/--exclude option
+
+Junio C Hamano (2):
+      ls-files documentation: reword for consistency
+      Git 1.7.3
+
+
+Version v1.7.3-rc2; changes since v1.7.3-rc1:
+---------------------------------------------
+
+Csaba Henk (2):
+      bundle: detect if bundle file cannot be created
+      filter-branch: retire --remap-to-ancestor
+
+Jens Lehmann (2):
+      Several tests: cd inside subshell instead of around
+      t1020: Get rid of 'cd "$HERE"' at the start of each test
+
+Jonathan Nieder (5):
+      tests: subshell indentation stylefix
+      t1450 (fsck): remove dangling objects
+      t2105 (gitfile): add missing &&
+      t1302 (core.repositoryversion): style tweaks
+      t2016 (checkout -p): add missing &&
+
+Junio C Hamano (3):
+      t3101: modernise style
+      ls-tree $di $dir: do not mistakenly recurse into directories
+      Git 1.7.3 rc2
+
+Matthieu Moy (1):
+      git-gui: use shell to launch textconv filter in "blame"
+
+Oded Shimon (1):
+      Add --src/dst-prefix to git-formt-patch in git-rebase.sh
+
+Pat Thoyts (6):
+      git-gui: Make usage statement visible on Windows.
+      git-gui: display error launching blame as a message box.
+      git-gui: handle textconv filter on Windows and in development
+      git-gui: ensure correct application termination in git-gui--askpass
+      git-gui: avoid mis-encoding the copyright message on Windows.
+      git-gui 0.13
+
+Peter Krefting (1):
+      git-gui: Update Swedish translation (521t).
+
+Ramsay Jones (1):
+      vcs-svn: Fix some printf format compiler warnings
+
+René Scharfe (1):
+      compat/nedmalloc: don't force NDEBUG on the rest of git
+
+Schalk, Ken (1):
+      RE: [PATCH] Avoid rename/add conflict when contents are identical
+
+
+Version v1.7.3-rc1; changes since v1.7.3-rc0:
+---------------------------------------------
+
+Anselm Kruis (1):
+      Add a new option 'core.askpass'.
+
+Brandon Casey (10):
+      t/t5510: demonstrate failure to fetch when current branch has merge ref
+      builtin/fetch.c: ignore merge config when not fetching from branch's remote
+      t/t7008: workaround broken handling of \000 by printf on IRIX
+      Makefile: use compat regex on IRIX 6.5
+      builtin/fetch.c: comment that branch->remote_name is usable when has_merge
+      t/t5510-fetch.sh: improve testing with explicit URL and merge spec
+      diff.c: call regfree to free memory allocated by regcomp when necessary
+      xdiff-interface.c: always trim trailing space from xfuncname matches
+      t/t4018: test whether the word_regex patterns compile
+      t/t4018: avoid two unnecessary sub-shell invocations
+
+Elijah Newren (2):
+      cache_tree_free: Fix small memory leak
+      revert: Fix trivial comment style issue
+
+Jeff King (3):
+      pass "git -c foo=bar" params through environment
+      tests: make test_must_fail more verbose
+      tests: make test_must_fail fail on missing commands
+
+Jens Lehmann (1):
+      t3404 & t7508: cd inside subshell instead of around
+
+Johan Herland (1):
+      notes: Don't create (empty) commit when removing non-existing notes
+
+Johannes Sixt (1):
+      fast-export: ensure that a renamed file is printed after all references
+
+Jonathan Nieder (3):
+      do not pass "git -c foo=bar" params to transport helpers
+      tests: make test_might_fail more verbose
+      tests: make test_might_fail fail on missing commands
+
+Junio C Hamano (3):
+      install-webdoc: keep installed RelNotes-*.txt
+      Prepare for 1.7.3 rc1
+      Git 1.7.3 rc1
+
+Knut Franke (2):
+      Allow core.askpass to override SSH_ASKPASS.
+      Extend documentation of core.askpass and GIT_ASKPASS.
+
+Mark Lodato (1):
+      config.txt: fix placement of diff.noprefix
+
+Nicolas Pitre (1):
+      Documentation: move RelNotes into a directory of their own
+
+Thiago Farina (2):
+      builtin.h: Move two functions definitions to help.h.
+      builtin/clean.c: Use STRING_LIST_INIT_NODUP.
+
+
+Version v1.7.3-rc0; changes since v1.7.2.5:
+-------------------------------------------
+
+Alejandro R. Sedeño (1):
+      gitweb: move highlight config out of guess_file_syntax()
+
+Alex Riesen (2):
+      Add a for_each_string_list_item macro
+      Convert the users of for_each_string_list to for_each_string_list_item macro
+
+Alexander Gladysh (1):
+      Add a rename + D/F conflict testcase
+
+Anders Kaseorg (1):
+      gitweb: Don't die_error in git_tag after already printing headers
+
+Brandon Casey (2):
+      git-rebase--interactive.sh: rework skip_unnecessary_picks
+      git-rebase--interactive.sh: use printf instead of echo to print commit message
+
+Brian Gernhardt (2):
+      t7610: cd inside subshell instead of around
+      t7606: Avoid using head as a file name
+
+Charles Bailey (1):
+      mergetool: Remove explicit references to /dev/tty
+
+Christian Couder (11):
+      revert: report success when using option --strategy
+      revert: refactor commit code into a new run_git_commit() function
+      revert: don't print "Finished one cherry-pick." if commit failed
+      revert: improve success message by adding abbreviated commit sha1
+      t3508: add check_head_differs_from() helper function and use it
+      revert: fix off by one read when searching the end of a commit subject
+      revert: refactor code to find commit subject in find_commit_subject()
+      revert: rename variables related to subject in get_message()
+      bisect: use find_commit_subject() instead of custom code
+      merge-recursive: use find_commit_subject() instead of custom code
+      blame: use find_commit_subject() instead of custom code
+
+Clemens Buchacher (1):
+      hash binary sha1 into patch id
+
+David Aguilar (1):
+      mergetool: Skip autoresolved paths
+
+David Barr (5):
+      Add memory pool library
+      Add string-specific memory pool
+      Add stream helper library
+      Infrastructure to write revisions in fast-export format
+      SVN dump parser
+
+David D. Kilzer (3):
+      git svn: fix dcommit to work with touched files
+      git-svn: fix regex to remove "tail" from svn tags
+      git-svn: fix fetch with deleted tag
+
+Diane Gasselin (2):
+      merge-recursive: porcelain messages for checkout
+      t7609: test merge and checkout error messages
+
+Dmitry Statyvka (1):
+      git svn: add an option to recode pathnames
+
+Elijah Newren (13):
+      Add additional testcases for D/F conflicts
+      merge-recursive: Fix D/F conflicts
+      merge_recursive: Fix renames across paths below D/F conflicts
+      fast-export: Fix output order of D/F changes
+      fast-import: Improve robustness when D->F changes provided in wrong order
+      fast-export: Fix dropping of files with --import-marks and path limiting
+      fast-export: Add a --full-tree option
+      upload-pack: Improve error message when bad ref requested
+      Mark tests that use symlinks as needing SYMLINKS prerequisite
+      merge-recursive: Fix typo
+      t6031: Add a testcase covering multiple renames across a D/F conflict
+      merge-recursive: Fix multiple file rename across D/F conflict
+      merge-recursive: Avoid excessive output for and reprocessing of renames
+
+Eric Wong (4):
+      instaweb: fix WEBrick server support
+      instaweb: minimize moving parts for WEBrick
+      instaweb: add access+error logging for WEBrick
+      t9155: fix compatibility with older SVN
+
+Eyvind Bernhardsen (3):
+      Avoid conflicts when merging branches with mixed normalization
+      Try normalizing files to avoid delete/modify conflicts when merging
+      Don't expand CRLFs when normalizing text during merge
+
+Frank Li (1):
+      Change regerror() declaration from K&R style to ANSI C (C89)
+
+Greg Brockman (1):
+      split_cmdline: Allow caller to access error string
+
+Heiko Voigt (4):
+      Teach ref iteration module about submodules
+      setup_revisions(): Allow walking history in a submodule
+      Implement automatic fast-forward merge for submodules
+      add configuration variable for --autosquash option of interactive rebase
+
+Jakub Narębski (1):
+      gitweb: Fix typo in run() subroutine
+
+Jared Hance (5):
+      Convert "! git" to "test_must_fail git"
+      Add -e/--exclude to git-clean.
+      Add test for git clean -e.
+      builtin/push.c: remove useless temporary variable
+      Document git-instaweb start/stop/restart
+
+Jason Evans (1):
+      Add treap implementation
+
+Jeff King (1):
+      docs: fix Makefile dependency for user manual
+
+Jens Lehmann (7):
+      Submodules: Add the new "ignore" config option for diff and status
+      Submodules: Use "ignore" settings from .gitmodules too for diff and status
+      Add tests for the diff.ignoreSubmodules config option
+      checkout: Add test for diff.ignoreSubmodules
+      checkout: Use submodule.*.ignore settings from .git/config and .gitmodules
+      t7405: cd inside subshell instead of around
+      t7406 & t7407: add missing && at end of lines
+
+Johan Herland (2):
+      Make graph_next_line() available in the graph.h API
+      Enable custom schemes for column colors in the graph API
+
+Johannes Schindelin (2):
+      Add the 'diff.ignoreSubmodules' config setting
+      checkout: respect diff.ignoreSubmodules setting
+
+Johannes Sixt (1):
+      Fix compat/regex ANSIfication on MinGW
+
+Jon Seymour (14):
+      detached-stash: introduce parse_flags_and_revs function
+      detached-stash: work around git rev-parse failure to detect bad log refs
+      detached-stash: simplify stash_apply
+      detached-stash: simplify stash_drop
+      detached-stash: refactor git stash pop implementation
+      detached-stash: simplify git stash branch
+      detached-stash: simplify git stash show
+      detached-stash: tests of git stash with stash-like arguments
+      detached-stash: update Documentation
+      rev-parse: exit with non-zero status if ref@{n} is not valid.
+      sha1_name.c: use warning in preference to fprintf(stderr
+      rev-parse: tests git rev-parse --verify master@{n}, for various n
+      t1503: fix broken test_must_fail calls
+      t3903: fix broken test_must_fail calls
+
+Jonathan Nieder (89):
+      Teach fast-import to import subtrees named by tree id
+      Export parse_date_basic() to convert a date string to timestamp
+      t1501 (rev-parse): clarify
+      tests: try git apply from subdir of toplevel
+      setup: split off $GIT_DIR-set case from setup_git_directory_gently
+      setup: split off a function to checks working dir for .git file
+      setup: split off code to handle stumbling upon a repository
+      setup: split off a function to handle hitting ceiling in repo search
+      setup: split off get_device_or_die helper
+      t1011 (sparse checkout): style nitpicks
+      gitweb: allow configurations that change with each request
+      t4111 (apply): refresh index before applying patches to it
+      diff: split off a function for --stat-* option parsing
+      t6038 (merge.renormalize): style nitpicks
+      t6038 (merge.renormalize): try checkout -m and cherry-pick
+      t6038 (merge.renormalize): check that it can be turned off
+      merge-trees: push choice to renormalize away from low level
+      merge-trees: let caller decide whether to renormalize
+      Documentation/technical: document ll_merge
+      ll-merge: make flag easier to populate
+      ll-merge: let caller decide whether to renormalize
+      t4200 (rerere): modernize style
+      rerere: migrate to parse-options API
+      rerere: never renormalize
+      merge-recursive --renormalize
+      Introduce vcs-svn lib
+      Update svn-fe manual
+      svn-fe manual: Clarify warning about deltas in dump files
+      vcs-svn: remove build artifacts on "make clean"
+      treap: style fix
+      compat: add strtok_r()
+      vcs-svn: Rename dirent pool to build on Windows
+      vcs-svn: Avoid %z in format string
+      t9010 (svn-fe): use Unix-style path in URI
+      t9010 (svn-fe): avoid symlinks in test
+      Eliminate “Finished cherry-pick/revert” message
+      Introduce advise() to print hints
+      cherry-pick/revert: Use error() for failure message
+      cherry-pick/revert: Use advise() for hints
+      t7606 (merge-theirs): modernize style
+      merge: let custom strategies intervene in trivial merges
+      t7006 (pager): add missing TTY prerequisites
+      merge: do not mistake (ancestor of) tag for branch
+      t7600 (merge): modernize style
+      t7600 (merge): do not launch gitk for --debug
+      t7600 (merge): check reflog entry
+      t7600 (merge): test merge from branch yet to be born
+      t6010 (merge-base): modernize style
+      t6200 (fmt-merge-msg): style nitpicks
+      Documentation: add a SEE ALSO section for merge-base
+      merge-base --octopus to mimic show-branch --merge-base
+      merge-base --independent to print reduced parent list in a merge
+      fmt-merge-msg -m to override merge title
+      merge script: --squash, --ff from unborn branch are errors
+      merge script: tweak unmerged files message to match builtin
+      merge script: refuse to merge during merge
+      merge script: improve log message subject
+      merge script: merge -X<option>
+      merge script: allow custom strategies
+      merge script: forbid merge -s index
+      merge script: handle -m --log correctly
+      merge script: handle many-way octopus
+      merge script: --ff-only to disallow true merge
+      merge script: handle --no-ff --no-commit correctly
+      merge script: notice @{-1} shorthand
+      merge script: learn --[no-]rerere-autoupdate
+      autoconf: don't use platform regex if it lacks REG_STARTEND
+      Documentation: set a !DOCTYPE for user manual
+      Documentation: tweak description of log.date
+      Documentation: quoting trouble in "git rm" discussion
+      Documentation: unbreak regex in show-ref manual
+      Documentation: clarify quoting in "git add" example
+      Documentation: add missing quotes to "git grep" examples
+      Documentation: clarify quoting in "git rm" example
+      Documentation: clarify quoting in gitignore docs
+      Documentation: remove backslashes in manpage synopses
+      Documentation/technical: avoid stray backslash in parse-options API docs
+      Documentation: remove stray backslash from "git bundle" manual
+      Documentation: remove backslash before ~ in fast-import manual
+      Documentation: remove stray backslashes in rev-parse manual
+      Documentation: avoid stray backslashes in core tutorial
+      Documentation: avoid stray backslash in user manual
+      Documentation: do not convert ... operator to ellipses
+      Documentation: remove stray backslashes from "Fighting regressions" article
+      Documentation: remove stray backslash in show-branch discussion
+      apply: split quoted filename handling into new function
+      tests: exercise "git apply" with weird filenames
+      apply: handle traditional patches with space in filename
+      tests: simplify "missing PREREQ" message
+
+Junio C Hamano (6):
+      cvs tests: do not touch test CVS repositories shipped with source
+      compat/regex: get rid of old-style definition
+      autoconf: regex library detection typofix
+      Work around em-dash handling in newer AsciiDoc
+      install-webdoc: filter timestamp-only changes correctly
+      Prepare for 1.7.3
+
+Kevin P. Fleming (1):
+      post-receive-email: optional message line count limit
+
+Matthieu Moy (14):
+      diff: parse separate options like -S foo
+      diff: parse separate options --stat-width n, --stat-name-width n
+      log: parse separate options like git log --grep foo
+      log: parse separate option for --glob
+      rebase -i: add exec command to launch a shell command
+      test-lib: user-friendly alternatives to test [-d|-f|-e]
+      Turn unpack_trees_options.msgs into an array + enum
+      merge-recursive: distinguish "removed" and "overwritten" messages
+      unpack_trees: group error messages by type
+      tests: factor HOME=$(pwd) in test-lib.sh
+      Move set_porcelain_error_msgs to unpack-trees.c and rename it
+      setup_unpack_trees_porcelain: take the whole options struct as parameter
+      Move "show_all_errors = 1" to setup_unpack_trees_porcelain()
+      t7609-merge-co-error-msgs: test non-fast forward case too.
+
+Michael J Gruber (3):
+      git-bundle.txt: Cleanup
+      git-bundle.txt: whitespace cleanup
+      git-bundle.txt: Clarify rev-list-args restrictions
+
+Mike Lundy (1):
+      rebase: support -X to pass through strategy options
+
+Nguyễn Thái Ngọc Duy (22):
+      upload-pack: remove unused "create_full_pack" code in do_rev_list
+      setup: do not forget working dir from subdir of gitdir
+      Revert "rehabilitate 'git index-pack' inside the object store"
+      setup: split off a function to handle ordinary .git directories
+      unpack-trees: only clear CE_UPDATE|CE_REMOVE when skip-worktree is always set
+      unpack-trees: let read-tree -u remove index entries outside sparse area
+      unpack-trees: do not check for conflict entries too early
+      unpack-trees: mark new entries skip-worktree appropriately
+      git wrapper: introduce startup_info struct
+      setup: remember whether repository was found
+      git wrapper: allow setup_git_directory_gently() be called earlier
+      shortlog: run setup_git_directory_gently() sooner
+      grep: run setup_git_directory_gently() sooner
+      apply: run setup_git_directory_gently() sooner
+      bundle: run setup_git_directory_gently() sooner
+      config: run setup_git_directory_gently() sooner
+      index-pack: run setup_git_directory_gently() sooner
+      ls-remote: run setup_git_directory_gently() sooner
+      var: run setup_git_directory_gently() sooner
+      merge-file: run setup_git_directory_gently() sooner
+      clone: warn users --depth is ignored in local clones
+      parse_object: pass on the original sha1, not the replaced one
+
+Petr Onderka (1):
+      Userdiff patterns for C#
+
+Ralf Wildenhues (1):
+      Typos in code comments, an error message, documentation
+
+Ramkumar Ramachandra (1):
+      builtin/checkout: Fix message when switching to an existing branch
+
+Spencer E. Olson (1):
+      Allow HTTP user agent string to be modified.
+
+Steven Walter (1):
+      git svn: URL-decode left-hand side of svn refspec
+
+Sverre Rabbelier (1):
+      config: add --local option
+
+Tay Ray Chuan (4):
+      add tests for checkout -b
+      builtin/checkout: reword hint for -b
+      builtin/checkout: learn -B
+      builtin/checkout: handle -B from detached HEAD correctly
+
+Thiago Farina (2):
+      string_list: Add STRING_LIST_INIT macro and make use of it.
+      object.h: Add OBJECT_ARRAY_INIT macro and make use of it.
+
+Thomas Rast (4):
+      Do not unquote + into ' ' in URLs
+      ls-files: learn a debugging dump format
+      Makefile: make gcov invocation configurable
+      test: Introduce $GIT_BUILD_DIR
+
+Ævar Arnfjörð Bjarmason (59):
+      sha1_file: Show the the type and path to corrupt objects
+      tests: Ignore the Test::Harness .prove file
+      t/t6035-merge-dir-to-symlink.sh: Remove TODO on passing test
+      SubmittingPatches: Clarify the Signed-off-by rules
+      SubmittingPatches: Cite the 50 char subject limit
+      perl/Makefile: Unset INSTALL_BASE when making perl.mak
+      test-lib: Don't write test-results when HARNESS_ACTIVE
+      test-lib: Add support for multiple test prerequisites
+      test-lib: Print missing prerequisites in test output
+      t/README: Document the predefined test prerequisites
+      tests: A SANITY test prereq for testing if we're root
+      test-lib: Multi-prereq support only checked the last prereq
+      tests: Infrastructure for Git smoke testing
+      t/README: Document the Smoke testing
+      t/Makefile: Can't include GIT-BUILD-OPTIONS, it's a .sh
+      t/README: Add SMOKE_{COMMENT,TAGS}= to smoke_report target
+      gitignore: Ignore files generated by "make coverage"
+      Makefile: Include subdirectories in "make cover" reports
+      Makefile: Split out the untested functions target
+      Makefile: Add cover_db target
+      Makefile: Add cover_db_html target
+      t/README: A new section about test coverage
+      t/README: Add a note about the dangers of coverage chasing
+      tests: implicitly skip SYMLINKS tests using <prereq>
+      t/t4004-diff-rename-symlink.sh: use three-arg <prereq>
+      t/t5800-remote-helpers.sh: Skip with prereq on python <2.4
+      t/t7800-difftool.sh: Skip with prereq on no PERL
+      t/README: Update "Skipping tests" to align with best practices
+      t/t1304-default-acl: change from skip_all=* to prereq skip
+      t/t5705-clone-2gb: change from skip_all=* to prereq skip
+      t/t7005-editor: change from skip_all=* to prereq skip
+      t/t5503-tagfollow: change from skip_all=* to prereq skip
+      t/t4016-diff-quote: change from skip_all=* to prereq skip
+      t/t3902-quoted: change from skip_all=* to prereq skip
+      t/t3300-funny-names: change from skip_all=* to prereq skip
+      git-notes: Run partial expensive test everywhere
+      t/Makefile: Create test-results dir for smoke target
+      tests: Move FILEMODE prerequisite to lib-prereq-FILEMODE.sh
+      t/t3701-add-interactive.sh: change from skip_all=* to prereq skip
+      lib-patch-mode tests: change from skip_all=* to prereq skip
+      t/t9600-cvsimport.sh: change from skip_all=* to prereq skip
+      t/t9001-send-email.sh: Remove needless PROG=* assignment
+      t/t9001-send-email.sh: change from skip_all=* to prereq skip
+      t/t9001-send-email.sh: convert setup code to tests
+      t/t7105-reset-patch.sh: Add a PERL prerequisite
+      t/t9601-cvsimport-vendor-branch.sh: Add a PERL prerequisite
+      t/t9602-cvsimport-branches-tags.sh: Add a PERL prerequisite
+      tests: fix syntax error in "Use advise() for hints" test
+      compat/regex: use the regex engine from gawk for compat
+      compat/regex: get the gawk regex engine to compile within git
+      compat/regex: define out variables only used under RE_ENABLE_I18N
+      t/t9010-svn-fe.sh: add an +x bit to this test
+      t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND
+      reset: suggest what to do upon "git reset --mixed <paths>"
+      test-lib: Use $TEST_DIRECTORY or $GIT_BUILD_DIR instead of $(pwd) and ../
+      test-lib: Use "$GIT_BUILD_DIR" instead of "$TEST_DIRECTORY"/../
+      test-lib: Allow overriding of TEST_DIRECTORY
+      t/t0000-basic.sh: Run the passing TODO test inside its own test-lib
+      test-lib: use subshell instead of cd $new && .. && cd $old
+
+
+Version v1.7.2.5; changes since v1.7.2.4:
+-----------------------------------------
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.2.4; changes since v1.7.2.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      diff.c: call regfree to free memory allocated by regcomp when necessary
+      xdiff-interface.c: always trim trailing space from xfuncname matches
+
+Daniel Knittl-Frank (1):
+      bash: Match lightweight tags in prompt
+
+Elijah Newren (2):
+      cache_tree_free: Fix small memory leak
+      revert: Fix trivial comment style issue
+
+Jared Hance (1):
+      Fix whitespace issue in object.c
+
+Jari Aalto (1):
+      git-commit.txt: (synopsis): move -i and -o before "--"
+
+Jens Lehmann (1):
+      t5505: add missing &&
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (3):
+      tag.c: whitespace breakages fix
+      t3101: modernise style
+      Git 1.7.0.8
+
+Mark Lodato (1):
+      config.txt: fix placement of diff.noprefix
+
+René Scharfe (1):
+      compat/nedmalloc: don't force NDEBUG on the rest of git
+
+
+Version v1.7.2.3; changes since v1.7.2.2:
+-----------------------------------------
+
+Brandon Casey (2):
+      Makefile: link builtins residing in bin directory to main git binary too
+      Makefile: make hard/symbolic links for non-builtins too
+
+Dan Johnson (1):
+      fetch: allow command line --tags to override config
+
+David Aguilar (1):
+      submodule sync: Update "submodule.<name>.url"
+
+Elijah Newren (3):
+      t5520-pull: Add testcases showing spurious conflicts from git pull --rebase
+      pull --rebase: Avoid spurious conflicts and reapplying unnecessary patches
+      tree-walk: Correct bitrotted comment about tree_entry()
+
+Greg Price (1):
+      pack-refs: remove newly empty directories
+
+Jay Soffian (1):
+      for-each-ref: fix objectname:short bug
+
+Jens Lehmann (1):
+      t7403: add missing &&'s
+
+Jonathan Nieder (12):
+      t4150 (am): style fix
+      t4150 (am): futureproof against failing tests
+      t3400 (rebase): whitespace cleanup
+      archive: abbreviate substituted commit ids again
+      checkout, commit: remove confusing assignments to rev.abbrev
+      examples/commit: use --abbrev for commit summary
+      Documentation: flesh out “git pull” description
+      core: Stop leaking ondisk_cache_entrys
+      read-tree: stop leaking tree objects
+      write-tree: Avoid leak when index refers to an invalid object
+      t3302 (notes): Port to Solaris
+      parse-options: clarify PARSE_OPT_NOARG description
+
+Junio C Hamano (6):
+      Teach "apply --index-info" to handle rename patches
+      rebase: protect against diff.renames configuration
+      diff --follow: do not waste cycles while recursing
+      diff --follow: do call diffcore_std() as necessary
+      Prepare for 1.7.2.3
+      Git 1.7.2.3
+
+Linus Torvalds (1):
+      Fix 'git log' early pager startup error case
+
+Mark Rada (1):
+      Tell ignore file about generate files in /gitweb/static
+
+Matthieu Moy (2):
+      xmalloc: include size in the failure message
+      t0003: add missing && at end of lines
+
+Nicolas Pitre (1):
+      fix >4GiB source delta assertion failure
+
+Ralf Wildenhues (1):
+      Typos in code comments, an error message, documentation
+
+SZEDER Gábor (2):
+      mingw_utime(): handle NULL times parameter
+      rerere: fix overeager gc
+
+Thiago Farina (1):
+      builtin/merge_recursive.c: Add an usage string and make use of it.
+
+Thomas Rast (5):
+      Documentation/git-reset: reorder modes for soft-mixed-hard progression
+      Documentation/reset: separate options by mode
+      Documentation/reset: promote 'examples' one section up
+      Documentation/reset: reorder examples to match description
+      Documentation/reset: move "undo permanently" example behind "make topic"
+
+Ville Skyttä (1):
+      Documentation: spelling fixes
+
+Ævar Arnfjörð Bjarmason (1):
+      log: test for regression introduced in v1.7.2-rc0~103^2~2
+
+
+Version v1.7.2.2; changes since v1.7.2.1:
+-----------------------------------------
+
+Brad King (1):
+      Documentation: cite git-am from git-apply
+
+Brandon Casey (1):
+      t/t7003: replace \t with literal tab in sed expression
+
+Clément Poulain (1):
+      git-gui: use textconv filter for diff and blame
+
+David D. Kilzer (1):
+      Fix git rebase --continue to work with touched files
+
+Heiko Voigt (5):
+      git-gui: check whether systems nice command works or disable it
+      git-gui: fix usage of themed widgets variable
+      git-gui: fix usage of _gitworktree when creating shortcut for windows
+      git-gui: fix PATH environment for mingw development environment
+      git-gui: fix shortcut creation on cygwin
+
+Jakub Narębski (1):
+      diff: strip extra "/" when stripping prefix
+
+Jonathan Nieder (7):
+      check-ref-format: handle subcommands in separate functions
+      Allow "check-ref-format --branch" from subdirectory
+      Makefile: add missing dependencies on url.h
+      Makefile: add missing dependency on http.h
+      Documentation: add a FILES section for show-ref
+      gitweb: clarify search results page when no matching commit found
+      Standardize do { ... } while (0) style
+
+Junio C Hamano (4):
+      Fix DIFF_QUEUE_CLEAR refactoring
+      Documentation: reporting bugs
+      sha1_name.c: fix parsing of ":/token" syntax
+      Git 1.7.2.2
+
+Markus Heidelberg (1):
+      git-gui: fix "Explore Working Copy" for Windows again
+
+Matthieu Moy (5):
+      Document ls-files -t as semi-obsolete.
+      pretty-options.txt: match --format's documentation with implementation.
+      Document -B<n>[/<m>], -M<n> and -C<n> variants of -B, -M and -C
+      post-receive-email: remove spurious commas in email subject
+      push: mention "git pull" in error message for non-fast forwards
+
+Michael J Gruber (1):
+      Documentation/git-log: Clarify --full-diff
+
+Nelson Elhage (1):
+      index-pack: Don't follow replace refs.
+
+Pat Thoyts (4):
+      git-gui: Handle failure of core.worktree to identify the working directory.
+      git-gui: Avoid using the <<Copy>> binding as a menu accelerator on win32
+      git-gui: mc cannot be used before msgcat has been loaded
+      git-gui: fix size and position of window panes on startup
+
+Raja R Harinath (1):
+      fast-import: export correctly marks larger than 2^20-1
+
+Ramkumar Ramachandra (2):
+      contrib/svn-fe: Fix IncludePath
+      contrib/svn-fe: Add the svn-fe target to .gitignore
+
+René Scharfe (2):
+      notes: allow --dry-run for -n and --verbose for -v
+      prune: allow --dry-run for -n and --verbose for -v
+
+Shawn O. Pearce (1):
+      smart-http: Don't deadlock on server failure
+
+Thomas Rast (3):
+      xsize_t: check whether we lose bits
+      Documentation/rev-parse: quoting is required with --parseopt
+      t7003: fix subdirectory-filter test
+
+Willy Tarreau (1):
+      git-rebase: fix typo when parsing --force-rebase
+
+Ævar Arnfjörð Bjarmason (4):
+      test-lib: Ignore --quiet under a TAP harness
+      test-lib: Remove 3 year old no-op --no-python option
+      imap-send: Fix sprintf usage
+      t/lib-git-svn.sh: use $PERL_PATH for perl, not perl from $PATH
+
+
+Version v1.7.2.1; changes since v1.7.2:
+---------------------------------------
+
+Brandon Casey (1):
+      git-rebase--interactive.sh: use printf instead of echo to print commit message
+
+Dan McGee (3):
+      git-instaweb: Fix custom apache log placement
+      git-instaweb: Fix Apache environment variable passing
+      git-instaweb: Don't assume Apache executable is named apache2
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Johannes Sixt (1):
+      t3700-add: fix dependence on stdout and stderr buffering
+
+Jon Seymour (1):
+      INSTALL: configure /etc/xml/catalog to build docs on Cygwin
+
+Jonathan Nieder (1):
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (3):
+      Git 1.7.0.7
+      Git 1.7.1.2
+      Git 1.7.2.1
+
+Matthieu Moy (1):
+      Clarify help message when no remote is specified in fetch/pull.
+
+Nathan W. Panike (1):
+      Add a google-chrome option for web--browse
+
+Nguyễn Thái Ngọc Duy (1):
+      git-read-tree.txt: acknowledge the directory matching bug in sparse checkout
+
+Stephen Boyd (2):
+      request-pull.txt: Document -p option
+      commit: remove full stop from usage help for -u
+
+Thomas Rast (5):
+      Cast execl*() NULL sentinels to (char *)
+      Document receive.denyDeleteCurrent
+      Documentation/git-push: Explain status output in more detail
+      Fix 'git' wrapper usage string
+      Makefile: add check-docs exception for gitrevisions
+
+
+Version v1.7.2; changes since v1.7.2-rc3:
+-----------------------------------------
+
+Brandon Casey (6):
+      Makefile: remove some unnecessary curly braces
+      Makefile: work around ksh's failure to handle missing list argument to for loop
+      t/README: clarify test_must_fail description
+      t/t3700: convert two uses of negation operator '!' to use test_must_fail
+      t/{t5541,lib-httpd}: replace problematic '!()' notation with test_must_fail
+      t/: work around one-shot variable assignment with test_must_fail
+
+David Aguilar (1):
+      Documentation: Explain git-mergetool's use of temporary files
+
+Eli Barzilay (1):
+      Reorganize `git-log' man page to clarify common diff options.
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jay Soffian (1):
+      MERGE_RR is in .git, not .git/rr-cache
+
+Jens Lehmann (2):
+      git add: Add the "--ignore-missing" option for the dry run
+      git submodule add: Require the new --force option to add ignored paths
+
+Jonathan Nieder (9):
+      t7006 (pager): introduce helper for parameterized tests
+      t7006: test pager configuration for several git commands
+      tests: local config file should be honored from subdirs of toplevel
+      t3000 (ls-files -o): modernize style
+      git --paginate: paginate external commands again
+      gitmodules.5: url can be a relative path
+      Documentation: add submodule.* to the big configuration variable list
+      Add a sample user for the svndump library
+      t/README: correct an exception when breaking a && chain in tests
+
+Junio C Hamano (7):
+      rebase-i: style fix
+      rebase-i: do not get fooled by a log message ending with backslash
+      do not write out index when status does not have to
+      diff A...B: give one possible diff when there are more than one merge-base
+      diff A...B: do not limit the syntax too narrowly
+      tests: correct "does reflog exist?" tests
+      Git 1.7.2
+
+Michael J Gruber (3):
+      Documentation: split off rev doc into include file
+      Documentation: gitrevisions
+      Documentation: link to gitrevisions rather than git-rev-parse
+
+Nazri Ramliy (1):
+      grep -O: Do not pass color sequences as filenames to pager
+
+Nguyễn Thái Ngọc Duy (1):
+      git --paginate: do not commit pager choice too early
+
+Nicolas Sebrecht (1):
+      merge-recursive: use "up-to-date" instead of "uptodate" in error message for consistency
+
+Pavan Kumar Sunkara (1):
+      gitweb: fix esc_url
+
+Ralf Thielow (1):
+      update-server-info: Shorten read_pack_info_file()
+
+Sergey Vlasov (1):
+      git-svn: write memoized data explicitly to avoid Storable bug
+
+Thomas Rast (1):
+      Only run aggregate-results over actual counts
+
+Will Palmer (2):
+      add basic tests for merge-tree
+      merge-tree: fix where two branches share no changes
+
+Ævar Arnfjörð Bjarmason (3):
+      git submodule: add submodules with git add -f <path>
+      git submodule add: Remove old docs about implicit -f
+      git add: Add --ignore-missing to SYNOPSIS
+
+
+Version v1.7.2-rc3; changes since v1.7.2-rc2:
+---------------------------------------------
+
+Bo Yang (1):
+      diff.c: fix a graph output bug
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix in protocol-capabilities.txt
+
+Johannes Sixt (1):
+      t0005: work around strange $? in ksh when program terminated by a signal
+
+Jonathan Nieder (1):
+      t9118 (git-svn): prevent early failure from taking down later tests
+
+Junio C Hamano (2):
+      Fix "read-tree -m A B" priming the cache-tree
+      Git 1.7.2-rc3
+
+Michael J Gruber (3):
+      t9118: avoid PEG revision identifier in tests
+      test-lib: simplify GIT_SKIP_TESTS loop
+      test-lib: TAP compliance for skipping tests on request
+
+Miklos Vajna (1):
+      format-patch: document the format.to configuration setting
+
+Nicolas Sebrecht (1):
+      checkout: accord documentation to what git does
+
+Oren Held (1):
+      git fetch documentation: describe short '-p' synonym to '--prune' option
+
+Raja R Harinath (1):
+      Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()
+
+Ævar Arnfjörð Bjarmason (1):
+      tests: Use skip_all=* to skip tests
+
+
+Version v1.7.2-rc2; changes since v1.7.2-rc1:
+---------------------------------------------
+
+Brandon Casey (2):
+      t/t9700/test.pl: don't access private object members, use public access methods
+      t/t0006: specify timezone as EST5 not EST to comply with POSIX
+
+Chris Packham (1):
+      Documentation/git-gc.txt: add reference to githooks
+
+Dylan Reid (1):
+      xdiff: optimise for no whitespace difference when ignoring whitespace.
+
+Heiko Voigt (1):
+      add missing && to submodule-merge testcase
+
+Jakub Narębski (1):
+      gitweb: Move evaluate_gitweb_config out of run_request
+
+Jeff King (3):
+      t0006: test timezone parsing
+      parse_date: fix signedness in timezone calculation
+      test-date: fix sscanf type conversion
+
+Jonathan Nieder (1):
+      t/README: document more test helpers
+
+Junio C Hamano (4):
+      Updates from the list to 1.7.2 Release Notes
+      t/README: proposed rewording...
+      backmerge a few more fixes to 1.7.1.X series
+      Git 1.7.2-rc2
+
+Michael J Gruber (1):
+      rerere.txt: Document forget subcommand
+
+Pierre Habouzit (1):
+      fix git branch -m in presence of cross devices
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+Ævar Arnfjörð Bjarmason (13):
+      test-lib: Adjust output to be valid TAP format
+      test-lib: Make the test_external_* functions TAP-aware
+      test-lib: output a newline before "ok" under a TAP harness
+      tests: Skip tests in a way that makes sense under TAP
+      tests: Say "pass" rather than "ok" on empty lines for TAP
+      t9700: Use Test::More->builder, not $Test::Builder::Test
+      t/README: The trash is in 't/trash directory.$name'
+      t/README: Typo: paralell -> parallel
+      t/README: Document the prereq functions, and 3-arg test_*
+      t/README: Document test_external*
+      t/README: Document test_expect_code
+      t/README: Add a section about skipping tests
+      t/README: Document the do's and don'ts of tests
+
+
+Version v1.7.2-rc1; changes since v1.7.2-rc0:
+---------------------------------------------
+
+Andrew Sayers (2):
+      bash-completion: Fix __git_ps1 to work with "set -u"
+      bash completion: Support "divergence from upstream" messages in __git_ps1
+
+Brandon Casey (4):
+      t/lib-pager.sh: remove unnecessary '^' from 'expr' regular expression
+      t/t7811-grep-open.sh: ensure fake "less" is made executable
+      t/t7811-grep-open.sh: remove broken/redundant creation of fake "less" script
+      t/t9001: use egrep when regular expressions are involved
+
+Brian Gernhardt (1):
+      t4027,4041: Use test -s to test for an empty file
+
+Christian Couder (1):
+      revert: accept arbitrary rev-list options
+
+Jeff King (1):
+      notes: check number of parameters to "git notes copy"
+
+Jens Lehmann (4):
+      git diff: rename test that had a conflicting name
+      Add optional parameters to the diff option "--ignore-submodules"
+      git submodule: ignore dirty submodules for summary and status
+      Add the option "--ignore-submodules" to "git status"
+
+Johannes Schindelin (3):
+      Unify code paths of threaded greps
+      grep: Add the option '--open-files-in-pager'
+      grep -O: allow optional argument specifying the pager (or editor)
+
+Jonathan Nieder (3):
+      grep: refactor grep_objects loop into its own function
+      t3508 (cherry-pick): futureproof against unmerged files
+      revert: do not rebuild argv on heap
+
+Julian Phillips (6):
+      string_list: Fix argument order for print_string_list
+      string_list: Fix argument order for for_each_string_list
+      string_list: Fix argument order for string_list_insert
+      string_list: Fix argument order for string_list_insert_at_index
+      string_list: Fix argument order for string_list_lookup
+      string_list: Fix argument order for string_list_append
+
+Junio C Hamano (5):
+      url_decode: URL scheme ends with a colon and does not require a slash
+      Update draft release notes to 1.7.1.1
+      Git 1.7.1.1
+      git.spec.in: Add gitweb subpackage
+      Git 1.7.2-rc1
+
+Michael J Gruber (4):
+      t6018: add tests for rev-list's --branches and --tags
+      t6018: make sure all tested symbolic names are different revs
+      git-rev-parse.txt: Document ":path" specifier
+      git-rev-parse.txt: Add more examples for caret and colon
+
+Nazri Ramliy (5):
+      commit.h: add 'type' to struct name_decoration
+      log-tree.c: Use struct name_decoration's type for classifying decoration
+      log --decorate: Colorize commit decorations
+      Allow customizable commit decorations colors
+      Add test for correct coloring of git log --decoration
+
+Ramsay Jones (2):
+      msvc: Select the "fast" definition of the {get,put}_be32() macros
+      notes: Initialise variable to appease gcc
+
+Thomas Rast (1):
+      rev-list: introduce --count option
+
+
+Version v1.7.2-rc0; changes since v1.7.1.4:
+-------------------------------------------
+
+Alex Riesen (2):
+      Allow passing of configuration parameters in the command line
+      Use strbufs instead of open-coded string manipulation
+
+Axel Bonnet (3):
+      textconv: make the API public
+      textconv: support for blame
+      t/t8006: test textconv support for blame
+
+Bo Yang (9):
+      Add a macro DIFF_QUEUE_CLEAR.
+      Make diffcore_std only can run once before a diff_flush
+      Make git log --follow find copies among unmodified files.
+      Add a prefix output callback to diff output
+      Output the graph columns at the end of the commit message
+      diff.c: Output the text graph padding before each diff line
+      Emit a whole line in one go
+      graph.c: register a callback for graph output
+      Make --color-words work well with --graph
+
+Brandon Casey (7):
+      t/t5800: skip if python version is older than 2.5
+      git-request-pull.sh: remove -e switch to shell interpreter which breaks ksh
+      t/t5150: remove space from sed script
+      t/t7006: ignore return status of shell's unset builtin
+      t/aggregate-results: accomodate systems with small max argument list length
+      Makefile: add PYTHON_PATH to GIT-BUILD-OPTIONS
+      Remove python 2.5'isms
+
+Brian Gernhardt (1):
+      Makefile: Simplify handling of python scripts
+
+Chris Webb (5):
+      whitespace: add tab-in-indent error class
+      whitespace: tests for git-diff --check with tab-in-indent error class
+      whitespace: replumb ws_fix_copy to take a strbuf *dst instead of char *dst
+      whitespace: add tab-in-indent support for --whitespace=fix
+      whitespace: tests for git-apply --whitespace=fix with tab-in-indent
+
+Christian Couder (13):
+      revert: use strbuf to refactor the code that writes the merge message
+      revert: refactor merge recursive code into its own function
+      merge: refactor code that calls "git merge-STRATEGY"
+      merge: make function try_merge_command non static
+      revert: add "--strategy" option to choose merge strategy
+      revert: cleanup code for -x option
+      revert: use run_command_v_opt() instead of execv_git_cmd()
+      revert: refactor code into a do_pick_commit() function
+      revert: change help_msg() to take no argument
+      revert: allow cherry-picking more than one commit
+      revert: add tests to check cherry-picking many commits
+      Documentation/cherry-pick: describe passing more than one commit
+      Documentation/revert: describe passing more than one commit
+
+Clément Poulain (3):
+      sha1_name: add get_sha1_with_context()
+      textconv: support for cat_file
+      t/t8007: test textconv support for cat-file
+
+Daniel Knittl-Frank (1):
+      Show branch information in short output of git status
+
+Eli Barzilay (1):
+      Add `%B' in format strings for raw commit body in `git log' and friends
+
+Eli Collins (1):
+      diff: add configuration option for disabling diff prefixes.
+
+Eric Wong (1):
+      git svn: avoid unnecessary '/' in paths for SVN
+
+Erick Mattos (6):
+      git checkout: create unparented branch by --orphan
+      Documentation: alter checkout --orphan description
+      refs: split log_ref_write logic into log_ref_setup
+      checkout --orphan: respect -l option always
+      t3200: test -l with core.logAllRefUpdates options
+      bash completion: add --orphan to 'git checkout'
+
+Erik Faye-Lund (1):
+      mingw: use _commit to implement fsync
+
+Eyvind Bernhardsen (4):
+      Add tests for per-repository eol normalization
+      Add per-repository eol normalization
+      Rename the "crlf" attribute "text"
+      Add "core.eol" config variable
+
+Finn Arne Gangstad (1):
+      autocrlf: Make it work also for un-normalized repositories
+
+Gary V. Vaughan (17):
+      Makefile: pass CPPFLAGS through to fllow customization
+      Rewrite dynamic structure initializations to runtime assignment
+      Makefile: -lpthread may still be necessary when libc has only pthread stubs
+      enums: omit trailing comma for portability
+      Do not use "diff" found on PATH while building and installing
+      tests: use "test_cmp", not "diff", when verifying the result
+      test_cmp: do not use "diff -u" on platforms that lack one
+      git-compat-util.h: some platforms with mmap() lack MAP_FAILED definition
+      Makefile: some platforms do not have hstrerror anywhere
+      Make NO_{INET_NTOP,INET_PTON} configured independently
+      Some platforms lack socklen_t type
+      Allow disabling "inline"
+      inline declaration does not work on AIX
+      Makefile: SunOS 5.6 portability fix
+      Makefile: HPUX11 portability fixes
+      Makefile: HP-UX 10.20 portability fixes
+      Makefile: Tru64 portability fix
+
+Giuseppe Scrivano (1):
+      print the usage string on stdout instead of stderr
+
+Henrik Grubbström (2):
+      convert: Safer handling of $Id$ contraction.
+      convert: Keep foreign $Id$ on checkout.
+
+Jakub Narębski (16):
+      Export more test-related variables when running external tests
+      gitweb: href(..., -path_info => 0|1)
+      gitweb: Use nonlocal jump instead of 'exit' in die_error
+      gitweb: Add custom error handler using die_error
+      gitweb: Move generating page title to separate subroutine
+      gitweb: Silence 'Variable VAR may be unavailable' warnings
+      gitweb: Improve installation instructions in gitweb/INSTALL
+      gitweb: Create install target for gitweb in Makefile
+      gitweb: Refactor syntax highlighting support
+      gitweb: Put all per-connection code in run() subroutine
+      git-instaweb: Remove pidfile after stopping web server
+      git-instaweb: Wait for server to start before running web browser
+      git-instaweb: Add support for running gitweb via 'plackup'
+      gitweb: Run in FastCGI mode if gitweb script has .fcgi extension
+      gitweb: Fix typo in hash key name in %opts in git_header_html
+      gitweb: Return or exit after done serving request
+
+Jan Krüger (1):
+      git-am: suggest what to do with superfluous patches
+
+Jay Soffian (1):
+      t5516-fetch-push.sh: style cleanup
+
+Jeff King (11):
+      make commit_tree a library function
+      introduce notes-cache interface
+      textconv: refactor calls to run_textconv
+      diff: cache textconv output
+      diff: avoid useless filespec population
+      script with rev-list instead of log
+      tests: rename duplicate t4205
+      tests: chmod +x t5150
+      make url-related functions reusable
+      decode file:// and ssh:// URLs
+      Makefile: default pager on AIX to "more"
+
+Johan Herland (5):
+      diff.c: Ensure "index $from..$to" line contains unambiguous SHA1s
+      Documentation/rev-list-options.txt: Fix missing line in example history graph
+      Documentation/rev-list-options.txt: Explain --ancestry-path
+      revision: Fix typo in --ancestry-path error message
+      revision: Turn off history simplification in --ancestry-path mode
+
+Johannes Schindelin (1):
+      gitweb: Syntax highlighting support
+
+Johannes Sixt (11):
+      Modernize t5530-upload-pack-error.
+      Make report() from usage.c public as vreportf() and use it.
+      Fix signature of fcntl() compatibility dummy
+      Windows: more pthreads functions
+      Reimplement async procedures using pthreads
+      Dying in an async procedure should only exit the thread, not the process.
+      Enable threaded async procedures whenever pthreads is available
+      Have set_try_to_free_routine return the previous routine
+      Do not call release_pack_memory in malloc wrappers when GIT_TRACE is used
+      Recent MinGW has a C99 implementation of snprintf functions
+      merge-recursive: demonstrate an incorrect conflict with submodule
+
+Jonathan Nieder (17):
+      t7400: split setup into multiple tests
+      t7400: clarify 'submodule add' tests
+      t7400: clarify submodule update tests
+      t5800: testgit helper requires Python support
+      tests for request-pull
+      request-pull: protect against OPTIONS_KEEPDASHDASH from environment
+      fsck: check ident lines in commit objects
+      adapt request-pull tests for new pull request format
+      pretty: initialize new cmt_fmt_map to 0
+      Makefile: fix header dependency checker to allow NO_CURL builds
+      Makefile: let header dependency checker override COMPUTE_HEADER_DEPENDENCIES
+      git svn: avoid uninitialized var in 'reset'
+      Add git remote set-branches
+      fsck: fix bogus commit header check
+      rebase: improve error message when upstream argument is missing
+      DWIM 'git show -5' to 'git show --do-walk -5'
+      git-svn: strip off leading slashes on --trunk argument
+
+Junio C Hamano (31):
+      git_config_maybe_bool()
+      log.decorate: usability fixes
+      whitespace: we cannot "catch all errors known to git" anymore
+      GIT_ONE_FILESYSTEM: flip the default to stop at filesystem boundaries
+      Rename ONE_FILESYSTEM to DISCOVERY_ACROSS_FILESYSTEM
+      log --pretty/--oneline: ignore log.decorate
+      war on "sleep" in tests
+      reflog --expire-unreachable: avoid merge-base computation
+      log.decorate: only ignore it under "log --pretty=raw"
+      wt-status: remove unused workdir_untracked member
+      wt-status: plug memory leak while collecting untracked files
+      wt-status: collect ignored files
+      wt-status: rename and restructure status-print-untracked
+      status: --ignored option shows ignored files
+      Document gc.<pattern>.reflogexpire variables
+      more war on "sleep" in tests
+      reflog --expire-unreachable: special case entries in "HEAD" reflog
+      revision: --ancestry-path
+      wt-status: fix 'fprintf' compilation warning
+      t5150: protect backslash with backslash in shell
+      Start 1.7.2 cycle
+      fixup: do not unconditionally disable "diff -u"
+      build: propagate $DIFF to scripts
+      test-lib: use DIFF definition from GIT-BUILD-OPTIONS
+      Update draft release notes to 1.7.2
+      Update draft release notes to 1.7.2
+      Update draft release notes to 1.7.2
+      Drop items that are 1.7.1.1 fixes from the 1.7.1 release notes
+      Update draft release notes to 1.7.2
+      url.c: "<scheme>://" part at the beginning should not be URL decoded
+      Git 1.7.2-rc0
+
+Lars R. Damerow (3):
+      config.c: remove static keyword from git_env_bool()
+      truncate cwd string before printing error message
+      Add support for GIT_ONE_FILESYSTEM
+
+Linus Torvalds (1):
+      Make :/ accept a regex rather than a fixed pattern
+
+Michael J Gruber (5):
+      for-each-ref: Field with abbreviated objectname
+      notes: dry-run and verbose options for prune
+      Documentation+t5708: document and test status -s -b
+      pretty: Introduce ' ' modifier to add space if non-empty
+      git-cat-file.txt: Document --textconv
+
+Michael J. Kiwala (1):
+      git svn: fix empty directory creation
+
+Paolo Bonzini (2):
+      patch-id: extract parsing one diff out of generate_id_list
+      patch-id: Add support for mbox format
+
+Pavan Kumar Sunkara (6):
+      gitweb: Use @diff_opts while using format-patch
+      gitweb: Move static files into seperate subdirectory
+      gitweb: Set default destination directory for installing gitweb in Makefile
+      git-instaweb: Put httpd logs in a "$httpd_only" subdirectory
+      git-instaweb: Configure it to work with new gitweb structure
+      git-web--browse: Add support for google chrome and chromium
+
+Ramkumar Ramachandra (4):
+      git am: Set cmdline globally
+      git am: Display some help text when patch is empty
+      git am: Remove stray error message from sed
+      Refactor parse_date for approxidate functions
+
+René Scharfe (8):
+      grep: add test script for binary file handling
+      grep: grep: refactor handling of binary mode options
+      grep: --count over binary
+      grep: --name-only over binary
+      grep: use memmem() for fixed string search
+      grep: continue case insensitive fixed string search after NUL chars
+      grep: use REG_STARTEND for all matching if available
+      grep: support NUL chars in search strings for -F
+
+Sam Vilain (2):
+      gitweb: Add support for FastCGI, using CGI::Fast
+      git-cvsserver: use a password file cvsserver pserver
+
+Samuel Tardieu (2):
+      Honor "tagopt = --tags" configuration option
+      remote add: add a --[no-]tags option
+
+Simo Melenius (2):
+      branch: exit status now reflects if branch listing finds an error
+      branch: don't fail listing branches if one of the commits wasn't found
+
+Stephen Boyd (2):
+      format-patch: Add a signature option (--signature)
+      completion: Add --signature and format.signature
+
+Steven Drake (1):
+      Add `log.decorate' configuration variable.
+
+Sverre Rabbelier (7):
+      clone: pass the remote name to remote_get
+      clone: also configure url for bare clones
+      fast-import: always create marks_file directories
+      remote-helpers: allow requesing the path to the .git directory
+      remote-helpers: add support for an export command
+      remote-helpers: add testgit helper
+      remote-helpers: add tests for testgit helper
+
+Tay Ray Chuan (2):
+      ls-remote: fall-back to default remotes when no remote specified
+      ls-remote: print URL when no repo is specified
+
+Thomas Rast (5):
+      diff: add --word-diff option that generalizes --color-words
+      Complete prototype of git_config_from_parameters()
+      fast-import: die_nicely() back to vsnprintf (reverts part of ebaa79f)
+      log_ref_setup: don't return stack-allocated array
+      parseopt: wrap rev-parse --parseopt usage for eval consumption
+
+Torsten Schmutzler (1):
+      git-svn: mangle refnames forbidden in git
+
+Will Palmer (4):
+      pretty: make it easier to add new formats
+      pretty: add infrastructure for commit format aliases
+      pretty: add aliases for pretty formats
+      diff-options: make --patch a synonym for -p
+
+Ævar Arnfjörð Bjarmason (12):
+      Add option to git-commit to allow empty log messages
+      git-svn documentation: minor grammar fix
+      git-svn: Remove unused use of File::Temp
+      git-cvsserver: authentication support for pserver
+      git-cvsserver: indent & clean up authdb code
+      git-cvsserver: Improved error handling for pserver
+      git-cvsserver: document making a password without htpasswd
+      git-cvsserver: test for pserver authentication support
+      git-submodule foreach: Add $toplevel variable
+      Makefile: remove redundant munging of @@INSTLIBDIR@@
+      git-cvsserver: typo in a comment: bas -> has
+      git-cvsserver: fix error for invalid password formats
+
+
+Version v1.7.1.4; changes since v1.7.1.3:
+-----------------------------------------
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.1.3; changes since v1.7.1.2:
+-----------------------------------------
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (1):
+      Git 1.7.0.8
+
+Matthieu Moy (1):
+      t0003: add missing && at end of lines
+
+
+Version v1.7.1.2; changes since v1.7.1.1:
+-----------------------------------------
+
+Brandon Casey (1):
+      t/README: clarify test_must_fail description
+
+Chris Packham (1):
+      Documentation/git-gc.txt: add reference to githooks
+
+David Aguilar (1):
+      Documentation: Explain git-mergetool's use of temporary files
+
+Dylan Reid (1):
+      xdiff: optimise for no whitespace difference when ignoring whitespace.
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix in protocol-capabilities.txt
+
+Greg Brockman (2):
+      Check size of path buffer before writing into it
+      Check size of path buffer before writing into it
+
+Heiko Voigt (1):
+      add missing && to submodule-merge testcase
+
+Jay Soffian (2):
+      receive-pack: switch global variable 'commands' to a parameter
+      receive-pack: detect aliased updates which can occur with symrefs
+
+Jeff King (2):
+      t0006: test timezone parsing
+      test-date: fix sscanf type conversion
+
+Johannes Sixt (1):
+      t0005: work around strange $? in ksh when program terminated by a signal
+
+Jonathan Nieder (3):
+      gitmodules.5: url can be a relative path
+      Documentation: add submodule.* to the big configuration variable list
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (3):
+      backmerge a few more fixes to 1.7.1.X series
+      Git 1.7.0.7
+      Git 1.7.1.2
+
+Michael J Gruber (3):
+      git-rev-parse.txt: Document ":path" specifier
+      git-rev-parse.txt: Add more examples for caret and colon
+      rerere.txt: Document forget subcommand
+
+Miklos Vajna (1):
+      format-patch: document the format.to configuration setting
+
+Nicolas Sebrecht (1):
+      checkout: accord documentation to what git does
+
+Oren Held (1):
+      git fetch documentation: describe short '-p' synonym to '--prune' option
+
+Pavan Kumar Sunkara (1):
+      gitweb: fix esc_url
+
+Pierre Habouzit (1):
+      fix git branch -m in presence of cross devices
+
+Ralf Thielow (1):
+      update-server-info: Shorten read_pack_info_file()
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Thomas Rast (1):
+      check_aliased_update: strcpy() instead of strcat() to copy
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.7.1.1; changes since v1.7.1:
+---------------------------------------
+
+Alexey Mahotkin (1):
+      xdiff/xmerge.c: use memset() instead of explicit for-loop
+
+Bert Wesarg (1):
+      diff: fix coloring of extended diff headers
+
+Björn Gustavsson (1):
+      apply: Allow blank *trailing* context lines to match beyond EOF
+
+Björn Steinbrink (1):
+      diff: Support visibility modifiers in the PHP hunk header regexp
+
+Bo Yang (1):
+      blame-options.txt: Add default value for `-M/-C` options.
+
+Brandon Casey (1):
+      t/t9001: use egrep when regular expressions are involved
+
+Brian Downing (1):
+      unpack-trees: Make index lookahead less pessimal
+
+Brian Gernhardt (4):
+      send-email: Cleanup { style
+      send-email: Don't use FQDNs without a '.'
+      Document send-email --smtp-domain
+      send-email: Cleanup smtp-domain and add config
+
+Charles Bailey (2):
+      stash: Don't overwrite files that have gone from the index
+      stash tests: stash can lose data in a file removed from the index
+
+Chris Webb (1):
+      exec_cmd.c: replace hard-coded path list with one from <paths.h>
+
+Christian Couder (3):
+      diff: fix "git show -C -C" output when renaming a binary file
+      commit: use value of GIT_REFLOG_ACTION env variable as reflog message
+      Documentation: grep: fix asciidoc problem with --
+
+Clemens Buchacher (7):
+      do not overwrite files marked "assume unchanged"
+      Documentation: git-add does not update files marked "assume unchanged"
+      test get_git_work_tree() return value for NULL
+      get_cwd_relative(): do not misinterpret suffix as subdirectory
+      setup: document prefix
+      quote.c: separate quoting and relative path generation
+      ls-files: allow relative pathspec
+
+Dmitry Potapov (1):
+      hash_object: correction for zero length file
+
+Gary V. Vaughan (1):
+      git-compat-util.h: use apparently more common __sgi macro to detect SGI IRIX
+
+Gerrit Pape (1):
+      git-submodule.sh: properly initialize shell variables
+
+Henrik Grubbström (3):
+      attr: Fixed debug output for macro expansion.
+      attr: Allow multiple changes to an attribute on the same line.
+      attr: Expand macros immediately when encountered.
+
+Ian McLean (1):
+      Fix "Out of memory? mmap failed" for files larger than 4GB on Windows
+
+Ian Ward Comfort (1):
+      rebase -i: Abort cleanly if new base cannot be checked out
+
+Jakub Narębski (1):
+      autoconf: Check if <paths.h> exists and set HAVE_PATHS_H
+
+Jay Soffian (3):
+      commit.txt: clarify how --author argument is used
+      am: use get_author_ident_from_commit instead of mailinfo when rebasing
+      gitweb/Makefile: fix typo in gitweb.min.css rule
+
+Jeff King (7):
+      handle "git --bare init <dir>" properly
+      docs: clarify meaning of -M for git-log
+      remove over-eager caching in sha1_file_name
+      pull: do nothing on --dry-run
+      commit: give advice on empty amend
+      Makefile: default pager on AIX to "more"
+      notes: check number of parameters to "git notes copy"
+
+Johannes Sixt (1):
+      Thread-safe xmalloc and xrealloc needs a recursive mutex
+
+Jonathan Nieder (25):
+      t7006: guard cleanup with test_expect_success
+      t5704 (bundle): add tests for bundle --stdin
+      fix "bundle --stdin" segfault
+      test-lib: Let tests specify commands to be run at end of test
+      commit --amend: cope with missing display name
+      Documentation/shortlog: scripted users should not rely on implicit HEAD
+      t4201 (shortlog): guard setup with test_expect_success
+      t4201 (shortlog): Test output format with multiple authors
+      shortlog: Document and test --format option
+      test-lib: some shells do not let $? propagate into an eval
+      cherry-pick: do not dump core when iconv fails
+      Documentation/notes: document format of notes trees
+      Documentation/notes: describe content of notes blobs
+      Documentation/notes: add configuration section
+      Documentation/notes: simplify treatment of default notes ref
+      Documentation/log: add a CONFIGURATION section
+      Documentation/notes: simplify treatment of default display refs
+      Documentation/notes: clean up description of rewriting configuration
+      Documentation/notes: nitpicks
+      post-receive-email: document command-line mode
+      Documentation/checkout: clarify description
+      gitignore.5: Clarify matching rules
+      rebase -i -p: document shortcomings
+      Documentation/checkout: clarify description
+      add-interactive: Clarify “remaining hunks in the file”
+
+Junio C Hamano (10):
+      am -3: recover the diagnostic messages for corrupt patches
+      clone: quell the progress report from init and report on clone
+      t9129: fix UTF-8 locale detection
+      common_prefix: simplify and fix scanning for prefixes
+      Prepare draft release notes to 1.7.1.1
+      Update draft release notes to 1.7.1.1
+      tests: remove unnecessary '^' from 'expr' regular expression
+      Update draft release notes to 1.7.1.1
+      Update draft release notes to 1.7.1.1
+      Git 1.7.1.1
+
+Leif Arne Storset (1):
+      Documentation/config.txt: GIT_NOTES_REWRITE_REF overrides notes.rewriteRef
+
+Marcus Comstedt (1):
+      Add "Z" as an alias for the timezone "UTC"
+
+Markus Heidelberg (4):
+      t7508: add test for "git status" refreshing the index
+      git status: refresh the index if possible
+      t7508: add a test for "git status" in a read-only repository
+      Documentation: rebase -i ignores options passed to "git am"
+
+Michael J Gruber (10):
+      index-pack: fix trivial typo in usage string
+      t7508: test advice.statusHints
+      wt-status: take advice.statusHints seriously
+      Documentation: fix minor inconsistency
+      Documentation/gitdiffcore: fix order in pickaxe description
+      Documentation/SubmittingPatches: clarify GMail section and SMTP
+      completion: --set-upstream option for git-branch
+      Makefile: reenable install with NO_CURL
+      Documentation/config: describe status.submodulesummary
+      Documentation: A...B shortcut for checkout and rebase
+
+Michal Sojka (1):
+      test-lib.sh: Add explicit license detail, with change from GPLv2 to GPLv2+.
+
+Nazri Ramliy (1):
+      Documentation/pretty-{formats,options}: better reference for "format:<string>"
+
+Nicolas Pitre (4):
+      Make xmalloc and xrealloc thread-safe
+      index-pack: smarter memory usage when resolving deltas
+      index-pack: rationalize unpack_entry_data()
+      index-pack: smarter memory usage when appending objects
+
+Pete Harlan (1):
+      clone: reword messages to match the end-user perception
+
+Peter Collingbourne (4):
+      Generalise the unlink_or_warn function
+      Implement the rmdir_or_warn function
+      Introduce remove_or_warn function
+      Remove a redundant errno test in a usage of remove_path
+
+Philippe Bruhat (1):
+      Git.pm: better error message
+
+Ping Yin (1):
+      Documentation/git-send-email: Add "Use gmail as the smtp server"
+
+Ramkumar Ramachandra (1):
+      SubmittingPatches: Add new section about what to base work on
+
+Ramsay Jones (4):
+      Makefile: Fix 'clean' target to remove all gitweb build files
+      msvc: Fix some "expr evaluates to function" compiler warnings
+      msvc: Fix some compiler warnings
+      notes: Initialise variable to appease gcc
+
+René Scharfe (3):
+      git diff too slow for a file
+      remove ecb parameter from xdi_diff_outf()
+      Fix checkout of large files to network shares on Windows XP
+
+Scott Chacon (1):
+      Prompt for a username when an HTTP request 401s
+
+Shawn O. Pearce (16):
+      tag.c: Correct indentation
+      tag.h: Remove unused signature field
+      tag.c: Refactor parse_tag_buffer to be saner to program
+      tag.c: Parse tagger date (if present)
+      describe: Break annotated tag ties by tagger date
+      http.c: Remove bad free of static block
+      t5550-http-fetch: Use subshell for repository operations
+      http.c: Tiny refactoring of finish_http_pack_request
+      http.c: Drop useless != NULL test in finish_http_pack_request
+      http.c: Don't store destination name in request structures
+      http.c: Remove unnecessary strdup of sha1_to_hex result
+      Introduce close_pack_index to permit replacement
+      Extract verify_pack_index for reuse from verify_pack
+      Allow parse_pack_index on temporary files
+      http-fetch: Use index-pack rather than verify-pack to check packs
+      http-fetch: Use temporary files for pack-*.idx until verified
+
+Sverre Rabbelier (1):
+      Gitweb: ignore built file
+
+Tay Ray Chuan (18):
+      t5541-http-push: add test for URLs with trailing slash
+      http: make end_url_with_slash() public
+      remote-curl: ensure that URLs have a trailing slash
+      http.c::new_http_pack_request: do away with the temp variable filename
+      t7604-merge-custom-message: shift expected output creation
+      t7604-merge-custom-message: show that --log doesn't append to -m
+      merge: update comment
+      merge: rename variable
+      fmt-merge-msg: minor refactor of fmt_merge_msg()
+      fmt-merge-msg: refactor merge title formatting
+      fmt-merge-msg: add function to append shortlog only
+      merge: --log appends shortlog to message if specified
+      GIT-VERSION-GEN: restrict tags used
+      t7502-commit: fix spelling
+      show-branch: use DEFAULT_ABBREV instead of 7
+      t7502-commit: add tests for summary output
+      t7502-commit: add summary output tests for empty and merge commits
+      commit::print_summary(): don't use format_commit_message()
+
+Thomas Rast (2):
+      t/README: document --root option
+      send-email: ask about and declare 8bit mails
+
+Tim Henigan (1):
+      Documentation/SubmittingPatches: Fix typo in GMail section
+
+Tor Arntsen (1):
+      Change C99 comments to old-style C comments
+
+Will Palmer (1):
+      pretty: Respect --abbrev option
+
+Zhang Le (1):
+      git-mailinfo documentation: clarify -u/--encoding
+
+bert Dvornik (1):
+      start_command: close cmd->err descriptor when fork/spawn fails
+
+Ævar Arnfjörð Bjarmason (3):
+      Move t6000lib.sh to lib-*
+      Turn setup code in t2007-checkout-symlink.sh into a test
+      notes: Initialize variable to appease Sun Studio
+
+
+Version v1.7.1; changes since v1.7.1-rc2:
+-----------------------------------------
+
+Eric Raymond (1):
+      Documentation improvements for the description of short format.
+
+Johannes Sixt (1):
+      MSVC: Fix build by adding missing termios.h dummy
+
+Jonathan Nieder (1):
+      Documentation/Makefile: fix interrupted builds of user-manual.xml
+
+Junio C Hamano (2):
+      Git 1.7.0.6
+      Git 1.7.1
+
+Michael J Gruber (1):
+      t7012: Mark missing tests as TODO
+
+SZEDER Gábor (1):
+      reflog: remove 'show' from 'expire's usage string
+
+
+Version v1.7.1-rc2; changes since v1.7.1-rc1:
+---------------------------------------------
+
+Charles Bailey (1):
+      Documentation: Describe other situations where -z affects git diff
+
+Chris Webb (1):
+      git-instaweb: pass through invoking user's path to gitweb CGI scripts
+
+Jay Soffian (1):
+      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
+
+Jeff King (2):
+      diff: use large integers for diffstat calculations
+      rebase-interactive: silence warning when no commits rewritten
+
+Jens Lehmann (2):
+      gitk: Add Ctrl-W shortcut for closing the active window
+      gitk: Display dirty submodules correctly
+
+Johannes Gilger (1):
+      pretty: Initialize notes if %N is used
+
+Johannes Sixt (1):
+      Windows: start_command: Support non-NULL dir in struct child_process
+
+Jonathan Nieder (5):
+      gitk: Add comments to explain encode_view_opts and decode_view_opts
+      gitk: Don't clobber "Remember this view" setting
+      Add .depend directories to .gitignore
+      Document new "already-merged" rule for branch -d
+      tag -v: use RUN_GIT_CMD to run verify-tag
+
+Junio C Hamano (6):
+      SubmittingPatches: update GMail section
+      blame documentation: -M/-C notice copied lines as well as moved ones
+      Git 1.7.0.5
+      gitweb: simplify gitweb.min.* generation and clean-up rules
+      t3301: add tests to use --format="%N"
+      Git 1.7.1-rc2
+
+Marc Branchaud (1):
+      Docs: Add -X option to git-merge's synopsis.
+
+Mark Hills (4):
+      gitk: Remove forced use of sans-serif font
+      gitk: Set the font for all spinbox widgets
+      gitk: Set the font for all listbox widgets
+      gitk: Use consistent font for all text input fields
+
+Matthew Ogilvie (1):
+      t6006: do not write to /tmp
+
+Michael J Gruber (1):
+      t1010-mktree: Adjust expected result to code and documentation
+
+Pat Thoyts (3):
+      gitk: Avoid calling tk_setPalette on Windows
+      gitk: Add emacs editor variable block
+      gitk: Fix display of copyright symbol
+
+Ramkumar Ramachandra (5):
+      Documentation/remote-helpers: Rewrite description
+      Documentation/urls: Rewrite to accomodate <transport>::<address>
+      Documentation/remote-helpers: Add invocation section
+      Fixup: Second argument may be any arbitrary string
+      Documentation/remote-helpers: Fix typos and improve language
+
+Stephen Boyd (1):
+      t3507: Make test executable
+
+Thomas Rast (1):
+      combined diff: correctly handle truncated file
+
+Will Palmer (1):
+      documentation: clarify direction of core.autocrlf
+
+
+Version v1.7.1-rc1; changes since v1.7.1-rc0:
+---------------------------------------------
+
+Brandon Casey (1):
+      notes.h: declare bit field as unsigned to silence compiler complaints
+
+Jeff King (4):
+      fix const-correctness of write_sha1_file
+      fix textconv leak in emit_rewrite_diff
+      fix typos and grammar in 1.7.1 draft release notes
+      docs: clarify "branch -l"
+
+Jens Lehmann (2):
+      Let check_preimage() use memset() to initialize "struct checkout"
+      Teach diff --submodule and status to handle .git files in submodules
+
+Jonathan Nieder (1):
+      Teach mailinfo %< as an alternative scissors mark
+
+Junio C Hamano (2):
+      diff.c: work around pointer constness warnings
+      Git 1.7.1-rc1
+
+Mark Rada (6):
+      Gitweb: add ignore and clean rules for minified files
+      Gitweb: add support for minifying gitweb.css
+      Gitweb: add autoconfigure support for minifiers
+      instaweb: add minification awareness
+      gitweb: add documentation to INSTALL regarding gitweb.js
+      gitweb: update INSTALL to use shorter make target
+
+Michael J Gruber (2):
+      t3301-notes: Test the creation of reflog entries
+      refs.c: Write reflogs for notes just like for branch heads
+
+Tay Ray Chuan (2):
+      branch: say "Reset to" in reflog entries for 'git branch -f' operations
+      fetch/push: fix usage strings
+
+
+Version v1.7.1-rc0; changes since v1.7.0.9:
+-------------------------------------------
+
+Aaron Crane (1):
+      cvsimport: new -R option: generate .git/cvs-revisions mapping
+
+Anders Kaseorg (1):
+      everyday: fsck and gc are not everyday operations
+
+Ben Walton (2):
+      Make templates honour SHELL_PATH and PERL_PATH
+      Modernize git calling conventions in hook templates
+
+Benjamin C Meyer (1):
+      Fix a spelling mistake in a git-p4 console message
+
+Bert Wesarg (4):
+      make union merge an xdl merge favor
+      refactor merge flags into xmparam_t
+      merge-file: add option to specify the marker size
+      merge-file: add option to select union merge favor
+
+Brandon Casey (9):
+      t/t1304: avoid -d option to setfacl
+      t/t1304: set the Default ACL base entries
+      t/t1304: use 'test -r' to test readability rather than looking at mode bits
+      t/t1304: set the ACL effective rights mask
+      t/t1304: make a second colon optional in the mask ACL check
+      notes.c: remove inappropriate call to return
+      t5505: remove unnecessary subshell invocations
+      t5505: add missing &&
+      t/t5505-remote.sh: escape * to prevent interpretation by shell as glob
+
+Brian Gernhardt (1):
+      Use test_expect_success for test setups
+
+Chris Webb (1):
+      imap-send: suppress warning about cleartext password with CRAM-MD5
+
+Christian Couder (8):
+      reset: add option "--keep" to "git reset"
+      reset: add test cases for "--keep" option
+      Documentation: reset: describe new "--keep" option
+      reset: disallow "reset --keep" outside a work tree
+      reset: disallow using --keep when there are unmerged entries
+      cherry-pick: add tests for new --ff option
+      Documentation: describe new cherry-pick --ff option
+      rebase -i: use new --ff cherry-pick option
+
+Dave Olszewski (1):
+      rebase--interactive: don't require what's rebased to be a branch
+
+Eric Blake (1):
+      Makefile: update defaults for modern Cygwin
+
+Eric S. Raymond (1):
+      Integrate version 3 ciabot scripts into contrib/.
+
+Erik Faye-Lund (5):
+      hash-object: support --stdin-paths with --no-filters
+      git-svn: support fetch with autocrlf on
+      Revert "git-svn: always initialize with core.autocrlf=false"
+      cherry: support --abbrev option
+      ls: remove redundant logic
+
+Frank Li (3):
+      fallback SSH_ASKPASS when GIT_ASKPASS not set
+      git-svn: Support retrieving passwords with GIT_ASKPASS
+      git-core: Support retrieving passwords with GIT_ASKPASS
+
+Hitoshi Mitake (1):
+      imap-send: support CRAM-MD5 authentication
+
+Ian Ward Comfort (1):
+      RPM spec: include bash completion support
+
+Ilari Liusvaara (1):
+      Allow '+', '-' and '.' in remote helper names
+
+Jakub Narębski (2):
+      gitweb: esc_html (short) error message in die_error
+      gitweb: Protect escaping functions against calling on undef
+
+Jari Aalto (3):
+      git-send-email.perl: improve error message in send_message()
+      git-send-email.perl: add option --smtp-debug
+      git-send-email.perl - try to give real name of the calling host to HELO/EHLO
+
+Jeff King (1):
+      submodule summary: do not shift a non-existent positional variable
+
+Jens Lehmann (6):
+      git diff --submodule: Show detailed dirty status of submodules
+      git status: Show detailed dirty status of submodules in long format
+      git submodule summary: Handle HEAD as argument when on an unborn branch
+      Refactor dirty submodule detection in diff-lib.c
+      git status: Fix false positive "new commits" output for dirty submodules
+      git status: ignoring untracked files must apply to submodules too
+
+Johan Herland (32):
+      Minor cosmetic fixes to notes.c
+      Notes API: get_commit_notes() -> format_note() + remove the commit restriction
+      Add tests for checking correct handling of $GIT_NOTES_REF and core.notesRef
+      Notes API: init_notes(): Initialize the notes tree from the given notes ref
+      Notes API: add_note(): Add note objects to the internal notes tree structure
+      Notes API: remove_note(): Remove note objects from the notes tree structure
+      Notes API: get_note(): Return the note annotating the given object
+      Notes API: for_each_note(): Traverse the entire notes tree with a callback
+      Notes API: write_notes_tree(): Store the notes tree in the database
+      Notes API: Allow multiple concurrent notes trees with new struct notes_tree
+      Refactor notes concatenation into a flexible interface for combining notes
+      Builtin-ify git-notes
+      t3301: Verify successful annotation of non-commits
+      t3305: Verify that adding many notes with git-notes triggers increased fanout
+      Teach notes code to properly preserve non-notes in the notes tree
+      Teach builtin-notes to remove empty notes
+      builtin-notes: Add "remove" subcommand for removing existing notes
+      t3305: Verify that removing notes triggers automatic fanout consolidation
+      Notes API: prune_notes(): Prune notes that belong to non-existing objects
+      builtin-notes: Add "prune" subcommand for removing notes for missing objects
+      Documentation: Generalize git-notes docs to 'objects' instead of 'commits'
+      builtin-notes: Add "list" subcommand for listing note objects
+      builtin-notes: Add --message/--file aliases for -m/-F options
+      builtin-notes: Add "add" subcommand for adding notes to objects
+      builtin-notes: Add "append" subcommand for appending to note objects
+      builtin-notes: Deprecate the -m/-F options for "git notes edit"
+      builtin-notes: Refactor handling of -F option to allow combining -m and -F
+      builtin-notes: Add -c/-C options for reusing notes
+      builtin-notes: Misc. refactoring of argc and exit value handling
+      builtin-notes: Add "copy" subcommand for copying notes between objects
+      submodule summary: Don't barf when invoked in an empty repo
+      builtin-notes: Minor (mostly parse_options-related) fixes
+
+Johannes Sixt (2):
+      Print RUNTIME_PREFIX warning only when GIT_TRACE is set
+      Windows: redirect f[re]open("/dev/null") to f[re]open("nul")
+
+Jonathan Nieder (33):
+      Makefile: add missing header file dependencies
+      Makefile: make sure test helpers are rebuilt when headers change
+      Makefile: remove wt-status.h from LIB_H
+      Makefile: clean up http-walker.o dependency rules
+      Makefile: drop dependency on $(wildcard */*.h)
+      Makefile: transport.o depends on branch.h now
+      Makefile: rearrange dependency rules
+      Makefile: disable default implicit rules
+      Makefile: list generated object files in OBJECTS
+      Makefile: lazily compute header dependencies
+      Makefile: list standalone program object files in PROGRAM_OBJS
+      Teach Makefile to check header dependencies
+      Do not install shell libraries executable
+      Makefile: tuck away generated makefile fragments in .depend
+      Makefile: always remove .depend directories on 'make clean'
+      Makefile: clarify definition of TEST_OBJS
+      Makefile: Fix occasional GIT-CFLAGS breakage
+      revert: fix tiny memory leak in cherry-pick --ff
+      tests: document format of conflicts from checkout -m
+      tests: document cherry-pick behavior in face of conflicts
+      xdl_merge(): add optional ancestor label to diff3-style output
+      xdl_merge(): move file1 and file2 labels to xmparam structure
+      merge-file --diff3: add a label for ancestor
+      ll_merge(): add ancestor label parameter for diff3-style output
+      checkout --conflict=diff3: add a label for ancestor
+      merge_file(): add comment explaining behavior wrt conflict style
+      merge_trees(): add ancestor label parameter for diff3-style output
+      checkout -m --conflict=diff3: add a label for ancestor
+      compat: add mempcpy()
+      revert: clarify label on conflict hunks
+      cherry-pick, revert: add a label for ancestor
+      merge-recursive: add a label for ancestor
+      Makefile: future-proof Cygwin version check
+
+Junio C Hamano (25):
+      builtin-for-each-ref.c: comment fixes
+      builtin-for-each-ref.c: check if we need to peel onion while parsing the format
+      for-each-ref --format='%(symref) %(symref:short)'
+      for-each-ref --format='%(flag)'
+      Start 1.7.1 cycle
+      Resurrect "git grep --no-index"
+      Update draft release notes to 1.7.1
+      notes: fix malformed tree entry
+      wrap-for-bin: do not export an empty GIT_TEMPLATE_DIR
+      submodule summary: do not fail before the first commit
+      parse-options: add parse_options_concat() to concat options
+      builtin/merge: make checkout_fast_forward() non static
+      revert: add --ff option to allow fast forward when cherry-picking
+      Update draft release notes to 1.7.1
+      Documentation: improve description of "git reset --keep"
+      t4013: add tests for log -p -m --first-parent
+      revision: introduce setup_revision_opt
+      show -c: show patch text
+      show --first-parent/-m: do not default to --cc
+      Makefile: update check-docs target
+      t5516: Use test_cmp when appropriate
+      Update draft release notes to 1.7.1
+      Update draft release notes to 1.7.1
+      Revert "Link against libiconv on IRIX"
+      Git 1.7.1-rc0
+
+Larry D'Anna (4):
+      git-push: fix an advice message so it goes to stderr
+      git-push: send "To <remoteurl>" messages to the standard output in --porcelain mode
+      git-push: make git push --porcelain print "Done"
+      git-push: add tests for git push --porcelain
+
+Linus Torvalds (1):
+      Move 'builtin-*' into a 'builtin/' subdirectory
+
+Marc Branchaud (1):
+      Teach rebase the --no-ff option.
+
+Mark Lodato (4):
+      Add an optional argument for --color options
+      Add GIT_COLOR_BOLD_* and GIT_COLOR_BG_*
+      grep: Colorize filename, line number, and separator
+      grep: Colorize selected, context, and function lines
+
+Markus Heidelberg (2):
+      builtin/commit: fix duplicated sentence in a comment
+      builtin/commit: remove unnecessary variable definition
+
+Michael J Gruber (4):
+      git-svn: req_svn when needed
+      t9119-git-svn-info.sh: test with svn 1.6.* as well
+      Documentation: fix a few typos in git-notes.txt
+      git-svn: make git svn --version work again
+
+Michael Lukashov (4):
+      connect.c: move duplicated code to a new function 'get_host_and_port'
+      refactor duplicated code in builtin-send-pack.c and transport.c
+      refactor duplicated fill_mm() in checkout and merge-recursive
+      refactor duplicated encode_header in pack-objects and fast-import
+
+Michele Ballabio (1):
+      shortlog: warn the user when there is no input
+
+Miklos Vajna (1):
+      request-pull: avoid mentioning that the start point is a single commit
+
+Nguyễn Thái Ngọc Duy (5):
+      make_absolute_path(): Do not append redundant slash
+      init-db, rev-parse --git-dir: do not append redundant slash
+      Move offset_1st_component() to path.c
+      Support working directory located at root
+      Add test for using Git at root of file system
+
+Nicolas Pitre (1):
+      move encode_in_pack_object_header() to a better place
+
+Petr Baudis (1):
+      git log -p -m: document -m and honor --first-parent
+
+René Scharfe (2):
+      setenv(GIT_DIR) clean-up
+      grep: enable threading for context line printing
+
+SZEDER Gábor (4):
+      bash: improve aliased command recognition
+      bash: support user-supplied completion scripts for user's git commands
+      bash: support user-supplied completion scripts for aliases
+      bash: completion for gitk aliases
+
+Stefan-W. Hahn (4):
+      documentation: 'git-mailsplit --keep-cr' is not hidden anymore
+      git-am: Add command line parameter `--keep-cr` passing it to git-mailsplit
+      git-am: Add am.keepcr and --no-keep-cr to override it
+      git-am: Add tests for `--keep-cr`, `--no-keep-cr` and `am.keepcr`
+
+Stephen Boyd (11):
+      format-patch: use a string_list for headers
+      format-patch: add --no-cc, --no-to, and --no-add-headers
+      send-email: add --no-cc, --no-to, and --no-bcc
+      notes: rework subcommands and parse options
+      fmt-merge-msg: be quiet if nothing to merge
+      t6200: modernize with test_tick
+      t6200: test fmt-merge-msg more
+      fmt-merge-msg: use pretty.c routines
+      string-list: add unsorted_string_list_lookup()
+      fmt-merge-msg: remove custom string_list implementation
+      fmt-merge-msg: hide summary option
+
+Steven Drake (5):
+      Add `init.templatedir` configuration variable.
+      Add a "TEMPLATE DIRECTORY" section to git-init[1].
+      init: having keywords without value is not a global error.
+      t/t0001-init.sh: add test for 'init with init.templatedir set'
+      Add 'git format-patch --to=' option and 'format.to' configuration variable.
+
+Tay Ray Chuan (17):
+      Documentation/git-clone: mention progress in -v
+      Documentation/git-pull: put verbosity options before merge/fetch ones
+      Documentation/git-push: put --quiet before --verbose
+      fetch: refactor verbosity option handling into transport.[ch]
+      push: support multiple levels of verbosity
+      clone: support multiple levels of verbosity
+      transport->progress: use flag authoritatively
+      push: learn --progress
+      fetch and pull: learn --progress
+      transport: update flags to be in running order
+      t5541-http-push: check that ref is unchanged for non-ff test
+      t554[01]-http-push: refactor, add non-ff tests
+      http-push: remove "|| 1" to enable verbose check
+      http-walker: cleanup more thoroughly
+      http: init and cleanup separately from http-walker
+      remote-curl: use http_fetch_ref() instead of walker wrapper
+      remote-curl: init walker only when needed
+
+Thomas Rast (14):
+      test-lib: unset GIT_NOTES_REF to stop it from influencing tests
+      Support showing notes from more than one notes tree
+      Documentation: document post-rewrite hook
+      commit --amend: invoke post-rewrite hook
+      rebase: invoke post-rewrite hook
+      rebase -i: invoke post-rewrite hook
+      notes: implement 'git notes copy --stdin'
+      notes: implement helpers needed for note copying during rewrite
+      rebase: support automatic notes copying
+      commit --amend: copy notes to the new commit
+      notes: add shorthand --ref to override GIT_NOTES_REF
+      notes: track whether notes_trees were changed at all
+      git-notes(1): add a section about the meaning of history
+      rebase -i: make post-rewrite work for 'edit'
+
+Tuomas Suutari (5):
+      t9151: Fix a few commits in the SVN dump
+      t9151: Add two new svn:mergeinfo test cases
+      git-svn: Fix discarding of extra parents from svn:mergeinfo
+      git-svn: Fix merge detecting with rewrite-root
+      t9150,t9151: Add rewrite-root option to init
+
+YONETANI Tomokazu (1):
+      Fix _XOPEN_SOURCE problem on DragonFly
+
+josh robb (1):
+      git svn: delay importing SVN::Base until it is needed
+
+
+Version v1.7.0.9; changes since v1.7.0.8:
+-----------------------------------------
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Junio C Hamano (1):
+      Git 1.6.4.5
+
+
+Version v1.7.0.8; changes since v1.7.0.7:
+-----------------------------------------
+
+Jonathan Nieder (1):
+      add: introduce add.ignoreerrors synonym for add.ignore-errors
+
+Junio C Hamano (1):
+      Git 1.7.0.8
+
+
+Version v1.7.0.7; changes since v1.7.0.6:
+-----------------------------------------
+
+Eric Raymond (1):
+      Documentation improvements for the description of short format.
+
+Gerrit Pape (1):
+      git-submodule.sh: properly initialize shell variables
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jonathan Nieder (1):
+      config --get --path: check for unset $HOME
+
+Junio C Hamano (1):
+      Git 1.7.0.7
+
+Michael J Gruber (3):
+      index-pack: fix trivial typo in usage string
+      Makefile: reenable install with NO_CURL
+      Documentation/config: describe status.submodulesummary
+
+René Scharfe (1):
+      remove ecb parameter from xdi_diff_outf()
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.7.0.6; changes since v1.7.0.5:
+-----------------------------------------
+
+Charles Bailey (1):
+      Documentation: Describe other situations where -z affects git diff
+
+David Aguilar (1):
+      Makefile: Remove usage of deprecated Python "has_key" method
+
+Jay Soffian (1):
+      Documentation/config.txt: default gc.aggressiveWindow is 250, not 10
+
+Jeff King (1):
+      diff: use large integers for diffstat calculations
+
+Johannes Sixt (1):
+      MSVC: Fix build by adding missing termios.h dummy
+
+Jonathan Nieder (2):
+      Document new "already-merged" rule for branch -d
+      Documentation/Makefile: fix interrupted builds of user-manual.xml
+
+Junio C Hamano (1):
+      Git 1.7.0.6
+
+Marc Branchaud (1):
+      Docs: Add -X option to git-merge's synopsis.
+
+Michael J Gruber (3):
+      rev-list: use default abbrev length when abbrev-commit is in effect
+      t1010-mktree: Adjust expected result to code and documentation
+      t7012: Mark missing tests as TODO
+
+SZEDER Gábor (1):
+      reflog: remove 'show' from 'expire's usage string
+
+Thomas Rast (1):
+      combined diff: correctly handle truncated file
+
+Will Palmer (1):
+      documentation: clarify direction of core.autocrlf
+
+
+Version v1.7.0.5; changes since v1.7.0.4:
+-----------------------------------------
+
+Brandon Casey (1):
+      daemon.c: avoid accessing ss_family member of struct sockaddr_storage
+
+Erik Faye-Lund (1):
+      rev-list: fix --pretty=oneline with empty message
+
+Gustaf Hendeby (1):
+      Improve error messages from 'git stash show'
+
+Jeff King (1):
+      docs: clarify "branch -l"
+
+Jens Lehmann (1):
+      Let check_preimage() use memset() to initialize "struct checkout"
+
+Junio C Hamano (3):
+      diff --check: honor conflict-marker-size attribute
+      blame documentation: -M/-C notice copied lines as well as moved ones
+      Git 1.7.0.5
+
+Michael J Gruber (2):
+      .mailmap: Entries for Alex Bennée, Deskin Miller, Vitaly "_Vi" Shukela
+      send-email: lazily assign editor variable
+
+R. Tyler Ballance (1):
+      Correct references to /usr/bin/python which does not exist on FreeBSD
+
+Ramkumar Ramachandra (1):
+      imap-send: Remove limitation on message body
+
+Shawn O. Pearce (1):
+      http-backend: Don't infinite loop during die()
+
+Tay Ray Chuan (4):
+      pack-protocol.txt: fix spelling
+      pack-protocol.txt: fix pkt-line lengths
+      branch: say "Reset to" in reflog entries for 'git branch -f' operations
+      fetch/push: fix usage strings
+
+
+Version v1.7.0.4; changes since v1.7.0.3:
+-----------------------------------------
+
+Björn Gustavsson (5):
+      apply: Don't unnecessarily update line lengths in the preimage
+      apply: Remove the quick rejection test
+      apply: Allow blank context lines to match beyond EOF
+      t4124: Add additional tests of --whitespace=fix
+      t3417: Add test cases for "rebase --whitespace=fix"
+
+Chris Packham (1):
+      test for add with non-existent pathspec
+
+David Aguilar (1):
+      difftool: Fix '--gui' when diff.guitool is unconfigured
+
+Greg Bacon (1):
+      Documentation: Clarify support for smart HTTP backend
+
+Holger Weiß (3):
+      Don't redefine htonl and ntohl on big-endian
+      Link against libiconv on IRIX
+      Documentation: show-ref <pattern>s are optional
+
+Jakub Narębski (1):
+      gitweb: git_get_project_config requires only $git_dir, not also $project
+
+Jan Stępień (1):
+      Updated the usage string of git reset
+
+Jeff King (1):
+      dir: fix COLLECT_IGNORED on excluded prefixes
+
+Johannes Sixt (2):
+      diff: fix textconv error zombies
+      Windows: fix utime() for read-only files
+
+Junio C Hamano (8):
+      git add -u: die on unmatched pathspec
+      color: allow multiple attributes
+      t0050: mark non-working test as such
+      tests for "git add ignored-dir/file" without -f
+      refs: ref entry with NULL sha1 is can be a dangling symref
+      t9350: fix careless use of "cd"
+      Prepare for 1.7.0.4
+      Git 1.7.0.4
+
+Kevin Ballard (1):
+      format-patch: Squelch 'fatal: Not a range." error
+
+Markus Heidelberg (1):
+      Documentation: explain the meaning of "-g" in git-describe output
+
+Sverre Rabbelier (1):
+      fast-export: don't segfault when marks file cannot be opened
+
+
+Version v1.7.0.3; changes since v1.7.0.2:
+-----------------------------------------
+
+Adam Simpkins (2):
+      prune: honor --expire=never
+      reflog: honor gc.reflogexpire=never
+
+Andreas Gruenbacher (3):
+      fetch: Check for a "^{}" suffix with suffixcmp()
+      fetch: Future-proof initialization of a refspec on stack
+      fetch: Fix minor memory leak
+
+Dave Olszewski (1):
+      don't use default revision if a rev was specified
+
+Filippo Negroni (1):
+      Fix gitmkdtemp: correct test for mktemp() return value
+
+Giuseppe Bilotta (5):
+      Refactor list of of repo-local env vars
+      rev-parse: --local-env-vars option
+      shell setup: clear_local_git_env() function
+      submodules: ensure clean environment when operating in a submodule
+      is_submodule_modified(): clear environment properly
+
+Ian Ward Comfort (1):
+      bash: complete *_HEAD refs if present
+
+Imre Deak (1):
+      daemon: parse_host_and_port SIGSEGV if port is specified
+
+Jeff King (2):
+      add-interactive: fix bogus diff header line ordering
+      push: fix segfault for odd config
+
+Jonathan Nieder (1):
+      Makefile: Fix CDPATH problem
+
+Junio C Hamano (12):
+      "log --author=me --grep=it" should find intersection, not union
+      Reword "detached HEAD" notification
+      mailinfo: do not strip leading spaces even for a header line
+      t5521: fix and modernize
+      builtin-fetch --all/--multi: propagate options correctly
+      fetch --all/--multiple: keep all the fetched branch information
+      pack-objects documentation: reword "objects that appear in the standard input"
+      Merge accumulated fixes to prepare for 1.7.0.3
+      t9400: Use test_cmp when appropriate
+      t/Makefile: remove test artifacts upon "make clean"
+      Update draft release notes to 1.7.0.3
+      Git 1.7.0.3
+
+Mark Lodato (4):
+      grep docs: pluralize "Example" section
+      grep docs: use AsciiDoc literals consistently
+      grep docs: --cached and <tree>... are incompatible
+      grep docs: document --no-index option
+
+Matthieu Moy (6):
+      Add a testcase for ACL with restrictive umask.
+      Move gitmkstemps to path.c
+      git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument.
+      Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.
+      git_mkstemps_mode: don't set errno to EINVAL on exit.
+      Use git_mkstemp_mode instead of plain mkstemp to create object files
+
+Michael J Gruber (7):
+      Documentation/git-read-tree: fix table layout
+      Documentation/git-read-tree: clarify 2-tree merge
+      Documentation/git-reflog: Fix formatting of command lists
+      Documentation/gitdiffcore: Remove misleading date in heading
+      Documentation/urls: Remove spurious example markers
+      Documentation/git-clone: Transform description list into item list
+      .mailmap: Map the the first submissions of MJG by e-mail
+
+Michael Wookey (1):
+      run-command.c: fix build warnings on Ubuntu
+
+Nelson Elhage (2):
+      Documentation: pack-objects: Clarify --local's semantics.
+      pack-objects documentation: Fix --honor-pack-keep as well.
+
+René Scharfe (2):
+      blame: fix indent of line numbers
+      for_each_recent_reflog_ent(): use strbuf, fix offset handling
+
+Stephen Boyd (1):
+      pull: replace unnecessary sed invocation
+
+Thomas Rast (1):
+      Documentation: receive.denyCurrentBranch defaults to 'refuse'
+
+
+Version v1.7.0.2; changes since v1.7.0.1:
+-----------------------------------------
+
+Bert Wesarg (1):
+      unset GREP_OPTIONS in test-lib.sh
+
+Christian Couder (1):
+      bisect: error out when passing bad path parameters
+
+Dmitry Potapov (1):
+      hash-object: don't use mmap() for small files
+
+Erik Faye-Lund (1):
+      run-command: support custom fd-set in async
+
+Gabriel Filion (1):
+      require_work_tree broken with NONGIT_OK
+
+Hitoshi Mitake (1):
+      git-imap-send: Convert LF to CRLF before storing patch to draft box
+
+Jakub Narębski (2):
+      gitweb: Die if there are parsing errors in config file
+      gitweb: Fix project-specific feature override behavior
+
+Jonathan Nieder (8):
+      Fix 'git var' usage synopsis
+      Make 'git var GIT_PAGER' always print the configured pager
+      git.1: Clarify the behavior of the --paginate option
+      git svn: Fix launching of pager
+      am: Fix launching of pager
+      tests: Add tests for automatic use of pager
+      t7006-pager: if stdout is not a terminal, make a new one
+      tests: Fix race condition in t7006-pager
+
+Junio C Hamano (6):
+      t6000lib: Fix permission
+      lib-patch-mode.sh: Fix permission
+      status: preload index to optimize lstat(2) calls
+      Start preparing for 1.7.0.2
+      Update draft release notes to 1.7.0.2
+      Git 1.7.0.2
+
+Larry D'Anna (2):
+      git diff --quiet -w: check and report the status
+      git-diff: add a test for git diff --quiet -w
+
+Matthieu Moy (1):
+      stash: suggest the correct command line for unknown options.
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Nicolas Pitre (8):
+      fast-import: start using struct pack_idx_entry
+      fast-import: use sha1write() for pack data
+      fast-import: use write_idx_file() instead of custom code
+      fast-import: make default pack size unlimited
+      fast-import: honor pack.indexversion and pack.packsizelimit config vars
+      fast-import: use the diff_delta() max_delta_size argument
+      sha1_file: don't malloc the whole compressed result when writing out objects
+      sha1_file: be paranoid when creating loose objects
+
+René Scharfe (4):
+      utf8.c: remove print_wrapped_text()
+      utf8.c: remove print_spaces()
+      utf8.c: remove strbuf_write()
+      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
+
+Shawn O. Pearce (7):
+      run-command: Allow stderr to be a caller supplied pipe
+      send-pack: demultiplex a sideband stream with status data
+      receive-pack: Refactor how capabilities are shown to the client
+      receive-pack: Wrap status reports inside side-band-64k
+      receive-pack: Send hook output over side band #2
+      t5401: Use a bare repository for the remote peer
+      receive-pack: Send internal errors over side-band #2
+
+Stephen Boyd (1):
+      t7406: Fix submodule init config tests
+
+Sylvain Rabot (1):
+      gitweb multiple project roots documentation
+
+Tay Ray Chuan (1):
+      transport: add got_remote_refs flag
+
+Thomas Rast (1):
+      cherry_pick_list: quit early if one side is empty
+
+
+Version v1.7.0.1; changes since v1.7.0:
+---------------------------------------
+
+Bert Wesarg (2):
+      Documentation: mention conflict marker size argument (%L) for merge driver
+      rerere: fix memory leak if rerere images can't be read
+
+Evan Powers (1):
+      git-p4: fix bug in symlink handling
+
+Jacob Helwig (1):
+      Documentation: Fix indentation problem in git-commit(1)
+
+Jeff King (9):
+      accept "git grep -- pattern"
+      cherry-pick: rewrap advice message
+      cherry-pick: refactor commit parsing code
+      cherry-pick: format help message as strbuf
+      cherry-pick: show commit name instead of sha1
+      cherry-pick: prettify the advice message
+      dwim_ref: fix dangling symref warning
+      docs: don't talk about $GIT_DIR/refs/ everywhere
+      rm: fix bug in recursive subdirectory removal
+
+Johannes Sixt (1):
+      t3301-notes: insert a shbang line in ./fake_editor.sh
+
+Jonathan Nieder (1):
+      am: remove rebase-apply directory before gc
+
+Junio C Hamano (6):
+      Typofixes outside documentation area
+      Start 1.7.0 maintenance track
+      Fix use of mutex in threaded grep
+      Prepare 1.7.0.1 release notes
+      Update 1.7.0.1 release notes
+      Git 1.7.0.1
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Mark Lodato (2):
+      grep documentation: clarify what files match
+      Remove reference to GREP_COLORS from documentation
+
+Markus Heidelberg (1):
+      sha1_name: fix segfault caused by invalid index access
+
+Matt Kraai (1):
+      commit: quote the user name in the example
+
+Pete Harlan (1):
+      Remove hyphen from "git-command" in two error messages
+
+René Scharfe (1):
+      fix minor memory leak in get_tree_entry()
+
+Stephen Boyd (1):
+      Documentation: describe --thin more accurately
+
+Thomas Rast (2):
+      stash pop: remove 'apply' options during 'drop' invocation
+      t1450: fix testcases that were wrongly expecting failure
+
+
+Version v1.7.0; changes since v1.7.0-rc2:
+-----------------------------------------
+
+Brian Gernhardt (1):
+      t3902: Protect against OS X normalization
+
+Jacob Helwig (1):
+      filter-branch: Fix error message for --prune-empty --commit-filter
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff King (1):
+      am: switch --resolved to --continue
+
+Junio C Hamano (11):
+      git-add documentation: Fix shell quoting example
+      Fix parsing of imap.preformattedHTML and imap.sslverify
+      git-push: document all the status flags used in the output
+      check-ref-format documentation: fix enumeration mark-up
+      t8003: check exit code of command and error message separately
+      Git 1.6.6.2
+      Update draft release notes to 1.7.0 one more time
+      archive documentation: attributes are taken from the tree by default
+      Re-fix check-ref-format documentation mark-up
+      Fix typo in 1.6.6.2 release notes
+      Git 1.7.0
+
+Michael J Gruber (1):
+      Documentation: minor fixes to RelNotes-1.7.0
+
+Nicolas Pitre (1):
+      Revert "pack-objects: fix pack generation when using pack_size_limit"
+
+SZEDER Gábor (1):
+      bash: support 'git am's new '--continue' option
+
+Thomas Rast (1):
+      Documentation: quote braces in {upstream} notation
+
+
+Version v1.7.0-rc2; changes since v1.7.0-rc1:
+---------------------------------------------
+
+Andrew Myrick (1):
+      git-svn: persistent memoization
+
+Ben Walton (2):
+      configure: Allow GIT_ARG_SET_PATH to handle --without-PROGRAM
+      configure: Allow --without-python
+
+Björn Gustavsson (1):
+      bash: support the --autosquash option for rebase
+
+Brian Gernhardt (2):
+      t9501: Skip testing load if we can't detect it
+      t9501: Re-fix max load test
+
+Christian Stimming (1):
+      git-gui: Update German translation (12 new or changed strings).
+
+Dan McGee (1):
+      Make NO_PTHREADS the sole thread configuration variable
+
+Emmanuel Trillaud (1):
+      git-gui: update french translation
+
+Giuseppe Bilotta (4):
+      git-gui: handle non-standard worktree locations
+      git-gui: handle bare repos correctly
+      git-gui: update shortcut tools to use _gitworktree
+      git-gui: set GIT_DIR and GIT_WORK_TREE after setup
+
+Heiko Voigt (1):
+      git-gui: fix shortcut for menu "Commit/Revert Changes"
+
+Jakub Narębski (1):
+      gitweb: Make running t9501 test with '--debug' reliable and usable
+
+Jeff Epler (1):
+      git-gui: Support applying a range of changes at once
+
+Jeff King (3):
+      mention new shell execution behavior in release notes
+      docs: fix filter-branch example for quoted paths
+      Fix invalid read in quote_c_style_counted
+
+Jens Lehmann (5):
+      git-gui: Use git diff --submodule when available
+      git-gui: Add a special diff popup menu for submodules
+      git-gui: Quote git path when starting another gui in a submodule
+      Fix memory leak in submodule.c
+      Updates for dirty submodules in release notes and user manual
+
+John 'Warthog9' Hawley (7):
+      gitweb: Load checking
+      gitweb: Makefile improvements
+      gitweb: Check that $site_header etc. are defined before using them
+      gitweb: add a "string" variant of print_local_time
+      gitweb: add a "string" variant of print_sort_th
+      gitweb: Add optional extra parameter to die_error, for extended explanation
+      gitweb: Simplify (and fix) chop_str
+
+Junio C Hamano (7):
+      RPM packaging: use %global inside %{!?...}
+      Update draft release notes to 1.7.0
+      build: make code "-Wpointer-arith" clean
+      fast-import.c: Fix big-file-threshold parsing bug
+      fast-import: count --max-pack-size in bytes
+      Revert 30816237 and 7e62265
+      Update draft release notes to 1.7.0
+
+Michael J Gruber (1):
+      git-clean: fix the description of the default behavior
+
+Michal Sojka (2):
+      filter-branch: Fix to allow replacing submodules with another content
+      filter-branch: Add tests for submodules in tree-filter
+
+Michele Ballabio (1):
+      git-gui: update Italian translation
+
+Nanako Shiraishi (1):
+      git-gui: update Japanese translation
+
+Nicolas Pitre (4):
+      fix multiple issues with t5300
+      pack-objects: fix pack generation when using pack_size_limit
+      make --max-pack-size argument to 'git pack-object' count in bytes
+      update git-repack documentation wrt repack.UseDeltaBaseOffset
+
+Pal-Kristian Engstad (1):
+      git-p4: Fix sync errors due to new server version
+
+Pat Thoyts (1):
+      git-gui: use themed tk widgets with Tk 8.5
+
+Paul Mackerras (1):
+      gitk: Fix copyright symbol in About box message
+
+Peter Krefting (1):
+      git-gui: Update Swedish translation (520t0f0u)
+
+Peter Oberndorfer (1):
+      git-gui: use different icon for new and modified files in the index
+
+Ralf Wildenhues (1):
+      Fix typos in technical documentation.
+
+René Scharfe (2):
+      grep: simplify assignment of ->fixed
+      archive: simplify archive format guessing
+
+Shawn O. Pearce (4):
+      git-gui: Remove unused icon file_parttick
+      git-gui: Update translation template
+      fast-import: Stream very large blobs directly to pack
+      Correct spelling of 'REUC' extension
+
+Wesley J. Landaker (1):
+      Update git fsck --full short description to mention packs
+
+
+Version v1.7.0-rc1; changes since v1.7.0-rc0:
+---------------------------------------------
+
+Alejandro Riveira Fernández (1):
+      Add test-run-command to .gitignore
+
+Benjamin Kramer (1):
+      grep: use REG_STARTEND (if available) to speed up regexec
+
+Christian Couder (1):
+      gitk: Add "--no-replace-objects" option
+
+Christian Stimming (1):
+      gitk: Update German translation
+
+Dan McGee (1):
+      grep: Fix two memory leaks
+
+Dave Dulson (2):
+      gitk: Enable gitk to create tags with messages
+      gitk: Fix display of newly-created tags
+
+Emmanuel Trillaud (1):
+      gitk: Add French translation
+
+Fredrik Kuivinen (1):
+      Threaded grep
+
+Gerrit Pape (1):
+      git-cvsserver: allow regex metacharacters in CVSROOT
+
+Ilari Liusvaara (7):
+      Support addresses with ':' in git-daemon
+      Allow use of []-wrapped addresses in git://
+      Add xmallocz()
+      Fix integer overflow in patch_delta()
+      Fix integer overflow in unpack_sha1_rest()
+      Fix integer overflow in unpack_compressed_entry()
+      Fix remote.<remote>.vcs
+
+Jeff King (8):
+      t0101: use absolute date
+      rerere: fix too-short initialization
+      test combinations of @{} syntax
+      fix parsing of @{-1}@{u} combination
+      reject @{-1} not at beginning of object name
+      fix memcpy of overlapping area
+      fix off-by-one allocation error
+      add shebang line to git-mergetool--lib.sh
+
+Jens Lehmann (2):
+      git diff: Don't test submodule dirtiness with --ignore-submodules
+      Teach diff --submodule that modified submodule directory is dirty
+
+Johan Herland (1):
+      builtin-config: Fix crash when using "-f <relative path>" from non-root dir
+
+Johannes Sixt (2):
+      git_connect: use use_shell instead of explicit "sh", "-c"
+      Implement pthread_cond_broadcast on Windows
+
+Junio C Hamano (13):
+      Make ce_uptodate() trustworthy again
+      grep: expose "status-only" feature via -q
+      Fix log -g this@{upstream}
+      approxidate_careful() reports errorneous date string
+      work around an obnoxious bash "safety feature" on OpenBSD
+      Update @{bogus.timestamp} fix not to die()
+      t0101: use a fixed timestamp when searching in the reflog
+      transport_get(): drop unnecessary check for !remote
+      tests: update tests that used to fail
+      grep --quiet: finishing touches
+      Update draft release notes to 1.7.0
+      RPM packaging: don't include foreign-scm-helper bits yet
+      is_submodule_modified(): fix breakage with external GIT_INDEX_FILE
+
+Kirill Smelkov (1):
+      gitk: Display submodule diffs with appropriate encoding
+
+Laszlo Papp (1):
+      gitk: Add Hungarian translation
+
+Markus Heidelberg (2):
+      gitk: Adjust two equal strings which differed in whitespace
+      rebase: don't invoke the pager for each commit summary
+
+Michele Ballabio (1):
+      gitk: update Italian translation
+
+Miklos Vajna (1):
+      gitk: Update Hungarian translation
+
+Peter Krefting (1):
+      gitk: Update Swedish translation
+
+SZEDER Gábor (2):
+      bash: don't offer remote transport helpers as subcommands
+      bash: support 'git notes' and its subcommands
+
+Sebastian Schuberth (1):
+      If deriving SVN_SSH from GIT_SSH on msys, also add quotes
+
+Stephen Boyd (6):
+      rebase: replace antiquated sed invocation
+      commit-tree: remove unused #define
+      tests: consolidate CR removal/addition functions
+      t0022: replace non-portable literal CR
+      am: fix patch format detection for Thunderbird "Save As" emails
+      fix portability issues with $ in double quotes
+
+Tay Ray Chuan (1):
+      t5541-http-push: make grep expression check for one line only
+
+
+Version v1.7.0-rc0; changes since v1.6.6.3:
+-------------------------------------------
+
+Andreas Gruenbacher (2):
+      builtin-apply.c: Skip filenames without enough components
+      builtin-apply.c: fix the --- and +++ header filename consistency check
+
+Andrew Myrick (3):
+      git-svn: ignore changeless commits when checking for a cherry-pick
+      git-svn: handle merge-base failures
+      git-svn: update svn mergeinfo test suite
+
+Andrzej K. Haczewski (1):
+      MSVC: Windows-native implementation for subset of Pthreads API
+
+Avery Pennarun (3):
+      git merge -X<option>
+      Teach git-pull to pass -X<option> to git-merge
+      Extend merge-subtree tests to test -Xsubtree=dir.
+
+Bart Trojanowski (1):
+      hg-to-git: fix COMMITTER type-o
+
+Ben Walton (3):
+      cvsimport: modernize callouts to git subcommands
+      cvsimport: standarize open() calls to external git tools
+      cvsimport: standarize system() calls to external git tools
+
+Brad King (2):
+      Test update-index for a gitlink to a .git file
+      Handle relative paths in submodule .git files
+
+Christian Couder (8):
+      reset: improve mixed reset error message when in a bare repo
+      Documentation: reset: add some tables to describe the different options
+      reset: add a few tests for "git reset --merge"
+      Documentation: reset: add some missing tables
+      t7111: check that reset options work as described in the tables
+      help: fix configured help format taking over command line one
+      t7111: fix bad HEAD in tests with unmerged entries
+      Documentation: rev-list: fix synopsys for --tags and and --remotes
+
+Daniel Barkalow (9):
+      Fix memory leak in helper method for disconnect
+      Allow programs to not depend on remotes having urls
+      Use a function to determine whether a remote is valid
+      Allow fetch to modify refs
+      Add a config option for remotes to specify a foreign vcs
+      Add support for "import" helper command
+      Allow helper to map private ref names into normal names
+      Allow helpers to report in "list" command that the ref is unchanged
+      Replace parse_blob() with an explanatory comment
+
+David Aguilar (11):
+      t7800-difftool: Set a bogus tool for use by tests
+      git-difftool: Add '--gui' for selecting a GUI tool
+      difftool--helper: Update copyright and remove distracting comments
+      difftool--helper: Remove use of the GIT_MERGE_TOOL variable
+      difftool: Allow specifying unconfigured commands with --extcmd
+      git-diff.txt: Link to git-difftool
+      t7800-difftool.sh: Simplify the --extcmd test
+      difftool: Add '-x' and as an alias for '--extcmd'
+      difftool: Use eval to expand '--extcmd' expressions
+      difftool: Update copyright notices to list each year separately
+      t7800-difftool.sh: Test mergetool.prompt fallback
+
+Erik Faye-Lund (2):
+      daemon: consider only address in kill_some_child()
+      Windows: disable Python
+
+Felipe Contreras (1):
+      General --quiet improvements
+
+Greg Bacon (1):
+      No diff -b/-w output for all-whitespace changes
+
+Horst H. von Brand (1):
+      git-rebase.txt: Fix spelling
+
+Igor Mironov (4):
+      git-svn: fix mismatched src/dst errors for branch/tag
+      git-svn: respect commiturl option for branch/tag
+      git-svn: add --username/commit-url options for branch/tag
+      git-svn: document --username/commit-url for branch/tag
+
+Ilari Liusvaara (15):
+      Add remote helper debug mode
+      Support mandatory capabilities
+      Pass unknown protocols to external protocol handlers
+      Refactor git transport options parsing
+      Support taking over transports
+      Support remote helpers implementing smart transports
+      Support remote archive from all smart transports
+      Remove special casing of http, https and ftp
+      Reset possible helper before reusing remote structure
+      Improve error message when a transport helper was not found
+      Add push --set-upstream
+      Add git remote set-url
+      Add branch --set-upstream
+      rev-parse --glob
+      rev-parse --branches/--tags/--remotes=pattern
+
+Jakub Narębski (1):
+      gitweb.js: Workaround for IE8 bug
+
+James P. Howard, II (1):
+      commit: support commit.status, --status, and --no-status
+
+Jan Krüger (1):
+      builtin-push: add --delete as syntactic sugar for :foo
+
+Jay Soffian (2):
+      git-svn: allow UUID to be manually remapped via rewriteUUID
+      git-svn: allow subset of branches/tags to be specified in glob spec
+
+Jeff King (20):
+      status: typo fix in usage
+      status: refactor short-mode printing to its own function
+      status: refactor format option parsing
+      status: add --porcelain output format
+      commit: support alternate status formats
+      docs: note that status configuration affects only long format
+      tests: rename duplicate t1009
+      status: disable color for porcelain format
+      status: reduce duplicated setup code
+      tests: handle NO_PYTHON setting
+      run-command: add "use shell" option
+      run-command: convert simple callsites to use_shell
+      run-command: optimize out useless shell calls
+      editor: use run_command's shell feature
+      textconv: use shell to run helper
+      diff: run external diff helper with shell
+      strbuf_expand: convert "%%" to "%"
+      strbuf: add strbuf_addbuf_percentquote
+      commit: show interesting ident information in summary
+      commit: allow suppression of implicit identity advice
+
+Jens Lehmann (3):
+      Show submodules as modified when they contain a dirty work tree
+      git status: Show uncommitted submodule changes too when enabled
+      Performance optimization for detection of modified submodules
+
+Jim Meyering (1):
+      diff.c: fix typoes in comments
+
+Johan Herland (4):
+      Basic build infrastructure for Python scripts
+      fast-import: Proper notes tree manipulation
+      Rename t9301 to t9350, to make room for more fast-import tests
+      Add more testcases to test fast-import of notes
+
+Johannes Schindelin (2):
+      Allow specifying the remote helper in the url
+      Introduce <branch>@{upstream} notation
+
+Johannes Sixt (16):
+      Make test case number unique
+      filter-branch: remove an unnecessary use of 'git read-tree'
+      t0021: use $SHELL_PATH for the filter script
+      t4030, t4031: work around bogus MSYS bash path conversion
+      start_command: report child process setup errors to the parent's stderr
+      run-command: move wait_or_whine earlier
+      start_command: detect execvp failures early
+      Windows: boost startup by avoiding a static dependency on shell32.dll
+      Windows: simplify the pipe(2) implementation
+      Windows: avoid the "dup dance" when spawning a child process
+      Do not use date.c:tm_to_time_t() from compat/mingw.c
+      Makefile: honor NO_CURL when setting REMOTE_CURL_* variables
+      Make test case numbers unique
+      Make 'rerere forget' work from a subdirectory.
+      merge-tree: remove unnecessary call of git_extract_argv0_path
+      Make test numbers unique
+
+Jonathan Nieder (15):
+      Makefile: make ppc/sha1ppc.o depend on GIT-CFLAGS
+      Makefile: regenerate assembler listings when asked
+      Makefile: use target-specific variable to pass flags to cc
+      Makefile: learn to generate listings for targets requiring special flags
+      Makefile: consolidate .FORCE-* targets
+      Documentation: git gc packs refs by default now
+      Documentation: tiny git config manual tweaks
+      Documentation: merge: move configuration section to end
+      Documentation: suggest `reset --merge` in How Merge Works section
+      Documentation: merge: move merge strategy list to end
+      Documentation: merge: add an overview
+      Documentation: emphasize when git merge terminates early
+      Documentation: merge: add a section about fast-forward
+      Documentation: simplify How Merge Works
+      Documentation: merge: use MERGE_HEAD to refer to the remote branch
+
+Junio C Hamano (96):
+      Refuse updating the current branch in a non-bare repository via push
+      Refuse deleting the current branch via push
+      diff: change semantics of "ignore whitespace" options
+      diff: Rename QUIET internal option to QUICK
+      git stat: the beginning of "status that is not a dry-run of commit"
+      git stat -s: short status output
+      git status: not "commit --dry-run" anymore
+      send-email: make --no-chain-reply-to the default
+      "checkout A...B" switches to the merge base between A and B
+      "rebase --onto A...B" replays history on the merge base between A and B
+      git-merge-file --ours, --theirs
+      Teach --[no-]rerere-autoupdate option to merge, revert and friends
+      commit/status: check $GIT_DIR/MERGE_HEAD only once
+      commit/status: "git add <path>" is not necessarily how to resolve
+      status/commit: do not suggest "reset HEAD <path>" while merging
+      builtin-merge.c: use standard active_cache macros
+      resolve-undo: record resolved conflicts in a new index extension section
+      resolve-undo: basic tests
+      resolve-undo: allow plumbing to clear the information
+      resolve-undo: "checkout -m path" uses resolve-undo information
+      resolve-undo: teach "update-index --unresolve" to use resolve-undo info
+      rerere: remove silly 1024-byte line limit
+      Kick off 1.7.0 cycle
+      Remove http.authAny
+      branch -d: base the "already-merged" safety on the branch it merges with
+      "reset --merge": fix unmerged case
+      tests: move convenience regexp to match object names to test-lib.sh
+      more D/F conflict tests
+      traverse_trees(): handle D/F conflict case sanely
+      Aggressive three-way merge: fix D/F case
+      Fix bit assignment for CE_CONFLICTED
+      .gitattributes: detect 8-space indent in shell scripts
+      unpack-trees.c: prepare for looking ahead in the index
+      unpack-trees.c: look ahead in the index
+      read-tree --debug-unpack
+      Describe second batch for 1.7.0 in draft release notes
+      ident.c: remove unused variables
+      t3001: test ls-files -o ignored/dir
+      read_directory_recursive(): refactor handling of a single path into a separate function
+      read_directory(): further split treat_path()
+      ls-files: fix overeager pathspec optimization
+      ident.c: check explicit identity for name and email separately
+      ident.c: treat $EMAIL as giving user.email identity explicitly
+      rerere: refactor rerere logic to make it independent from I/O
+      rerere forget path: forget recorded resolution
+      bisect.c: mark file-local function static
+      builtin-rev-list.c: mark file-local function static
+      pretty.c: mark file-local function static
+      grep: optimize built-in grep by skipping lines that do not hit
+      http.c: mark file-local functions static
+      entry.c: mark file-local function static
+      parse-options.c: mark file-local function static
+      read-cache.c: mark file-local functions static
+      remote-curl.c: mark file-local function static
+      quote.c: mark file-local function static
+      submodule.c: mark file-local function static
+      utf8.c: mark file-local function static
+      mailmap.c: remove unused function
+      sha1_file.c: remove unused function
+      strbuf.c: remove unused function
+      grep: rip out support for external grep
+      grep: rip out pessimization to use fixmatch()
+      t7502: test commit.status, --status and --no-status
+      strbuf_addbuf(): allow passing the same buf to dst and src
+      grep: prepare to run outside of a work tree
+      grep --no-index: allow use of "git grep" outside a git repository
+      Teach diff that modified submodule directory is dirty
+      git_attr(): fix function signature
+      xdl_merge(): introduce xmparam_t for merge specific parameters
+      xdl_merge(): allow passing down marker_size in xmparam_t
+      merge-tree: use ll_merge() not xdl_merge()
+      rerere: use ll_merge() instead of using xdl_merge()
+      conflict-marker-size: new attribute
+      commit.c::print_summary: do not release the format string too early
+      rerere: prepare for customizable conflict marker length
+      rerere: honor conflict-marker-size attribute
+      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
+      user_ident_sufficiently_given(): refactor the logic to be usable from elsewhere
+      Update COPYING with GPLv2 with new FSF address
+      Update draft release notes to 1.7.0
+      pull: Fix parsing of -X<option>
+      Make "subtree" part more orthogonal to the rest of merge-recursive.
+      Document that merge strategies can now take their own options
+      object.c: remove unused functions
+      symlinks.c: remove unused functions
+      Update draft release notes to 1.7.0
+      Fix "checkout A..." synonym for "checkout A...HEAD" on Windows
+      t1506: more test for @{upstream} syntax
+      Teach @{upstream} syntax to strbuf_branchanme()
+      date.c: mark file-local function static
+      Update draft release notes to 1.7.0
+      conflict-marker-size: add test and docs
+      git-mv: fix moving more than one source to a single destination
+      Update draft release notes to 1.7.0
+      rebase -i: Export GIT_AUTHOR_* variables explicitly
+      pull: re-fix command line generation
+
+Linus Torvalds (11):
+      Remove diff machinery dependency from read-cache
+      slim down "git show-index"
+      make "git merge-tree" a built-in
+      make "git hash-object" a built-in
+      make "git var" a built-in
+      make "git patch-id" a built-in
+      make "merge-index" a built-in
+      make "mktag" a built-in
+      make "git unpack-file" a built-in
+      make "git pack-redundant" a built-in
+      make "index-pack" a built-in
+
+Martin Storsjö (2):
+      Add an option for using any HTTP authentication scheme, not only basic
+      Allow curl to rewind the RPC read buffer
+
+Matthew Ogilvie (3):
+      build dashless "bin-wrappers" directory similar to installed bindir
+      run test suite without dashed git-commands in PATH
+      INSTALL: document a simpler way to run uninstalled builds
+
+Matthieu Moy (6):
+      Detailed diagnosis when parsing an object name fails.
+      builtin-config: add --path option doing ~ and ~user expansion.
+      push: spell 'Note about fast-forwards' section name correctly in error message.
+      Be more user-friendly when refusing to do something because of conflict.
+      lockfile: show absolute filename in unable_to_lock_message
+      branch: warn and refuse to set a branch as a tracking branch of itself.
+
+Michael Haggerty (25):
+      t3404: Use test_commit to set up test repository
+      Add a command "fixup" to rebase --interactive
+      lib-rebase: Provide clearer debugging info about what the editor did
+      lib-rebase: Allow comments and blank lines to be added to the rebase script
+      rebase-i: Ignore comments and blank lines in peek_next_command
+      rebase -i: Make the condition for an "if" more transparent
+      rebase -i: Remove dead code
+      rebase -i: Inline expression
+      rebase -i: Use "test -n" instead of "test ! -z"
+      rebase -i: Use symbolic constant $MSG consistently
+      rebase -i: Document how temporary files are used
+      rebase -i: Introduce a constant AUTHOR_SCRIPT
+      rebase -i: Introduce a constant AMEND
+      t3404: Test the commit count in commit messages generated by "rebase -i"
+      rebase -i: Improve consistency of commit count in generated commit messages
+      rebase -i: Simplify commit counting for generated commit messages
+      rebase -i: Extract a function "commit_message"
+      rebase -i: Handle the author script all in one place in do_next
+      rebase -i: Extract function do_with_author
+      rebase -i: Change function make_squash_message into update_squash_message
+      rebase -i: For fixup commands without squashes, do not start editor
+      t3404: Set up more of the test repo in the "setup" step
+      rebase -i: Retain user-edited commit messages after squash/fixup conflicts
+      rebase -i: Avoid non-portable "test X -a Y"
+      rebase -i: Enclose sed command substitution in quotes
+
+Michael J Gruber (7):
+      status -s: respect the status.relativePaths option
+      t7508-status.sh: Add tests for status -s
+      builtin-commit: refactor short-status code into wt-status.c
+      status -s: obey color.status
+      t7508-status: status --porcelain ignores relative paths setting
+      t7508-status: test all modes with color
+      tag -d: print sha1 of deleted tag
+
+Michael Lukashov (1):
+      Windows: Remove dependency on pthreadGC2.dll
+
+Miklos Vajna (2):
+      builtin-commit: add --date option
+      Document date formats accepted by parse_date()
+
+Nanako Shiraishi (3):
+      rebase -i --autosquash: auto-squash commits
+      rebase: fix --onto A...B parsing and add tests
+      rebase -i: teach --onto A...B syntax
+
+Nguyễn Thái Ngọc Duy (27):
+      update-index: refactor mark_valid() in preparation for new options
+      Add test-index-version
+      Introduce "skip-worktree" bit in index, teach Git to get/set this bit
+      Teach Git to respect skip-worktree bit (reading part)
+      Teach Git to respect skip-worktree bit (writing part)
+      Avoid writing to buffer in add_excludes_from_file_1()
+      Read .gitignore from index if it is skip-worktree
+      unpack-trees(): carry skip-worktree bit over in merged_entry()
+      excluded_1(): support exclude files in index
+      dir.c: export excluded_1() and add_excludes_from_file_1()
+      Introduce "sparse checkout"
+      unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
+      unpack-trees.c: generalize verify_* functions
+      unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
+      unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
+      unpack-trees(): ignore worktree check outside checkout area
+      read-tree: add --no-sparse-checkout to disable sparse checkout support
+      Add tests for sparse checkout
+      sparse checkout: inhibit empty worktree
+      ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
+      commit: correctly respect skip-worktree bit
+      grep: do not do external grep on skip-worktree entries
+      t7002: set test prerequisite "external-grep" if supported
+      t7002: test for not using external grep on skip-worktree paths
+      status: only touch path we may need to check
+      rm: only refresh entries that we may touch
+      Fix memory corruption when .gitignore does not end by \n
+
+Nicolas Pitre (1):
+      fix git-p4 editor invocation
+
+Peter Collingbourne (1):
+      Remove empty directories when checking out a commit with fewer submodules
+
+Phil Miller (1):
+      CVS Server: Support reading base and roots from environment
+
+Ramkumar Ramachandra (1):
+      Documentation: Update git core tutorial clarifying reference to scripts
+
+Ramsay Jones (5):
+      MSVC: Fix an "incompatible pointer types" compiler warning
+      engine.pl: Fix a recent breakage of the buildsystem generator
+      msvc: Fix an "unrecognized option" linker warning
+      msvc: Fix a compiler warning due to an incorrect pointer cast
+      msvc: Add a definition of NORETURN compatible with msvc compiler
+
+Robert Zeh (1):
+      Add completion for git-svn mkdirs,reset,and gc
+
+Sebastian Schuberth (1):
+      Make difftool.prompt fall back to mergetool.prompt
+
+Sergei Organov (1):
+      cvsserver: make the output of 'update' more compatible with cvs.
+
+Shawn O. Pearce (1):
+      bash completion: add space between branch name and status flags
+
+Stephan Beyer (1):
+      reset: use "unpack_trees()" directly instead of "git read-tree"
+
+Steven Drake (2):
+      Add 'git rev-parse --show-toplevel' option.
+      Use $(git rev-parse --show-toplevel) in cd_to_toplevel().
+
+Sverre Rabbelier (9):
+      Fix various memory leaks in transport-helper.c
+      Add Python support library for remote helpers
+      fast-import: put option parsing code in separate functions
+      fast-import: put marks reading in its own function
+      fast-import: add feature command
+      fast-import: add option command
+      fast-import: test the new option command
+      fast-import: allow for multiple --import-marks= arguments
+      fast-import: add (non-)relative-marks feature
+
+Tarmigan Casebolt (7):
+      t/lib-http.sh: Restructure finding of default httpd location
+      Smart-http: check if repository is OK to export before serving it
+      Smart-http tests: Improve coverage in test t5560
+      Smart-http tests: Break test t5560-http-backend into pieces
+      Smart-http tests: Test http-backend without curl or a webserver
+      Test t5560: Fix test when run with dash
+      ident.c: replace fprintf with fputs to suppress compiler warning
+
+Tay Ray Chuan (12):
+      http: maintain curl sessions
+      builtin-push: don't access freed transport->url
+      check stderr with isatty() instead of stdout when deciding to show progress
+      git-clone.txt: reword description of progress behaviour
+      clone: set transport->verbose when -v/--verbose is used
+      clone: use --progress to force progress reporting
+      t5541-http-push.sh: add tests for non-fast-forward pushes
+      t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
+      refactor ref status logic for pushing
+      transport.c::transport_push(): make ref status affect return value
+      transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed
+      transport-helper.c::push_refs(): emit "no refs" error message
+
+Thiago Farina (2):
+      Use warning function instead of fprintf(stderr, "Warning: ...").
+      string-list: rename the include guard to STRING_LIST_H
+
+Thomas Rast (9):
+      Documentation/git-merge: reword references to "remote" and "pull"
+      Documentation: warn prominently against merging with dirty trees
+      Documentation: format full commands in typewriter font
+      Documentation: spell 'git cmd' without dash throughout
+      Documentation: show-files is now called git-ls-files
+      Documentation: emphasise 'git shortlog' in its synopsis
+      Documentation: improve description of --glob=pattern and friends
+      Documentation: add missing :: in config.txt
+      Documentation: move away misplaced 'push --upstream' description
+
+
+Version v1.6.6.3; changes since v1.6.6.2:
+-----------------------------------------
+
+Christian Couder (1):
+      bisect: error out when passing bad path parameters
+
+Erik Faye-Lund (1):
+      run-command: support custom fd-set in async
+
+Gabriel Filion (1):
+      require_work_tree broken with NONGIT_OK
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Hitoshi Mitake (1):
+      git-imap-send: Convert LF to CRLF before storing patch to draft box
+
+Jacob Helwig (1):
+      filter-branch: Fix error message for --prune-empty --commit-filter
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jeff King (2):
+      dwim_ref: fix dangling symref warning
+      rm: fix bug in recursive subdirectory removal
+
+Johannes Sixt (2):
+      t3301-notes: insert a shbang line in ./fake_editor.sh
+      MSVC: Fix build by adding missing termios.h dummy
+
+Junio C Hamano (5):
+      t6000lib: Fix permission
+      lib-patch-mode.sh: Fix permission
+      Re-fix check-ref-format documentation mark-up
+      Fix typo in 1.6.6.2 release notes
+      Git 1.6.4.5
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Michael J Gruber (4):
+      Documentation/git-reflog: Fix formatting of command lists
+      Documentation/gitdiffcore: Remove misleading date in heading
+      Documentation/urls: Remove spurious example markers
+      Documentation/git-clone: Transform description list into item list
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Pete Harlan (1):
+      Remove hyphen from "git-command" in two error messages
+
+René Scharfe (5):
+      fix minor memory leak in get_tree_entry()
+      utf8.c: remove print_wrapped_text()
+      utf8.c: remove print_spaces()
+      utf8.c: remove strbuf_write()
+      utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text()
+
+Shawn O. Pearce (7):
+      run-command: Allow stderr to be a caller supplied pipe
+      send-pack: demultiplex a sideband stream with status data
+      receive-pack: Refactor how capabilities are shown to the client
+      receive-pack: Wrap status reports inside side-band-64k
+      receive-pack: Send hook output over side band #2
+      t5401: Use a bare repository for the remote peer
+      receive-pack: Send internal errors over side-band #2
+
+Stephen Boyd (1):
+      request-pull.txt: Document -p option
+
+Thomas Rast (2):
+      stash pop: remove 'apply' options during 'drop' invocation
+      cherry_pick_list: quit early if one side is empty
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.6.2; changes since v1.6.6.1:
+-----------------------------------------
+
+Christopher Beelby (1):
+      git-gui: Keep repo_config(gui.recentrepos) and .gitconfig in sync
+
+Gerrit Pape (1):
+      git-cvsserver: allow regex metacharacters in CVSROOT
+
+Giuseppe Bilotta (1):
+      git-gui: work from the .git dir
+
+Ilari Liusvaara (4):
+      Add xmallocz()
+      Fix integer overflow in patch_delta()
+      Fix integer overflow in unpack_sha1_rest()
+      Fix integer overflow in unpack_compressed_entry()
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff Epler (1):
+      git-gui: Fix applying a line when all following lines are deletions
+
+Jeff King (1):
+      fix memcpy of overlapping area
+
+Jens Lehmann (1):
+      git-gui: Correct file_states when unstaging partly staged entry
+
+Johan Herland (1):
+      builtin-config: Fix crash when using "-f <relative path>" from non-root dir
+
+Jonathan Nieder (1):
+      git-gui: Makefile: consolidate .FORCE-* targets
+
+Junio C Hamano (15):
+      checkout -m path: fix recreating conflicts
+      status: don't require the repository to be writable
+      Fix "log" family not to be too agressive about showing notes
+      Fix "log --oneline" not to show notes
+      merge-recursive: do not return NULL only to cause segfault
+      ignore duplicated slashes in make_relative_path()
+      approxidate_careful() reports errorneous date string
+      Update @{bogus.timestamp} fix not to die()
+      t0101: use a fixed timestamp when searching in the reflog
+      git-add documentation: Fix shell quoting example
+      Fix parsing of imap.preformattedHTML and imap.sslverify
+      git-push: document all the status flags used in the output
+      check-ref-format documentation: fix enumeration mark-up
+      t8003: check exit code of command and error message separately
+      Git 1.6.6.2
+
+Nguyễn Thái Ngọc Duy (1):
+      Add missing #include to support TIOCGWINSZ on Solaris
+
+Pat Thoyts (1):
+      git-gui: handle really long error messages in updateindex.
+
+Peter Krefting (1):
+      git-gui: Fix gitk for branch whose name matches local file
+
+René Scharfe (2):
+      archive: complain about path specs that don't match anything
+      archive: simplify archive format guessing
+
+SZEDER Gábor (1):
+      bash: don't offer remote transport helpers as subcommands
+
+Shawn O. Pearce (1):
+      fast-import: Stream very large blobs directly to pack
+
+Tay Ray Chuan (1):
+      retry request without query when info/refs?query fails
+
+Vitaly "_Vi" Shukela (1):
+      git-gui: Add hotkeys for "Unstage from commit" and "Revert changes"
+
+Wesley J. Landaker (1):
+      Update git fsck --full short description to mention packs
+
+
+Version v1.6.6.1; changes since v1.6.6:
+---------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Björn Gustavsson (4):
+      Documentation: 'git add -A' can remove files
+      git-add/rm doc: Consistently back-quote
+      Fix "git remote update" with remotes.defalt set
+      git-rm doc: Describe how to sync index & work tree
+
+David Ripton (1):
+      bisect: fix singular/plural grammar nit
+
+Dmitry Potapov (1):
+      fast-import: tag may point to any object type
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jeff King (2):
+      reset: unbreak hard resets with GIT_WORK_TREE
+      textconv: stop leaking file descriptors
+
+Jim Meyering (1):
+      grep: NUL terminate input from a file
+
+Jonathan Nieder (2):
+      Documentation: git gc packs refs by default now
+      Documentation: tiny git config manual tweaks
+
+Junio C Hamano (10):
+      t1200: work around a bug in some implementations of "find"
+      t4019 "grep" portability fix
+      Start 1.6.6.X maintenance track
+      Makefile: FreeBSD (both 7 and 8) needs OLD_ICONV
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      grep: -L should show empty files
+      Update draft release notes to 1.6.6.1
+      Fix mis-backport of t7002
+      Git 1.6.5.8
+      Git 1.6.6.1
+
+Matthieu Moy (3):
+      SubmittingPatches: hints to know the status of a submitted patch.
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+      stash: mention --patch in usage string.
+
+Michael Haggerty (1):
+      rebase--interactive: Ignore comments and blank lines in peek_next_command
+
+Nathaniel W Filardo (1):
+      read_index(): fix reading extension size on BE 64-bit archs
+
+Nguyễn Thái Ngọc Duy (2):
+      Documentation: always respect core.worktree if set
+      t7102: make the test fail if one of its check fails
+
+Ramkumar Ramachandra (1):
+      Document git-blame triple -C option
+
+Richard Weinberger (1):
+      Fix uninitialized variable in get_refs_via_rsync().
+
+Shawn O. Pearce (2):
+      fast-import: Document author/committer/tagger name is optional
+      remote-curl: Fix Accept header for smart HTTP connections
+
+Stephen Boyd (3):
+      octopus: make merge process simpler to follow
+      octopus: reenable fast-forward merges
+      octopus: remove dead code
+
+Tarmigan Casebolt (1):
+      Add git-http-backend to command-list.
+
+Thomas Rast (1):
+      bash completion: factor submodules into dirty state
+
+
+Version v1.6.6; changes since v1.6.6-rc4:
+-----------------------------------------
+
+Andrew Myrick (1):
+      git-svn: Remove obsolete MAXPARENT check
+
+David Reiss (1):
+      Prevent git blame from segfaulting on a missing author name
+
+Eric Wong (4):
+      git svn: fix --revision when fetching deleted paths
+      update release notes for git svn in 1.6.6
+      git svn: lookup new parents correctly from svn:mergeinfo
+      git svn: branch/tag commands detect username in URLs
+
+Junio C Hamano (1):
+      Git 1.6.6
+
+Robert Zeh (1):
+      git svn: add test for a git svn gc followed by a git svn mkdirs
+
+Sam Vilain (5):
+      git-svn: expand the svn mergeinfo test suite, highlighting some failures
+      git-svn: memoize conversion of SVN merge ticket info to git commit ranges
+      git-svn: fix some mistakes with interpreting SVN mergeinfo commit ranges
+      git-svn: exclude already merged tips using one rev-list call
+      git-svn: detect cherry-picks correctly.
+
+
+Version v1.6.6-rc4; changes since v1.6.6-rc3:
+---------------------------------------------
+
+Björn Gustavsson (1):
+      rebase -i: abort cleanly if the editor fails to launch
+
+Eric Wong (2):
+      git svn: make empty directory creation gc-aware
+      t9146: use 'svn_cmd' wrapper
+
+Junio C Hamano (1):
+      Git 1.6.6-rc4
+
+Stephen Boyd (2):
+      api-strbuf.txt: fix typos and document launch_editor()
+      technical-docs: document hash API
+
+
+Version v1.6.6-rc3; changes since v1.6.6-rc2:
+---------------------------------------------
+
+Björn Gustavsson (1):
+      bash: Support new 'git fetch' options
+
+Jeff King (1):
+      ignore unknown color configuration
+
+Johannes Sixt (1):
+      help.autocorrect: do not run a command if the command given is junk
+
+Junio C Hamano (7):
+      Remove post-upload-hook
+      Fix archive format with -- on the command line
+      Git 1.6.5.6
+      Update Release Notes for 1.6.6 to remove old bugfixes
+      worktree: don't segfault with an absolute pathspec without a work tree
+      Git 1.6.5.7
+      Git 1.6.6-rc3
+
+Nanako Shiraishi (1):
+      Illustrate "filter" attribute with an example
+
+
+Version v1.6.6-rc2; changes since v1.6.6-rc1:
+---------------------------------------------
+
+Alex Vandiver (3):
+      git-svn: sort svk merge tickets to account for minimal parents
+      git-svn: Set svn.authorsfile to an absolute path when cloning
+      git-svn: set svn.authorsfile earlier when cloning
+
+Alexander Gavrilov (1):
+      git-gui: Increase blame viewer usability on MacOS.
+
+Bernt Hansen (1):
+      gitk: Skip translation of "wrong Tcl version" message
+
+Brandon Casey (2):
+      t4201: use ISO8859-1 rather than ISO-8859-1
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+
+Clemens Buchacher (1):
+      git-gui: search 4 directories to improve statistic of gc hint
+
+Eric Wong (1):
+      git svn: log removals of empty directories
+
+Greg Price (1):
+      git svn: Don't create empty directories whose parents were deleted
+
+Guillermo S. Romero (1):
+      gitk: Add configuration for UI colour scheme
+
+Heiko Voigt (1):
+      git gui: make current branch default in "remote delete branch" merge check
+
+Jakub Narębski (1):
+      gitweb: Describe (possible) gitweb.js minification in gitweb/README
+
+Jan Krüger (1):
+      pull: clarify advice for the unconfigured error case
+
+Jeff King (3):
+      rerere: don't segfault on failure to open rr-cache
+      reset: improve worktree safety valves
+      add-interactive: fix deletion of non-empty files
+
+Jens Lehmann (2):
+      gitk: Fix diffing committed -> staged (typo in diffcmd)
+      gitk: Use the --submodule option for displaying diffs when available
+
+Jindrich Makovicka (1):
+      git-gui: suppress RenderBadPicture X error caused by Tk bug
+
+Johan Herland (1):
+      Fix crasher on encountering SHA1-like non-note in notes tree
+
+Junio C Hamano (9):
+      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
+      Unconditionally set man.base.url.for.relative.links
+      Git 1.6.5.4
+      Documentation: xmlto 0.0.18 does not know --stringparam
+      Prepare for 1.6.5.5
+      Git 1.6.5.5
+      Revert recent "git merge <msg> HEAD <commit>..." deprecation
+      Update draft release notes to 1.6.6 before -rc2
+      Git 1.6.6-rc2
+
+Linus Torvalds (1):
+      Fix diff -B/--dirstat miscounting of newly added contents
+
+Markus Heidelberg (1):
+      gitk: Fix "git gui blame" invocation when called from top-level directory
+
+Mizar (2):
+      gitk: Add Japanese translation
+      gitk: Update Japanese translation
+
+Pat Thoyts (4):
+      gitk: Use themed tk widgets
+      gitk: Fix errors in the theme patch
+      gitk: Default to the system colours on Windows
+      gitk: Fix selection of tags
+
+Paul Mackerras (5):
+      gitk: Restore scrolling position of diff pane on back/forward in history
+      gitk: Add a user preference to enable/disable use of themed widgets
+      gitk: Show diff of commits at end of compare-commits output
+      gitk: Don't compare fake children when comparing commits
+      gitk: Improve appearance of radiobuttons and checkbuttons
+
+René Scharfe (1):
+      archive: clarify description of path parameter
+
+SZEDER Gábor (1):
+      bash: update 'git commit' completion
+
+Sitaram Chamarty (1):
+      gitk: Disable checkout of remote branches
+
+Todd Zullinger (1):
+      Documentation: Avoid use of xmlto --stringparam
+
+
+Version v1.6.6-rc1; changes since v1.6.6-rc0:
+---------------------------------------------
+
+Avery Pennarun (1):
+      builtin-merge.c: call exclude_cmds() correctly.
+
+Benjamin Kramer (1):
+      Explicitly truncate bswap operand to uint32_t
+
+Bert Wesarg (2):
+      Give the hunk comment its own color
+      get_ref_states: strdup entries and free util in stale list
+
+Björn Gustavsson (11):
+      Teach the --all option to 'git fetch'
+      Teach the --multiple option to 'git fetch'
+      Add the configuration option skipFetchAll
+      Add missing test for 'git remote update --prune'
+      Re-implement 'git remote update' using 'git fetch'
+      Clarify and correct -z
+      apply: apply works outside a repository
+      apply: Format all options using back-quotes
+      apply: Use the term "working tree" consistently
+      Fix over-simplified documentation for 'git log -z'
+      gitworkflows: Consistently back-quote git commands
+
+Brian Gernhardt (1):
+      t/gitweb-lib: Split HTTP response with non-GNU sed
+
+Christian Couder (6):
+      Documentation: add "Fighting regressions with git bisect" article
+      replace: use a GIT_NO_REPLACE_OBJECTS env variable
+      Documentation: fix typos and spelling in replace documentation
+      Documentation: talk a little bit about GIT_NO_REPLACE_OBJECTS
+      bisect: simplify calling visualizer using '--bisect' option
+      Documentation: update descriptions of revision options related to '--bisect'
+
+David Aguilar (1):
+      help: Do not unnecessarily look for a repository
+
+David Soria Parra (1):
+      Documentation: Document --branch option in git clone synopsis
+
+Erick Mattos (1):
+      commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author
+
+Felipe Contreras (3):
+      format-patch: fix parsing of "--" on the command line
+      format-patch: add test for parsing of "--"
+      send-email: automatic envelope sender
+
+Horst H. von Brand (1):
+      git-pull.sh: Fix call to git-merge for new command format
+
+Jakub Narębski (10):
+      gitweb: Add optional "time to generate page" info in footer
+      gitweb: Incremental blame (using JavaScript)
+      gitweb: Colorize 'blame_incremental' view during processing
+      gitweb: Create links leading to 'blame_incremental' using JavaScript
+      gitweb: Minify gitweb.js if JSMIN is defined
+      t/gitweb-lib.sh: Split gitweb output into headers and body
+      gitweb: Document current snapshot rules via new tests
+      gitweb.js: Harden setting blamed commit info in incremental blame
+      gitweb: Make linking to actions requiring JavaScript a feature
+      gitweb: Add link to other blame implementation in blame views
+
+Jay Soffian (4):
+      remote: refactor some logic into get_stale_heads()
+      teach warn_dangling_symref to take a FILE argument
+      builtin-fetch: add --prune option
+      builtin-fetch: add --dry-run option
+
+Jeff King (1):
+      prune-packed: only show progress when stderr is a tty
+
+Johannes Sixt (2):
+      t4014-format-patch: do not assume 'test' is available as non-builtin
+      Add a notice that only certain functions can print color escape codes
+
+Jonathan Nieder (1):
+      Makefile: do not clean arm directory
+
+Junio C Hamano (19):
+      mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
+      Pretty-format: %[+-]x to tweak inter-item newlines
+      read_revision_from_stdin(): use strbuf
+      Teach --stdin option to "log" family
+      setup_revisions(): do not call get_pathspec() too early
+      Make --stdin option to "log" family read also pathspecs
+      t9001: test --envelope-sender option of send-email
+      Add trivial tests for --stdin option to log family
+      Protect scripted Porcelains from GREP_OPTIONS insanity
+      builtin-apply.c: pay attention to -p<n> when determining the name
+      Remove dead code from "git am"
+      emit_line(): don't emit an empty <SET><RESET> followed by a newline
+      Update draft release notes to 1.6.6 before merging topics for -rc1
+      git-merge: a deprecation notice of the ancient command line syntax
+      Update draft release notes to 1.6.6 before -rc1
+      Do not misidentify "git merge foo HEAD" as an old-style invocation
+      merge: do not add standard message when message is given with -m option
+      Prepare for 1.6.5.4
+      Git 1.6.6-rc1
+
+Mark Rada (2):
+      gitweb: check given hash before trying to create snapshot
+      gitweb: Smarter snapshot names
+
+Martin Storsjö (3):
+      Disable CURLOPT_NOBODY before enabling CURLOPT_PUT and CURLOPT_POST
+      Refactor winsock initialization into a separate function
+      Enable support for IPv6 on MinGW
+
+Matthew Ogilvie (5):
+      cvsserver doc: database generally can not be reproduced consistently
+      config documentation: some configs are auto-set by git-init
+      t2300: use documented technique to invoke git-sh-setup
+      t3409 t4107 t7406 t9150: use dashless commands
+      t/README: Document GIT_TEST_INSTALLED and GIT_TEST_EXEC_PATH
+
+Matthieu Moy (4):
+      merge-recursive: point the user to commit when file would be overwritten.
+      user-manual: Document that "git merge" doesn't like uncommited changes.
+      merge-recursive: make the error-message generation an extern function
+      builtin-merge: show user-friendly error messages for fast-forward too.
+
+Michael J Gruber (1):
+      Documentation: Fix a few i.e./e.g. mix-ups
+
+Nanako Shiraishi (2):
+      t1200: fix a timing dependent error
+      prepare send-email for smoother change of --chain-reply-to default
+
+Nicolas Pitre (1):
+      pack-objects: split implications of --all-progress from progress activation
+
+Ramsay Jones (1):
+      git-count-objects: Fix a disk-space under-estimate on Cygwin
+
+René Scharfe (2):
+      strbuf_add_wrapped_text(): skip over colour codes
+      mergetool--lib: simplify guess_merge_tool()
+
+Stephen Boyd (3):
+      gitweb.js: fix null object exception in initials calculation
+      instaweb: restart server if already running
+      gitweb.js: fix padLeftStr() and its usage
+
+Tay Ray Chuan (1):
+      remote-curl.c: fix rpc_out()
+
+Uwe Kleine-König (1):
+      shortlog: respect commit encoding
+
+
+Version v1.6.6-rc0; changes since v1.6.5.9:
+-------------------------------------------
+
+Alex Riesen (1):
+      git-gui: Update russian translation
+
+Alexey Borzenkov (1):
+      git-gui: store wm state and fix wm geometry
+
+Anders Kaseorg (1):
+      bisect reset: Allow resetting to any commit, not just a branch
+
+Ben Walton (2):
+      configure: add macro to set arbitrary make variables
+      configure: add settings for gitconfig, editor and pager
+
+Björn Gustavsson (10):
+      Teach 'rebase -i' the command "reword"
+      bash: complete more options for 'git rebase'
+      Teach 'git merge' and 'git pull' the option --ff-only
+      format-patch: Always generate a patch
+      format-patch documentation: Remove diff options that are not useful
+      format-patch documentation: Fix formatting
+      format-patch: Add "--no-stat" as a synonym for "-p"
+      bash: add the merge option --ff-only
+      Fix truncated usage messages
+      User Manual: Write "Git" instead of "GIT"
+
+Christian Couder (1):
+      git: add --no-replace-objects option to disable replacing
+
+Clemens Buchacher (2):
+      remote-helpers: return successfully if everything up-to-date
+      set httpd port before sourcing lib-httpd
+
+Dan Zwell (1):
+      git-gui: Limit display to a maximum number of files
+
+David Aguilar (1):
+      submodule.c: Squelch a "use before assignment" warning
+
+David Brown (1):
+      commit: More generous accepting of RFC-2822 footer lines.
+
+David Kågedal (1):
+      git-blame.el: Change how blame information is shown.
+
+Eric Wong (6):
+      git svn: fix fetch where glob is on the top-level URL
+      git svn: read global+system config for clone+init
+      git svn: add authorsfile test case for ~/.gitconfig
+      git svn: attempt to create empty dirs on clone+rebase
+      git svn: always reuse existing remotes on fetch
+      git svn: strip leading path when making empty dirs
+
+Erik Faye-Lund (6):
+      imap-send: use separate read and write fds
+      imap-send: use run-command API for tunneling
+      imap-send: fix compilation-error on Windows
+      imap-send: build imap-send on Windows
+      mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
+      mingw: enable OpenSSL
+
+Felipe Contreras (2):
+      diff.c: stylefix
+      Use 'fast-forward' all over the place
+
+Heiko Voigt (1):
+      git-gui: remove warning when deleting correctly merged remote branch
+
+Ingmar Vanhassel (1):
+      import-tars: Add support for tarballs compressed with lzma, xz
+
+Jakub Narębski (4):
+      gitweb: Add 'show-sizes' feature to show blob sizes in tree view
+      gitweb: Refactor 'log' action generation, adding git_log_body()
+      gitweb: Refactor common parts of 'log' and 'shortlog' views
+      gitweb: Make 'history' view (re)use git_log_generic()
+
+Jean Privat (1):
+      Teach "git describe" --dirty option
+
+Jeff King (3):
+      imap-send: remove useless uid code
+      gitignore: root most patterns at the top-level directory
+      t915{0,1}: use $TEST_DIRECTORY
+
+Jens Lehmann (5):
+      git-gui: display summary when showing diff of a submodule
+      git-gui: fix diff for partially staged submodule changes
+      git submodule add: make the <path> parameter optional
+      git-gui: fix use of uninitialized variable
+      add tests for git diff --submodule
+
+Jimmy Angelakos (1):
+      git-gui: Added Greek translation & glossary
+
+Johan Herland (9):
+      Teach "-m <msg>" and "-F <file>" to "git notes edit"
+      fast-import: Add support for importing commit notes
+      t3302-notes-index-expensive: Speed up create_repo()
+      Add flags to get_commit_notes() to control the format of the note string
+      Teach notes code to free its internal data structures on request
+      Teach the notes lookup code to parse notes trees with various fanout schemes
+      Add selftests verifying that we can parse notes trees with various fanouts
+      Refactor notes code to concatenate multiple notes annotating the same object
+      Add selftests verifying concatenation of multiple notes for the same commit
+
+Johannes Schindelin (8):
+      print_wrapped_text(): allow hard newlines
+      Add strbuf_add_wrapped_text() to utf8.[ch]
+      Introduce commit notes
+      Add a script to edit/inspect notes
+      Speed up git notes lookup
+      Add an expensive test for git-notes
+      Add '%N'-format for pretty-printing commit notes
+      Add the --submodule option to the diff option family
+
+Johannes Sixt (1):
+      Windows: use BLK_SHA1 again
+
+Jonathan Nieder (34):
+      Add tests for git check-ref-format
+      check-ref-format: simplify --print implementation
+      Handle more shell metacharacters in editor names
+      Retire fetch--tool helper to contrib/examples
+      Show usage string for 'git grep -h'
+      Show usage string for 'git cherry -h'
+      Show usage string for 'git commit-tree -h'
+      Show usage string for 'git merge-ours -h'
+      Show usage string for 'git show-ref -h'
+      http-fetch: add missing initialization of argv0_path
+      Show usage string for 'git check-ref-format -h'
+      Show usage string for 'git fast-import -h'
+      Show usage string for 'git get-tar-commit-id -h'
+      Show usage string for 'git imap-send -h'
+      Show usage string for 'git mailsplit -h'
+      Show usage string for 'git merge-one-file -h'
+      Show usage string for 'git rev-parse -h'
+      Show usage string for 'git show-index -h'
+      Show usage string for 'git unpack-file -h'
+      Show usage string for 'git stripspace -h'
+      Let 'git http-fetch -h' show usage outside any git repository
+      Show usage string for 'git http-push -h'
+      Let 'git <command> -h' show usage without a git dir
+      Introduce usagef() that takes a printf-style format
+      merge-{recursive,subtree}: use usagef() to print usage
+      diff --no-index: make the usage string less scary
+      Do not use VISUAL editor on dumb terminals
+      Suppress warnings from "git var -l"
+      Teach git var about GIT_EDITOR
+      Teach git var about GIT_PAGER
+      add -i, send-email, svn, p4, etc: use "git var GIT_EDITOR"
+      am -i, git-svn: use "git var GIT_PAGER"
+      Provide a build time default-editor setting
+      Speed up bash completion loading
+
+Julian Phillips (4):
+      fetch: Speed up fetch by rewriting find_non_local_tags
+      remote: Make ref_remove_duplicates faster for large numbers of refs
+      fetch: Speed up fetch of large numbers of refs
+      remote: fix use-after-free error detected by glibc in ref_remove_duplicates
+
+Junio C Hamano (20):
+      diff-lib.c: fix misleading comments on oneway_diff()
+      unpack-trees: typofix
+      unpack_callback(): use unpack_failed() consistently
+      git check-ref-format --print
+      Start 1.6.6 cycle
+      check_filename(): make verify_filename() callable without dying
+      DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
+      format_commit_message(): fix function signature
+      fsck: default to "git fsck --full"
+      git checkout --no-guess
+      Teach --wrap to only indent without wrapping
+      Update draft release notes to 1.6.6
+      Revert "Don't create the $GIT_DIR/branches directory on init"
+      t1200: further modernize test script style
+      t1200: prepare for merging with Fast-forward bikeshedding
+      builtin-commit.c: fix logic to omit empty line before existing footers
+      git-describe.txt: formatting fix
+      Provide a build time default-pager setting
+      Update draft release notes to 1.6.6
+      Git v1.6.6-rc0
+
+Linus Torvalds (1):
+      Add '--bisect' revision machinery argument
+
+Marius Storm-Olsen (1):
+      MSVC: Enable OpenSSL, and translate -lcrypto
+
+Mark Lodato (5):
+      http-backend: add GIT_PROJECT_ROOT environment var
+      http-backend: reword some documentation
+      http-backend: use mod_alias instead of mod_rewrite
+      http-backend: add example for gitweb on same URL
+      http-backend: more explict LocationMatch
+
+Mark Rada (1):
+      instaweb: support mod_cgid for apache2
+
+Markus Heidelberg (1):
+      bash completion: difftool accepts the same options as diff
+
+Michael J Gruber (1):
+      Make t9150 and t9151 test scripts executable
+
+Nicolas Pitre (1):
+      pack-objects: move thread autodetection closer to relevant code
+
+Ramsay Jones (2):
+      Makefile: keep MSVC and Cygwin configuration separate
+      MSVC: Add support for building with NO_MMAP
+
+René Scharfe (6):
+      describe: load refnames before calling describe()
+      Implement wrap format %w() as if it is a mode switch
+      log --format: don't ignore %w() at the start of format string
+      grep: unset GREP_OPTIONS before spawning external grep
+      strbuf_add_wrapped_text(): factor out strbuf_add_indented_text()
+      log --format: document %w
+
+Robin Rosenberg (1):
+      Don't create the $GIT_DIR/branches directory on init
+
+SZEDER Gábor (1):
+      Documentation: add 'git replace' to main git manpage
+
+Sam Vilain (5):
+      git-svn: add test data for SVK merge, with script.
+      git-svn: allow test setup script to support PERL env. var
+      git-svn: convert SVK merge tickets to extra parents
+      git-svn: add test data for SVN 1.5+ merge, with script.
+      git-svn: convert SVN 1.5+ / svnmerge.py svn:mergeinfo props to parents
+
+Scott Chacon (2):
+      mergetool--lib: add p4merge as a pre-configured mergetool option
+      Update packfile transfer protocol documentation
+
+Sebastian Schuberth (2):
+      Use faster byte swapping when compiling with MSVC
+      Make the MSVC projects use PDB/IDB files named after the project
+
+Shawn O. Pearce (27):
+      git-gui: Ensure submodule path is quoted properly
+      pkt-line: Add strbuf based functions
+      pkt-line: Make packet_read_line easier to debug
+      fetch-pack: Use a strbuf to compose the want list
+      Move "get_ack()" back to fetch-pack
+      Add multi_ack_detailed capability to fetch-pack/upload-pack
+      remote-curl: Refactor walker initialization
+      fetch: Allow transport -v -v -v to set verbosity to 3
+      remote-helpers: Fetch more than one ref in a batch
+      remote-helpers: Support custom transport options
+      Move WebDAV HTTP push under remote-curl
+      Git-aware CGI to provide dumb HTTP transport
+      Add stateless RPC options to upload-pack, receive-pack
+      Smart fetch and push over HTTP: server side
+      Discover refs via smart HTTP server when available
+      Smart push over HTTP: client side
+      Smart fetch over HTTP: client side
+      Smart HTTP fetch: gzip requests
+      http tests: use /dumb/ URL prefix
+      test smart http fetch and push
+      http-backend: Use http.getanyfile to disable dumb HTTP serving
+      http-backend: Test configuration options
+      Git-aware CGI to provide dumb HTTP transport
+      http-backend: Protect GIT_PROJECT_ROOT from /../ requests
+      t5551-http-fetch: Work around some libcurl versions
+      t5551-http-fetch: Work around broken Accept header in libcurl
+      http-backend: Fix bad treatment of uintmax_t in Content-Length
+
+Stephen Boyd (7):
+      rebase -i: fix reword when using a terminal editor
+      gitweb: linkify author/committer names with search
+      t1402: Make test executable
+      t1200: cleanup and modernize test style
+      t1200: Make documentation and test agree
+      t3101: test more ls-tree options
+      ls-tree: migrate to parse-options
+
+Tarmigan Casebolt (3):
+      Check the format of more printf-type functions
+      http-backend: Fix access beyond end of string.
+      http-backend: Let gcc check the format of more printf-type functions.
+
+Tay Ray Chuan (2):
+      http-push: fix check condition on http.c::finish_http_pack_request()
+      t5540-http-push: remove redundant fetches
+
+Thiago Farina (1):
+      Documentation: update pt-BR
+
+Thomas Rast (14):
+      bash completion: complete refs for git-grep
+      Let --decorate show HEAD position
+      Refactor pretty_print_commit arguments into a struct
+      reflog-walk: refactor the branch@{num} formatting
+      Introduce new pretty formats %g[sdD] for reflog information
+      stash list: use new %g formats instead of sed
+      stash list: drop the default limit of 10 stashes
+      describe: when failing, tell the user about options that work
+      filter-branch: stop special-casing $filter_subdir argument
+      filter-branch: nearest-ancestor rewriting outside subdir filter
+      Documentation: clarify 'ours' merge strategy
+      rebase docs: clarify --merge and --strategy
+      Document git-svn's first-parent rule
+      describe: do not use unannotated tag even if exact match
+
+Toby Allsopp (1):
+      git svn: handle SVN merges from revisions past the tip of the branch
+
+Vietor Liu (1):
+      git-gui: adjust the minimum height of diff pane for shorter screen height
+
+Štěpán Němec (1):
+      git-update-index.txt: Document the --really-refresh option.
+
+
+Version v1.6.5.9; changes since v1.6.5.8:
+-----------------------------------------
+
+Björn Gustavsson (3):
+      Documentation: 'git add -A' can remove files
+      git-add/rm doc: Consistently back-quote
+      git-rm doc: Describe how to sync index & work tree
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jay Soffian (1):
+      blame: prevent a segv when -L given start > EOF
+
+Jeff King (2):
+      fix memcpy of overlapping area
+      dwim_ref: fix dangling symref warning
+
+Junio C Hamano (2):
+      t8003: check exit code of command and error message separately
+      Git 1.6.4.5
+
+Larry D'Anna (1):
+      diff: make sure --output=/bad/path is caught
+
+Michal Sojka (1):
+      Remove extra '-' from git-am(1)
+
+Stephen Boyd (4):
+      octopus: make merge process simpler to follow
+      octopus: reenable fast-forward merges
+      octopus: remove dead code
+      request-pull.txt: Document -p option
+
+Thomas Rast (1):
+      stash pop: remove 'apply' options during 'drop' invocation
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.5.8; changes since v1.6.5.7:
+-----------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Björn Gustavsson (1):
+      rebase -i: abort cleanly if the editor fails to launch
+
+David Reiss (1):
+      Prevent git blame from segfaulting on a missing author name
+
+Dmitry Potapov (1):
+      fast-import: tag may point to any object type
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jeff King (2):
+      reset: unbreak hard resets with GIT_WORK_TREE
+      textconv: stop leaking file descriptors
+
+Jim Meyering (1):
+      grep: NUL terminate input from a file
+
+Junio C Hamano (3):
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      Fix mis-backport of t7002
+      Git 1.6.5.8
+
+Matthieu Moy (1):
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+
+Nguyễn Thái Ngọc Duy (1):
+      t7102: make the test fail if one of its check fails
+
+Stephen Boyd (2):
+      api-strbuf.txt: fix typos and document launch_editor()
+      technical-docs: document hash API
+
+Thomas Rast (1):
+      bash completion: factor submodules into dirty state
+
+
+Version v1.6.5.7; changes since v1.6.5.6:
+-----------------------------------------
+
+Jeff King (1):
+      ignore unknown color configuration
+
+Johannes Sixt (1):
+      help.autocorrect: do not run a command if the command given is junk
+
+Junio C Hamano (2):
+      worktree: don't segfault with an absolute pathspec without a work tree
+      Git 1.6.5.7
+
+Nanako Shiraishi (1):
+      Illustrate "filter" attribute with an example
+
+
+Version v1.6.5.6; changes since v1.6.5.5:
+-----------------------------------------
+
+Jan Krüger (1):
+      pull: clarify advice for the unconfigured error case
+
+Jeff King (1):
+      add-interactive: fix deletion of non-empty files
+
+Junio C Hamano (3):
+      Remove post-upload-hook
+      Fix archive format with -- on the command line
+      Git 1.6.5.6
+
+Matthieu Moy (2):
+      merge-recursive: make the error-message generation an extern function
+      builtin-merge: show user-friendly error messages for fast-forward too.
+
+
+Version v1.6.5.5; changes since v1.6.5.4:
+-----------------------------------------
+
+Avery Pennarun (1):
+      builtin-merge.c: call exclude_cmds() correctly.
+
+Brandon Casey (1):
+      t4201: use ISO8859-1 rather than ISO-8859-1
+
+Brian Collins (1):
+      grep: Allow case insensitive search of fixed-strings
+
+Felipe Contreras (2):
+      format-patch: fix parsing of "--" on the command line
+      format-patch: add test for parsing of "--"
+
+Jeff King (4):
+      diffcore-break: free filespec data as we go
+      diffcore-break: save cnt_data for other phases
+      rerere: don't segfault on failure to open rr-cache
+      reset: improve worktree safety valves
+
+Junio C Hamano (7):
+      diffcore-rename: reduce memory footprint by freeing blob data early
+      Documentation: avoid xmlto input error
+      Protect scripted Porcelains from GREP_OPTIONS insanity
+      Remove dead code from "git am"
+      Documentation: xmlto 0.0.18 does not know --stringparam
+      Prepare for 1.6.5.5
+      Git 1.6.5.5
+
+Linus Torvalds (1):
+      Fix diff -B/--dirstat miscounting of newly added contents
+
+Lukas Sandström (1):
+      git am/mailinfo: Don't look at in-body headers when rebasing
+
+Matthew Ogilvie (1):
+      core.autocrlf documentation: mention the crlf attribute
+
+Matthieu Moy (4):
+      Expand ~ and ~user in core.excludesfile, commit.template
+      expand_user_path: expand ~ to $HOME, not to the actual homedir.
+      merge-recursive: point the user to commit when file would be overwritten.
+      user-manual: Document that "git merge" doesn't like uncommited changes.
+
+Nicolas Pitre (1):
+      give priority to progress messages
+
+Philippe Bruhat (1):
+      Make sure $PERL_PATH is defined when the test suite is run.
+
+Raman Gupta (1):
+      Add branch management for releases to gitworkflows
+
+Ramsay Jones (3):
+      Makefile: merge two Cygwin configuration sections into one
+      t9700-perl-git.sh: Fix a test failure on Cygwin
+      git-count-objects: Fix a disk-space under-estimate on Cygwin
+
+René Scharfe (2):
+      mergetool--lib: simplify guess_merge_tool()
+      archive: clarify description of path parameter
+
+Tim Henigan (2):
+      Update 'git remote update' usage string to match man page.
+      git remote: Separate usage strings for subcommands
+
+Todd Zullinger (1):
+      Documentation: Avoid use of xmlto --stringparam
+
+Uwe Kleine-König (1):
+      shortlog: respect commit encoding
+
+
+Version v1.6.5.4; changes since v1.6.5.3:
+-----------------------------------------
+
+David Aguilar (1):
+      help: Do not unnecessarily look for a repository
+
+David Soria Parra (1):
+      Documentation: Document --branch option in git clone synopsis
+
+Greg Price (1):
+      Documentation: undocument gc'd function graph_release()
+
+Jeff King (1):
+      prune-packed: only show progress when stderr is a tty
+
+Junio C Hamano (7):
+      builtin-apply.c: pay attention to -p<n> when determining the name
+      Do not misidentify "git merge foo HEAD" as an old-style invocation
+      merge: do not add standard message when message is given with -m option
+      Prepare for 1.6.5.4
+      Documentation/Makefile: allow man.base.url.for.relative.link to be set from Make
+      Unconditionally set man.base.url.for.relative.links
+      Git 1.6.5.4
+
+Michael J Gruber (1):
+      Documentation: Fix a few i.e./e.g. mix-ups
+
+Nicolas Pitre (1):
+      pack-objects: split implications of --all-progress from progress activation
+
+Stephen Boyd (1):
+      instaweb: restart server if already running
+
+
+Version v1.6.5.3; changes since v1.6.5.2:
+-----------------------------------------
+
+Björn Gustavsson (1):
+      git-clone.txt: Fix grammar and formatting
+
+Björn Steinbrink (1):
+      pre-commit.sample: Diff against the empty tree when HEAD is invalid
+
+Clemens Buchacher (1):
+      modernize fetch/merge/pull examples
+
+Daniel Barkalow (2):
+      Require a struct remote in transport_get()
+      Allow curl helper to work without a local repository
+
+Dmitry V. Levin (1):
+      Makefile: add compat/bswap.h to LIB_H
+
+Gerrit Pape (1):
+      help -i: properly error out if no info viewer can be found
+
+Gisle Aas (2):
+      More precise description of 'git describe --abbrev'
+      Fix documentation grammar typo
+
+Giuseppe Bilotta (1):
+      gitweb: fix esc_param
+
+Jakub Narębski (1):
+      gitweb: Do not show 'patch' link for merge commits
+
+Jan Krüger (1):
+      rebase -i: more graceful handling of invalid commands
+
+Jari Aalto (3):
+      Documentation/fetch-options.txt: order options alphabetically
+      Documentation/git-pull.txt: Add subtitles above included option files
+      Documentation/merge-options.txt: order options in alphabetical groups
+
+Jeff King (6):
+      cvsimport: fix relative argument filenames
+      push: always load default config
+      add-interactive: handle deletion of empty files
+      ls-files: unbreak "ls-files -i"
+      push: fix typo in usage
+      format-patch: make "-p" suppress diffstat
+
+Johannes Schindelin (3):
+      blame: make sure that the last line ends in an LF
+      help -a: do not unnecessarily look for a repository
+      diff --color-words -U0: fix the location of hunk headers
+
+Jonathan Nieder (4):
+      clone: detect extra arguments
+      Add intermediate build products to .gitignore
+      check-ref-format: update usage string
+      merge: do not setup worktree twice
+
+Junio C Hamano (22):
+      apply --whitespace=fix: fix handling of blank lines at the eof
+      apply --whitespace=fix: detect new blank lines at eof correctly
+      apply.c: split check_whitespace() into two
+      apply --whitespace=warn/error: diagnose blank at EOF
+      apply --whitespace: warn blank but not necessarily empty lines at EOF
+      diff.c: the builtin_diff() deals with only two-file comparison
+      diff --whitespace=warn/error: obey blank-at-eof
+      diff --whitespace=warn/error: fix blank-at-eof check
+      diff --color: color blank-at-eof
+      core.whitespace: split trailing-space into blank-at-{eol,eof}
+      diff --whitespace: fix blank lines at end
+      diff.c: shuffling code around
+      diff.c: split emit_line() from the first char and the rest of the line
+      diff.c: emit_add_line() takes only the rest of the line
+      diff -B: colour whitespace errors
+      info/grafts: allow trailing whitespaces at the end of line
+      gc --auto --quiet: make the notice a bit less verboase
+      receive-pack: run "gc --auto --quiet" and optionally "update-server-info"
+      clone: fix help on options
+      diff --color-words: bit of clean-up
+      check-ref-format -h: it does not know the --print option yet
+      Git 1.6.5.3
+
+Markus Heidelberg (1):
+      t4034-diff-words: add a test for word diff without context
+
+Petr Baudis (1):
+      gitweb: Fix blob linenr links in pathinfo mode
+
+Sebastian Schuberth (1):
+      Do not try to remove directories when removing old links
+
+Stephen Boyd (1):
+      git-add.txt: fix formatting of --patch section
+
+Thomas Rast (1):
+      Quote ' as \(aq in manpages
+
+Todd Zullinger (1):
+      Makefile: Ensure rpm packages can be read by older rpm versions
+
+Vietor Liu (1):
+      imap-send.c: fix compiler warnings for OpenSSL 1.0
+
+
+Version v1.6.5.2; changes since v1.6.5.1:
+-----------------------------------------
+
+Andreas Schwab (1):
+      Work around option parsing bug in the busybox tar implementation
+
+Carlos R. Mafra (1):
+      Makefile: clean block-sha1/ directory instead of mozilla-sha1/
+
+Jeff King (2):
+      ls-files: excludes should not impact tracked files
+      document push's new quiet option
+
+Joe Perches (1):
+      git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s
+
+Johannes Sixt (2):
+      Remove a left-over file from t/t5100
+      Mark files in t/t5100 as UTF-8
+
+Jonathan Nieder (1):
+      Documentation: describe check-ref-format --branch
+
+Junio C Hamano (4):
+      Fix incorrect error check while reading deflated pack data
+      Do not fail "describe --always" in a tag-less repository
+      Fix list of released versions in the toc document
+      GIT 1.6.5.2
+
+Markus Heidelberg (1):
+      t7800-difftool: fix the effectless GIT_DIFFTOOL_PROMPT test
+
+Matt Kraai (1):
+      Documentation/git-gc.txt: change "references" to "reference"
+
+Nanako Shiraishi (2):
+      git push: remove incomplete options list from help text
+      git push: say that --tag can't be used with --all or --mirror in help text
+
+Nasser Grainawi (1):
+      Document `delta` attribute in "git help attributes".
+
+Pauli Virtanen (1):
+      git-add--interactive: never skip files included in index
+
+
+Version v1.6.5.1; changes since v1.6.5:
+---------------------------------------
+
+Björn Steinbrink (1):
+      clone: Supply the right commit hash to post-checkout when -b is used
+
+Johannes Sixt (1):
+      remote-curl: add missing initialization of argv0_path
+
+Junio C Hamano (1):
+      GIT 1.6.5.1
+
+Matt Kraai (1):
+      grep: do not segfault when -f is used
+
+Miklos Vajna (1):
+      git-stash documentation: mention default options for 'list'
+
+Nicolas Pitre (1):
+      change throughput display units with fast links
+
+Shawn O. Pearce (1):
+      sha1_file: Fix infinite loop when pack is corrupted
+
+
+Version v1.6.5; changes since v1.6.5-rc3:
+-----------------------------------------
+
+Alexander Gavrilov (1):
+      git-svn: Avoid spurious errors when rewriteRoot is used.
+
+Ben Walton (1):
+      ls-files: die instead of fprintf/exit in -i error
+
+Björn Gustavsson (1):
+      bash: add support for 'git replace'
+
+Brandon Casey (2):
+      Makefile: enable THREADED_DELTA_SEARCH on IRIX and IRIX64
+      Makefile: add a note about the NO_MMAP setting on IRIX and IRIX64
+
+Christian Himpel (2):
+      git-am: fixed patch_format detection according to RFC2822
+      git-am: force egrep to use correct characters set
+
+Erik Faye-Lund (2):
+      increase portability of NORETURN declarations
+      add NORETURN_PTR for function pointers
+
+Felipe Contreras (1):
+      send-email: fix mutt regex for grouped aliases
+
+Ingmar Vanhassel (1):
+      import-tars: Add missing closing bracket
+
+Jeff King (2):
+      improve reflog date/number heuristic
+      pull: improve advice for unconfigured error case
+
+Jonathan Nieder (8):
+      Describe DOCBOOK_XSL_172, ASCIIDOC_NO_ROFF options in Makefile
+      Documentation: git fmt-merge-msg does not have to be a script
+      Documentation: clarify mergeoptions description
+      Documentation: branch: update --merged description
+      Documentation: clarify branch creation
+      Documentation: clarify "working tree" definition
+      racy-git.txt: explain nsec problem in more detail
+      Documentation: clone: clarify discussion of initial branch
+
+Junio C Hamano (2):
+      Update draft release notes to 1.6.5
+      GIT 1.6.5
+
+Ramsay Jones (2):
+      Fix MSVC build on cygwin
+      Fix the exit code of MSVC build scripts on cygwin
+
+René Scharfe (1):
+      Git archive and trailing "/" in prefix
+
+Simon Arlott (1):
+      git-svn: hide find_parent_branch output in double quiet mode
+
+Stephen Boyd (2):
+      completion: fix completion of git <TAB><TAB>
+      completion: fix alias listings with newlines
+
+
+Version v1.6.5-rc3; changes since v1.6.5-rc2:
+---------------------------------------------
+
+Adam Brewster (1):
+      filter-branch: add --prune-empty to option summary
+
+Andreas Schwab (1):
+      parse-opt: ignore negation of OPT_NONEG for ambiguity checks
+
+Brandon Casey (3):
+      perl/Makefile.PL: detect MakeMaker versions incompatible with DESTDIR
+      Documentation/git-gc.txt: default --aggressive window is 250, not 10
+      Makefile: enable THREADED_DELTA_SEARCH on SunOS
+
+Frederik Schwarzer (1):
+      Correct minor typo in post-receive hook template
+
+Jim Meyering (1):
+      typo fix: Directory `...' exist, ...: s/exist/exists/
+
+Johan Sageryd (1):
+      Fix '--relative-date'
+
+Junio C Hamano (4):
+      builtin-mailinfo.c: check error status from rewind and ftruncate
+      show-branch: fix segfault when showbranch.default exists
+      git-pull: dead code removal
+      fast-import.c::validate_raw_date(): really validate the value
+
+Mark Rada (1):
+      tests: make all test files executable
+
+Michael Wookey (1):
+      generators/vcproj.pm: remove UNICODE from build
+
+Miklos Vajna (1):
+      git branch -D: give a better error message when lockfile creation fails
+
+Nicolas Pitre (1):
+      make 'git clone' ask the remote only for objects it cares about
+
+Ramsay Jones (1):
+      Fix some printf format warnings
+
+SZEDER Gábor (1):
+      bash: teach 'git checkout' options
+
+Sebastian Schuberth (2):
+      Make generated MSVC solution file open from Windows Explorer
+      Make just opening the generated MSVC solution file not modify it
+
+Stefan Naewe (1):
+      README: git lives at http://git-scm.com these days
+
+Stephen Boyd (2):
+      completion: update am, commit, and log
+      completion: add dirstat and friends to diff options
+
+Yakov Lerner (1):
+      send-email: fix obscure error when encryption=tls and smtp cannot connect
+
+
+Version v1.6.5-rc2; changes since v1.6.5-rc1:
+---------------------------------------------
+
+Clemens Buchacher (2):
+      test local clone by copying
+      cvs: initialize empty password
+
+Dmitry Potapov (2):
+      git-archive: add '-o' as a alias for '--output'
+      git-archive: infer output format from filename when unspecified
+
+Frank Li (6):
+      Avoid declaration after statement
+      Change regerror() declaration from K&R style to ANSI C (C89)
+      Fix __stdcall placement and function prototype
+      Test for WIN32 instead of __MINGW32_
+      Add MinGW header files to build git with MSVC
+      Add platform files for porting to MSVC
+
+Heiko Voigt (2):
+      remove logical typo in documentation of sample update hook
+      web--browse: fix Mac OS X GUI detection for 10.6
+
+Jim Meyering (1):
+      pre-commit.sample: add comment re tr portability; fix grammar
+
+Johannes Gilger (1):
+      git-clone doc: typofix
+
+Johannes Sixt (1):
+      test-genrandom: ensure stdout is set to _O_BINARY on Windows
+
+Junio C Hamano (6):
+      git-commit doc: remove duplicated --dry-run description
+      http.c: avoid freeing an uninitialized pointer
+      GIT 1.6.4.4
+      Update Release Notes to 1.6.5
+      pay attention to DESTDIR when building with NO_PERL_MAKEMAKER
+      pull: Clarify "helpful" message for another corner case
+
+Marius Storm-Olsen (9):
+      Add include guards to compat/win32.h
+      Set _O_BINARY as default fmode for both MinGW and MSVC
+      Add empty header files for MSVC port
+      Make usage of windows.h lean and mean
+      Define strncasecmp and ftruncate for MSVC
+      Add MSVC to Makefile
+      Add README for MSVC build
+      Add scripts to generate projects for other buildsystems (MSVC vcproj, QMake)
+      Tag GIT_VERSION when Git is built with MSVC
+
+Matthieu Moy (1):
+      push: Correctly initialize nonfastforward in transport_push.
+
+Nelson Elhage (1):
+      git-push: Accept -n as a synonym for --dry-run.
+
+Nicolas Pitre (1):
+      Nicolas Pitre has a new email address
+
+Pat Thoyts (1):
+      gitk: Work around leftover temporary save file
+
+Paul Mackerras (1):
+      gitk: Show diff of commits at end of compare-commits output
+
+Peter Krefting (1):
+      gitk: Update Swedish translation (280t0f0u)
+
+SZEDER Gábor (3):
+      bash: rename __git_find_subcommand() to __git_find_on_cmdline()
+      bash: update 'git stash' completion
+      bash: teach 'git reset --patch'
+
+Thiago Farina (3):
+      Update the usage bundle string.
+      pack-objects: remove SP at the end of usage string
+      Update "describe" documentation to match reality
+
+Todd Zullinger (1):
+      completion: Replace config --list with --get-regexp
+
+
+Version v1.6.5-rc1; changes since v1.6.5-rc0:
+---------------------------------------------
+
+Brian Gernhardt (4):
+      INSTALL: Update description of our SHA-1 code
+      Makefile: Add NEEDS_CRYPTO_WITH_SSL
+      INSTALL: Reorder dependencies, split shell and Perl
+      INSTALL: Describe dependency knobs from Makefile
+
+Clemens Buchacher (3):
+      grep: fix exit status if external_grep() punts
+      grep: accept relative paths outside current working directory
+      preserve mtime of local clone
+
+Daniel Barkalow (4):
+      Add support for external programs for handling native fetches
+      Use an external program to implement fetching with curl
+      Make the "traditionally-supported" URLs a special case
+      Use a clearer style to issue commands to remote helpers
+
+Jari Aalto (1):
+      Improve --patch option documentation in git-add
+
+Jeff King (4):
+      Makefile: git-http-fetch does not need expat
+      push: make non-fast-forward help message configurable
+      status: make "how to stage" messages optional
+      rebase: use plumbing to show dirty state
+
+Jim Meyering (3):
+      use write_str_in_full helper to avoid literal string lengths
+      use write_str_in_full helper to avoid literal string lengths
+      don't dereference NULL upon fdopen failure
+
+Johannes Sixt (2):
+      start_command: do not clobber cmd->env on Windows code path
+      pager: set LESS=FRSX also on Windows
+
+Josh Triplett (2):
+      Wrap rewrite globals in a struct in preparation for adding another set
+      Add url.<base>.pushInsteadOf: URL rewriting for push only
+
+Junio C Hamano (7):
+      Makefile: do not link three copies of git-remote-* programs
+      Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
+      merge-recursive: give less scary messages when merge did not start
+      Makefile: remove remnant of separate http/https/ftp helpers
+      GIT 1.6.4.3
+      quiltimport documentation: --dry-run and -n are synonyms
+      GIT 1.6.5-rc1
+
+Linus Torvalds (1):
+      git-http-fetch: not a builtin
+
+Mark Lodato (1):
+      svn: properly escape arguments for authors-prog
+
+Martin Nordholts (1):
+      git.el: Use git-add-file for unmerged files, remove git-resolve-file
+
+Matthieu Moy (1):
+      wrap git's main usage string.
+
+Mike Ralphson (2):
+      Add transport native helper executables to .gitignore
+      http-fetch: Fix Makefile dependancies
+
+Nicolas Sebrecht (2):
+      mailinfo: add '--scissors' to usage message
+      add documentation for mailinfo.scissors and '--no-scissors'
+
+Peter Krefting (2):
+      import-tars: Allow per-tar author and commit message.
+      Add script for importing bits-and-pieces to Git.
+
+Reilly Grant (1):
+      git-p4: Avoid modules deprecated in Python 2.6.
+
+Tay Ray Chuan (1):
+      http.c: remove verification of remote packs
+
+
+Version v1.6.5-rc0; changes since v1.6.4.5:
+-------------------------------------------
+
+Adam Brewster (3):
+      svn: Add && to t9107-git-svn-migrate.sh
+      svn: Honor --prefix option in init without --stdlayout
+      svn: allow branches outside of refs/remotes
+
+Adam Simpkins (3):
+      graph API: use a new color when starting a brand new column
+      graph API: fix bug in graph_is_interesting()
+      Add tests for rev-list --graph with options that simplify history
+
+Alex Riesen (2):
+      Add a reminder test case for a merge with F/D transition
+      Add date formatting and parsing functions relative to a given time
+
+Alexandre Julliard (1):
+      read-tree: Fix regression with creation of a new index file.
+
+André Goddard Rosa (1):
+      Fix typos on pt_BR/gittutorial.txt translation
+
+Benjamin Kramer (1):
+      gitweb: Optimize git-favicon.png
+
+Björn Steinbrink (1):
+      git-describe: Die early if there are no possible descriptions
+
+Brandon Casey (9):
+      strbuf: add new function strbuf_getwholeline()
+      builtin-mailinfo,builtin-mailsplit: use strbufs
+      builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
+      block-sha1/sha1.c: silence compiler complaints by casting void * to char *
+      git-compat-util.h: remove superfluous test for __sun__
+      Makefile: remove pointless conditional assignment in SunOS section
+      abspath.c: move declaration of 'len' into inner block and use appropriate type
+      commit.c: rename variable named 'n' which masks previous declaration
+      t/test-lib.sh: provide a shell implementation of the 'yes' utility
+
+Brian Gianforcaro (1):
+      Style fixes, add a space after if/for/while.
+
+Christian Couder (13):
+      refs: add a "for_each_replace_ref" function
+      replace_object: add mechanism to replace objects found in "refs/replace/"
+      sha1_file: add a "read_sha1_file_repl" function
+      object: call "check_sha1_signature" with the replacement sha1
+      replace_object: add a test case
+      mktag: call "check_sha1_signature" with the replacement sha1
+      environment: add global variable to disable replacement
+      Add new "git replace" command
+      builtin-replace: teach "git replace" to actually replace
+      parse-options: add new function "usage_msg_opt"
+      builtin-replace: use "usage_msg_opt" to give better error messages
+      Documentation: add documentation for "git replace"
+      t6050: check pushing something based on a replaced commit
+
+David Aguilar (1):
+      Add git-replace to .gitignore
+
+David Kågedal (1):
+      git.el: Clarify documentation of git-commit-tree
+
+David Soria Parra (1):
+      run-command.c: squelch a "use before assignment" warning
+
+Dirk Hoerner (1):
+      git-cvsimport: add support for cvs pserver password scrambling.
+
+Eric Wong (3):
+      svn: initial "master" points to trunk if possible
+      svn: (cleanup) use predefined constant for rev_map_fmt
+      svn: assume URLs from the command-line are URI-encoded
+
+Geoffrey Irving (1):
+      git fast-export: add --no-data option
+
+Giuseppe Bilotta (3):
+      gitweb: fix 'Use of uninitialized value' error in href()
+      git apply: option to ignore whitespace differences
+      gitweb: pull ref markes pull out of subject <a> element
+
+Heiko Voigt (2):
+      cvsimport: add test illustrating a bug in cvsps
+      cvsimport: extend testcase about patchset order to contain branches
+
+Jakub Narębski (6):
+      gitweb: Make .error style generic
+      gitweb: Mark boundary commits in 'blame' view
+      gitweb: Use "previous" header of git-blame -p in 'blame' view
+      gitweb: Mark commits with no "previous" in 'blame' view
+      gitweb: Add author initials in 'blame' view, a la "git gui blame"
+      gitweb: Use light/dark for class names also in 'blame' view
+
+Jari Aalto (1):
+      git-tag(1): Refer to git-check-ref-format(1) for <name>
+
+Jeff King (14):
+      push: add --quiet flag
+      transport: pass "quiet" flag to pack-objects
+      transport: don't show push status if --quiet is given
+      tests: use "$TEST_DIRECTORY" instead of ".."
+      tests: provide $TRASH_DIRECTORY variable
+      tests: allow user to specify trash directory location
+      t/Makefile: include config.mak
+      allow pull --rebase on branch yet to be born
+      tests: disable interactive hunk selection tests if perl is not available
+      clone: add --branch option to select a different HEAD
+      refactor test-date interface
+      tests: add date printing and parsing tests
+      fix approxidate parsing of relative months and years
+      push: teach --quiet to suppress "Everything up-to-date"
+
+Jeff Lasslett (1):
+      Check return value of ftruncate call in http.c
+
+Jens Lehmann (1):
+      git submodule summary: add --files option
+
+Johan Herland (9):
+      git submodule foreach: Provide access to submodule name, as '$name'
+      git submodule: Cleanup usage string and add option parsing to cmd_foreach()
+      Add selftest for 'git submodule foreach'
+      git submodule foreach: test access to submodule name as '$name'
+      git submodule foreach: Add --recursive to recurse into nested submodules
+      git submodule update: Introduce --recursive to update nested submodules
+      git submodule status: Add --recursive to recurse into nested submodules
+      t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
+      git clone: Add --recursive to automatically checkout (nested) submodules
+
+Johannes Schindelin (2):
+      Make 'git stash -k' a short form for 'git stash save --keep-index'
+      parse-opt: optionally show "--no-" option string
+
+Johannes Sixt (13):
+      MinGW: simplify waitpid() emulation macros
+      run_command: return exit code as positive value
+      run_command: report system call errors instead of returning error codes
+      run_command: encode deadly signal number in the return value
+      run_command: report failure to execute the program, but optionally don't
+      receive-pack: remove unnecessary run_status report
+      api-run-command.txt: describe error behavior of run_command functions
+      t0001-init: fix a file name
+      t0001-init: split the existence test from the permission test
+      gitk: Do not hard-code "encoding" in attribute lookup functions
+      Make test number t7406- unique
+      Make test case number unique
+      status: list unmerged files much later
+
+Junio C Hamano (31):
+      t/t9600: remove exit after test_done
+      Start 1.6.5 cycle
+      request-pull: optionally show a patch as well
+      diff-index: report unmerged new entries
+      diff-index: keep the original index intact
+      Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
+      wt-status.c: rework the way changes to the index and work tree are summarized
+      git-rev-list.txt: Clarify the use of multiple revision arguments
+      block-sha1: undo ctx->size change
+      block-sha1: minor fixups
+      am: allow individual e-mail files as input
+      status: show worktree status of conflicted paths separately
+      verify-pack --stat-only: show histogram without verifying
+      commit: --dry-run
+      wt-status: move many global settings to wt_status structure
+      wt-status: move wt_status_colors[] into wt_status structure
+      Make git_status_config() file scope static to builtin-commit.c
+      wt-status: collect untracked files in a separate "collect" phase
+      Documentation/git-commit.txt: describe --dry-run
+      git commit --dry-run -v: show diff in color when asked
+      compat/snprintf.c: clarify SNPRINTF_SIZE_CORR
+      builtin-mailinfo.c: fix confusing internal API to mailinfo()
+      Teach mailinfo to ignore everything before -- >8 -- mark
+      am/mailinfo: Disable scissors processing by default
+      mailinfo.scissors: new configuration
+      Draft release notes to 1.6.5 before -rc0
+      upload-pack: add a trigger for post-upload-pack hook
+      upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
+      builtin-pack-objects.c: avoid vla
+      builtin-apply.c: get rid of an unnecessary use of temporary array
+      GIT 1.6.5-rc0
+
+Karthik R (1):
+      git-svn: Use GIT_SSH setting if SVN_SSH is not set
+
+Lars Hjemli (2):
+      Documentaqtion/git-submodule.txt: Typofix
+      git-log: allow --decorate[=short|full]
+
+Linus Torvalds (12):
+      Add new optimized C 'block-sha1' routines
+      block-sha1: try to use rol/ror appropriately
+      block-sha1: make the 'ntohl()' part of the first SHA1 loop
+      block-sha1: re-use the temporary array as we calculate the SHA1
+      block-sha1: macroize the rounds a bit further
+      block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in round 3
+      block-sha1: get rid of redundant 'lenW' context
+      block-sha1: perform register rotation using cpp
+      block-sha1: improved SHA1 hashing
+      block-sha1: improve code on large-register-set machines
+      Improve on 'approxidate'
+      Further 'approxidate' improvements
+
+Luke Diamand (1):
+      git-p4: stream from perforce to speed up clones
+
+Mark Rada (6):
+      gitweb: support to globally disable a snapshot format
+      gitweb: update INSTALL regarding specific snapshot settings
+      gitweb: add support for XZ compressed snapshots
+      gitweb: improve snapshot error handling
+      gitweb: split test suite into library and tests
+      gitweb: add t9501 tests for checking HTTP status codes
+
+Matthieu Moy (6):
+      rebase: consistent error messages for staged and unstaged changes.
+      git-ls-files.txt: clarify what "other files" mean for --other
+      Show usage string for 'git log -h', 'git show -h' and 'git diff -h'
+      Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
+      reset: make the reminder output consistent with "checkout"
+      stash: simplify defaulting to "save" and reject unknown options
+
+Michael Haggerty (6):
+      Start a library for cvsimport-related tests
+      Use CVS's -f option if available (ignore user's ~/.cvsrc file)
+      Test contents of entire cvsimported "master" tree contents
+      Add some tests of git-cvsimport's handling of vendor branches
+      Add a test of "git cvsimport"'s handling of tags and branches
+      git-svn: ignore leading blank lines in svn:ignore
+
+Michael J Gruber (3):
+      t6010-merge-base.sh: Depict the octopus test graph
+      git-merge-base/git-show-branch: Cleanup documentation and usage
+      git-merge-base/git-show-branch --merge-base: Documentation and test
+
+Michał Kiedrowicz (2):
+      init-db: migrate to parse-options
+      grep: Add --max-depth option.
+
+Nanako Shiraishi (3):
+      git init: optionally allow a directory argument
+      Documentation: consistently refer to check-ref-format
+      Documentation: describe the scissors mark support of "git am"
+
+Nguyễn Thái Ngọc Duy (1):
+      Prevent diff machinery from examining assume-unchanged entries on worktree
+
+Nick Edelen (1):
+      Shift object enumeration out of upload-pack
+
+Nicolas Pitre (11):
+      block-sha1: move code around
+      block-sha1: split the different "hacks" to be individually selected
+      block-sha1: support for architectures with memory alignment restrictions
+      block-sha1: more good unaligned memory access candidates
+      block-sha1: make the size member first in the context struct
+      make sure byte swapping is optimal for git
+      block-sha1: guard gcc extensions with __GNUC__
+      remove ARM and Mozilla SHA1 implementations
+      fix simple deepening of a repo
+      make shallow repository deepening more network efficient
+      pack-objects: free preferred base memory after usage
+
+Nicolas Sebrecht (1):
+      git-am: print fair error message when format detection fails
+
+Ori Avtalion (1):
+      git stash: Give friendlier errors when there is nothing to apply
+
+Pascal Obry (1):
+      Do not scramble password read from .cvspass
+
+René Scharfe (2):
+      update-server-info: make builtin, use parseopt
+      UI consistency: allow --force for where -f means force
+
+Stephen Boyd (7):
+      read-tree: convert unhelpful usage()'s to helpful die()'s
+      read-tree: migrate to parse-options
+      write-tree: migrate to parse-options
+      verify-tag: migrate to parse-options
+      verify-pack: migrate to parse-options
+      prune-packed: migrate to parse-options
+      technical-docs: document tree-walking API
+
+Tay Ray Chuan (2):
+      http.c: free preq when aborting
+      http.c: replace usage of temporary variable for urls
+
+Thadeu Lima de Souza Cascardo (1):
+      Translate the tutorial to Brazillian Portuguese
+
+Thomas Rast (11):
+      Document 'stash clear' recovery via unreachable commits
+      gitk: New option to hide remote refs
+      gitk: Fix direction of symmetric difference in optimized mode
+      gitk: Parse arbitrary commit-ish in SHA1 field
+      git-apply--interactive: Refactor patch mode code
+      Add a small patch-mode testing library
+      builtin-add: refactor the meat of interactive_add()
+      Implement 'git reset --patch'
+      Implement 'git checkout --patch'
+      Implement 'git stash save --patch'
+      DWIM 'git stash save -p' for 'git stash -p'
+
+Tuomas Suutari (1):
+      git-svn.txt: Fix location of parent argument
+
+Wesley J. Landaker (2):
+      Documentation: git-send-email: fix submission port number
+      Documentation: git-send-email: correct statement about standard ports
+
+Wilhansen Li (1):
+      Add support for the Mongoose web server.
+
+
+Version v1.6.4.5; changes since v1.6.4.4:
+-----------------------------------------
+
+Andreas Gruenbacher (3):
+      base85 debug code: Fix length byte calculation
+      base85: encode_85() does not use the decode table
+      base85: Make the code more obvious instead of explaining the non-obvious
+
+Andreas Schwab (1):
+      git count-objects: handle packs bigger than 4G
+
+Ben Walton (1):
+      ls-files: die instead of fprintf/exit in -i error
+
+Gerrit Pape (1):
+      help -i: properly error out if no info viewer can be found
+
+Greg Brockman (1):
+      Check size of path buffer before writing into it
+
+Greg Price (1):
+      commit: --cleanup is a message option
+
+Jakub Narębski (1):
+      gitweb: Introduce esc_attr to escape attributes of HTML elements
+
+Jan Krüger (1):
+      rebase -i: more graceful handling of invalid commands
+
+Jeff King (2):
+      ls-files: excludes should not impact tracked files
+      textconv: stop leaking file descriptors
+
+Jonathan Nieder (1):
+      Documentation: describe check-ref-format --branch
+
+Junio C Hamano (5):
+      show-branch: fix segfault when showbranch.default exists
+      fast-import.c::validate_raw_date(): really validate the value
+      checkout -m: do not try to fall back to --merge from an unborn branch
+      Fix mis-backport of t7002
+      Git 1.6.4.5
+
+Matt Kraai (1):
+      grep: do not segfault when -f is used
+
+Matthieu Moy (2):
+      push: Correctly initialize nonfastforward in transport_push.
+      branch: die explicitly why when calling "git branch [-a|-r] branchname".
+
+Miklos Vajna (1):
+      git-stash documentation: mention default options for 'list'
+
+Nguyễn Thái Ngọc Duy (1):
+      t7102: make the test fail if one of its check fails
+
+Uwe Kleine-König (1):
+      rev-parse: fix --parse-opt --keep-dashdash --stop-at-non-option
+
+
+Version v1.6.4.4; changes since v1.6.4.3:
+-----------------------------------------
+
+Jeff King (1):
+      checkout: do not imply "-f" on unborn branches
+
+Junio C Hamano (6):
+      Fix "unpack-objects --strict"
+      check_path(): allow symlinked directories to checkout-index --prefix
+      xutils: Fix hashing an incomplete line with whitespaces at the end
+      xutils: Fix xdl_recmatch() on incomplete lines
+      http.c: avoid freeing an uninitialized pointer
+      GIT 1.6.4.4
+
+
+Version v1.6.4.3; changes since v1.6.4.2:
+-----------------------------------------
+
+Bert Wesarg (1):
+      githooks.txt: put hooks into subsections
+
+Clemens Buchacher (2):
+      grep: fix exit status if external_grep() punts
+      grep: accept relative paths outside current working directory
+
+Emmanuel Trillaud (1):
+      git-pull: do not mention --quiet and --verbose twice
+
+Gerrit Pape (1):
+      git-cvsserver: no longer use deprecated 'git-subcommand' commands
+
+Jeff King (3):
+      clone: disconnect transport after fetching
+      push: fix english in non-fast-forward message
+      push: re-flow non-fast-forward message
+
+Junio C Hamano (1):
+      GIT 1.6.4.3
+
+Mark Lodato (1):
+      svn: properly escape arguments for authors-prog
+
+Miklos Vajna (1):
+      git-clone: add missing comma in --reference documentation
+
+Tay Ray Chuan (1):
+      http.c: remove verification of remote packs
+
+
+Version v1.6.4.2; changes since v1.6.4.1:
+-----------------------------------------
+
+David Kågedal (1):
+      Minor improvement to the write-tree documentation
+
+David Reiss (1):
+      Round-down years in "years+months" relative date view
+
+Jeff King (3):
+      add tests for merge message headings
+      merge: fix incorrect merge message for ambiguous tag/branch
+      merge: indicate remote tracking branches in merge message
+
+Johannes Schindelin (2):
+      Expose the has_non_ascii() function
+      Correctly mark cover letters' encodings if they are not pure ASCII
+
+Johannes Sixt (1):
+      t6035-merge-dir-to-symlink depends on SYMLINKS prerequisite
+
+Junio C Hamano (3):
+      apply: notice creation/removal patches produced by GNU diff
+      clean: require double -f options to nuke nested git repository and work tree
+      GIT 1.6.4.2
+
+Kirill Smelkov (1):
+      git add -p: demonstrate failure when staging both mode and hunk
+
+Kjetil Barvik (1):
+      lstat_cache: guard against full match of length of 'name' parameter
+
+Lars Hjemli (1):
+      git-log: allow --decorate[=short|full]
+
+Linus Torvalds (1):
+      git-checkout: be careful about untracked symlinks
+
+Nanako Shiraishi (3):
+      git-bisect: call the found commit "*the* first bad commit"
+      Fix overridable written with an extra 'e'
+      Remove unused t/t8005/iso8859-5.txt
+
+Pickens, James E (1):
+      Demonstrate bugs when a directory is replaced with a symlink
+
+Tay Ray Chuan (2):
+      http.c: don't assume that urls don't end with slash
+      http.c: set slot callback members to NULL when releasing object
+
+Thomas Rast (1):
+      add -p: do not attempt to coalesce mode changes
+
+Wesley J. Landaker (1):
+      Documentation: git-archive: mark --format as optional in summary
+
+
+Version v1.6.4.1; changes since v1.6.4:
+---------------------------------------
+
+Björn Steinbrink (1):
+      config: Keep inner whitespace verbatim
+
+Erik Faye-Lund (1):
+      send-email: remove debug trace
+
+Jakub Narębski (1):
+      gitweb/README: Document $base_url
+
+Jeff King (3):
+      show: suppress extra newline when showing annotated tag
+      show: add space between multiple items
+      docs: describe impact of repack on "clone -s"
+
+Jens Lehmann (1):
+      Documentation: git submodule: add missing options to synopsis
+
+Johan Herland (1):
+      help.c: give correct structure's size to memset()
+
+Johannes Schindelin (1):
+      filter-branch: add an example how to add ACKs to a range of commits
+
+Junio C Hamano (5):
+      merge-recursive: don't segfault while handling rename clashes
+      t5510: harden the way verify-pack is used
+      verify-pack -v: do not report "chain length 0"
+      am: allow individual e-mail files as input
+      GIT 1.6.4.1
+
+Mark Rada (1):
+      git-instaweb: fix mod_perl detection for apache2
+
+Matthieu Moy (3):
+      Better usage string for reflog.
+      push: point to 'git pull' and 'git push --force' in case of non-fast forward
+      filter-branch: make the usage string fit on 80 chars terminals.
+
+Miklos Vajna (1):
+      hg-to-git: don't import the unused popen2 module
+
+Nicolas Pitre (1):
+      don't let the delta cache grow unbounded in 'git repack'
+
+Nicolas Sebrecht (1):
+      git-am: print fair error message when format detection fails
+
+Ori Avtalion (1):
+      Change mentions of "git programs" to "git commands"
+
+Paul Bolle (2):
+      Documentation: merge: one <remote> is required
+      Documentation: add: <filepattern>... is optional
+
+Santi Béjar (2):
+      t5520-pull: Test for rebased upstream + fetch + pull --rebase
+      pull: support rebased upstream + fetch + pull --rebase
+
+Zoltán Füzesi (1):
+      gitweb: parse_commit_text encoding fix
+
+Štěpán Němec (1):
+      Fix typos in git-remote.txt and git-symbolic-ref.txt
+
+
+Version v1.6.4; changes since v1.6.4-rc3:
+-----------------------------------------
+
+David Kågedal (1):
+      Update the documentation of the raw diff output format
+
+Elijah Newren (7):
+      fast-export: Set revs.topo_order before calling setup_revisions
+      fast-export: Omit tags that tag trees
+      fast-export: Make sure we show actual ref names instead of "(null)"
+      fast-export: Do parent rewriting to avoid dropping relevant commits
+      fast-export: Add a --tag-of-filtered-object option for newly dangling tags
+      Add new fast-export testcases
+      fast-export: Document the fact that git-rev-list arguments are accepted
+
+Eric Wong (1):
+      t9143: do not fail if Compress::Zlib is missing
+
+Greg Price (1):
+      Fix rebase -p --onto
+
+Junio C Hamano (2):
+      GIT 1.6.3.4
+      GIT 1.6.4
+
+Michael J Gruber (1):
+      git-rerere.txt: Clarify ambiguity of the config variable
+
+Sean Estabrooks (1):
+      Trivial path quoting fixes in git-instaweb
+
+Stephen Boyd (1):
+      config.txt: document add.ignore-errors
+
+Tom Grennan (1):
+      request-pull: allow ls-remote to notice remote.$nickname.uploadpack
+
+
+Version v1.6.4-rc3; changes since v1.6.4-rc2:
+---------------------------------------------
+
+Alex Vandiver (2):
+      Make section_name_match start on '[', and return the length on success
+      After renaming a section, print any trailing variable definitions
+
+Björn Steinbrink (1):
+      Add a test showing that 'git repack' throws away grafted-away parents
+
+Daniel Trstenjak (1):
+      Show the presence of untracked files in the bash prompt.
+
+Eric Wong (6):
+      git svn: fix shallow clone when upstream revision is too new
+      git svn: revert default behavior for --minimize-url
+      git svn: the branch command no longer needs the full path
+      t9142: stop httpd after the test
+      git svn: avoid escaping '/' when renaming/copying files
+      git svn: make minimize URL more reliable over http(s)
+
+Jeff King (1):
+      send-email: detect cycles in alias expansion
+
+Johannes Schindelin (1):
+      git repack: keep commits hidden by a graft
+
+Junio C Hamano (6):
+      do_one_ref(): null_sha1 check is not about broken ref
+      SunOS grep does not understand -C<n> nor -e
+      Update release notes for 1.6.4
+      Fix severe breakage in "git-apply --whitespace=fix"
+      t8005: Nobody writes Russian in shift_jis
+      GIT 1.6.4-rc3
+
+Linus Torvalds (3):
+      git branch: fix performance problem
+      git branch: avoid unnecessary object lookups
+      git branch: clean up detached branch handling
+
+Matthias Andree (1):
+      Fix export_marks() error handling.
+
+Nanako Shiraishi (1):
+      Documentation/config.txt: a variable can be defined on the section header line
+
+Robert Zeh (1):
+      git svn: add gc command
+
+Thomas Rast (1):
+      Disable asciidoc 8.4.1+ semantics for `{plus}` and friends
+
+
+Version v1.6.4-rc2; changes since v1.6.4-rc1:
+---------------------------------------------
+
+Brandon Casey (4):
+      refs.c: release file descriptor on error return
+      sha1_name.c: avoid unnecessary strbuf_release
+      configure.ac: rework/fix the NEEDS_RESOLV and NEEDS_LIBGEN tests
+      configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing
+
+Eric Wong (2):
+      git svn: rename tests that had conflicting numbers
+      git svn: fix reparenting when ugly http(s) URLs are used
+
+Junio C Hamano (5):
+      checkout -f: deal with a D/F conflict entry correctly
+      push: do not give big warning when no preference is configured
+      Updates to draft release notes to 1.6.4
+      combine-diff.c: fix performance problem when folding common deleted lines
+      diff --cc: a lost line at the beginning of the file is shown incorrectly
+
+Martin Koegler (1):
+      git stash: modernize use of "dashed" git-XXX calls
+
+Michael J Gruber (1):
+      t4202-log.sh: Test git log --no-walk sort order
+
+Mike Ralphson (1):
+      cvsexportcommit: reorder tests to quiet intermittent failure
+
+Pierre Habouzit (4):
+      janitor: use NULL and not 0 for pointers.
+      refactor: use bitsizeof() instead of 8 * sizeof()
+      janitor: add DIV_ROUND_UP and use it.
+      janitor: useless checks before free
+
+SZEDER Gábor (1):
+      Trailing whitespace and no newline fix
+
+Yann Dirson (2):
+      List send-email config options in config.txt.
+      Improve doc for format-patch threading options.
+
+
+Version v1.6.4-rc1; changes since v1.6.4-rc0:
+---------------------------------------------
+
+Andreas Ericsson (1):
+      mailinfo: Remove only one set of square brackets
+
+Brandon Casey (5):
+      unpack-trees.c: work around run-time array initialization flaw on IRIX 6.5
+      git-compat-util.h: adjust for SGI IRIX 6.5
+      Makefile: add NEEDS_LIBGEN to optionally add -lgen to compile arguments
+      Makefile: add section for SGI IRIX 6.5
+      Makefile: update IRIX64 section
+
+Eric Wong (1):
+      git svn: allow uppercase UUIDs from SVN
+
+Johan Herland (1):
+      quickfetch(): Prevent overflow of the rev-list command line
+
+Junio C Hamano (2):
+      Makefile: keep "git" when bindir is execdir
+      Revert "mailinfo: Remove only one set of square brackets"
+
+Linus Torvalds (10):
+      Add 'fill_directory()' helper function for directory traversal
+      Simplify read_directory[_recursive]() arguments
+      Avoid doing extra 'lstat()'s for d_type if we have an up-to-date cache entry
+      Avoid using 'lstat()' to figure out directories
+      Prepare symlink caching for thread-safety
+      Export thread-safe version of 'has_symlink_leading_path()'
+      Make index preloading check the whole path to the file
+      Make 'git show' more useful
+      Improve on the 'invalid object' error message at commit time
+      Fix extraneous lstat's in 'git checkout -f'
+
+Mattias Nissler (2):
+      git-svn: Always duplicate paths returned from get_log
+      git-svn: Fix branch detection when repository root is inaccessible
+
+SZEDER Gábor (2):
+      Document 'git (rev-list|log) --merges'
+      bash: add '--merges' to common 'git log' options
+
+Wincent Colaiuta (1):
+      gitweb: update Git homepage URL
+
+
+Version v1.6.4-rc0; changes since v1.6.3.4:
+-------------------------------------------
+
+Alex Bennée (1):
+      Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch
+
+Alex Riesen (3):
+      Quote LF in urls git fetch saves in FETCH_HEAD
+      Use UTF-8 instead of utf8 for backward compatibility
+      Improve the naming of guessed target repository for git clone
+
+Alex Vandiver (3):
+      git-svn: Fix for svn paths removed > log-window-size revisions ago
+      git-svn: Correctly report max revision when following deleted paths
+      git-svn: Set svn.authorsfile if it is passed to git svn clone
+
+Allan Caffee (1):
+      graph API: Use horizontal lines for more compact graphs
+
+Andreas Ericsson (1):
+      fetch: Strip usernames from url's before storing them
+
+Ben Jackson (3):
+      Add 'git svn help [cmd]' which works outside a repo.
+      git-svn: speed up find_rev_before
+      Add 'git svn reset' to unwind 'git svn fetch'
+
+Benjamin Kramer (1):
+      imap-send: add support for IPv6
+
+Bert Wesarg (1):
+      builtin-remote: (get_one_entry): use strbuf
+
+Björn Steinbrink (1):
+      git-apply(1): Clarify that one can select where to apply the patch
+
+Brandon Casey (23):
+      t3900: use ancient iconv names for backward compatibility
+      Use 'UTF-8' rather than 'utf-8' everywhere for backward compatibility
+      builtin-mailinfo.c: compare character encodings case insensitively
+      builtin-mailinfo.c: use "ISO8859-1" instead of "latin1" as fallback encoding
+      t3901: avoid negation on right hand side of '|'
+      t3901: Use ISO8859-1 instead of ISO-8859-1 for backward compatibility
+      t9301: use ISO8859-1 rather than ISO-8859-1
+      t5100: use ancient encoding syntax for backwards compatibility
+      t8005: use more portable character encoding names
+      t8005: convert CP1251 character set to ISO8859-5
+      t8005: fix typo, it's ISO-8859-5, not KOI8-R
+      Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall
+      Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments
+      On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec
+      git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris
+      Makefile: define __sun__ on SunOS
+      Makefile: add section for SunOS 5.7
+      git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8
+      git-send-email.perl: improve detection of MIME encoded-words
+      send-email: use UTF-8 rather than utf-8 for consistency
+      Makefile: Solaris needs HAVE_ALLOCA_H for alloca()
+      t/t9001-send-email.sh: ensure generated script is executed with $SHELL_PATH
+      git.c: avoid allocating one-too-many elements for new argv array
+
+Christian Couder (30):
+      rev-list: make "estimate_bisect_steps" non static
+      rev-list: refactor printing bisect vars
+      bisect: move common bisect functionality to "bisect_common"
+      bisect--helper: add "--next-exit" to output bisect results
+      bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
+      bisect--helper: remove "--next-vars" option as it is now useless
+      rev-list: remove stringed output flag from "show_bisect_vars"
+      rev-parse: add --sq-quote to shell quote arguments
+      bisect: use "git rev-parse --sq-quote" instead of a custom "sq" function
+      am: simplify "sq" function by using "git rev-parse --sq-quote"
+      bisect: use "sha1_array" to store skipped revisions
+      bisect: implement "rev_argv_push" to fill an argv with revs
+      bisect: store good revisions in a "sha1_array"
+      bisect: use new "struct argv_array" to prepare argv for "setup_revisions"
+      bisect: remove too much function nesting
+      bisect: make skipped array functions more generic
+      bisect: automatically sort sha1_array if needed when looking it up
+      bisect: implement the "check_merge_bases" function
+      bisect: add "check_good_are_ancestors_of_bad" function
+      bisect: make "git bisect" use new "--next-all" bisect-helper function
+      bisect: rework some rev related functions to make them more reusable
+      commit: add function to unparse a commit and its parents
+      bisect: check ancestors without forking a "git rev-list" process
+      bisect: drop unparse_commit() and use clear_commit_marks()
+      bisect: display first bad commit without forking a new process
+      bisect: add parameters to "filter_skipped"
+      bisect: when skipping, choose a commit away from a skipped commit
+      t6030: test skipping away from an already skipped commit
+      bisect: use a PRNG with a bias when skipping away from untestable commits
+      Documentation: remove warning saying that "git bisect skip" may slow bisection
+
+Christian Stimming (1):
+      gitk: Update German translation.
+
+Clemens Buchacher (5):
+      http-push: reuse existing is_null_ref
+      match_refs: search ref list tail internally
+      test-lib: fail if invalid options are passed
+      test-lib: allow exit trap to be used for cleanup by tests
+      test-lib: fix http exit codes
+
+Dan McGee (1):
+      Unify signedness in hashing calls
+
+Daniel Trstenjak (1):
+      Show presence of stashed changes in bash prompt.
+
+David Aguilar (5):
+      mergetool--lib: specialize diff options for emerge and ecmerge
+      mergetool--lib: add support for araxis merge
+      compat: add a mkstemps() compatibility function
+      compat: add a basename() compatibility function
+      diff: generate pretty filenames in prep_temp_blob()
+
+Dirk Süsserott (1):
+      gitk: Add option 'Simple history' to the options menu
+
+Edward Z. Yang (1):
+      connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows
+
+Elijah Newren (1):
+      gitk: Make more options easily accessible from Edit View dialog
+
+Eric W. Biederman (1):
+      git-send-email: Handle quotes when parsing .mailrc files
+
+Eric Wong (4):
+      git-svn: refuse to dcommit non-UTF-8 messages
+      git-svn: convert globs to regexps for branch destinations
+      t9138: remove stray dot in test which broke bash
+      Allow the Unix epoch to be a valid commit date
+
+Eygene Ryabinkin (1):
+      git-svn testsuite: use standard configuration for Subversion tools
+
+Felipe Contreras (2):
+      Change prettify_ref to prettify_refname
+      Prettify log decorations even more
+
+Frank Lichtenheld (2):
+      Git.pm: Set GIT_WORK_TREE if we set GIT_DIR
+      Git.pm: Always set Repository to absolute path if autodetecting
+
+Giuseppe Bilotta (11):
+      git-am foreign patch support: introduce patch_format
+      git-am foreign patch support: autodetect some patch formats
+      git-am foreign patch support: StGIT support
+      git-am: refactor 'cleaning up and aborting'
+      gitweb: refactor author name insertion
+      gitweb: uniform author info for commit and commitdiff
+      gitweb: use git_print_authorship_rows in 'tag' view too
+      gitweb: (gr)avatar support
+      gitweb: gravatar url cache
+      gitweb: picon avatar provider
+      gitweb: add empty alt text to avatar img
+
+Heiko Voigt (2):
+      Extend sample update hook, disable modifying of existing tags
+      Extend sample pre-commit hook to check for non ascii filenames
+
+Hunter, D. Seth (1):
+      http-push: fix xml_entities() string parsing overrun
+
+Jakub Narębski (10):
+      gitweb: Remove function prototypes (cleanup)
+      gitweb: Do not use bareword filehandles
+      gitweb: Always use three argument form of open
+      gitweb: Always use three argument form of open
+      gitweb: Use block form of map/grep in a few cases more
+      gitweb: Replace wrongly added tabs with spaces
+      gitweb: Use capturing parentheses only when you intend to capture
+      gitweb: Simplify snapshot format detection logic in evaluate_path_info
+      gitweb: Remove unused $hash_base parameter from normalize_link_target
+      gitweb: Sanitize title attribute in format_subject_html
+
+Jeff King (7):
+      parseopt: add OPT_NEGBIT
+      convert bare readlink to strbuf_readlink
+      git-add: no need for -f when resolving a conflict in already tracked path
+      Makefile: refactor regex compat support
+      Makefile: use compat regex on Solaris
+      log-tree: fix confusing comment
+      Makefile: install 'git' in execdir
+
+Jim Meyering (2):
+      post-receive-email: hooks.showrev: show how to include both web link and patch
+      avoid NULL dereference on failed malloc
+
+Johan Herland (2):
+      Rename submodule.<name>.rebase to submodule.<name>.update
+      git-submodule: add support for --merge.
+
+Johannes Schindelin (12):
+      git-add: introduce --edit (to edit the diff vs. the index)
+      t3702: fix reliance on SHELL_PATH being '/bin/sh'
+      MinGW: the path separator to split GITPERLLIB is ';' on Win32
+      MinGW: use POSIX signature of waitpid()
+      MinGW: Add a simple getpass()
+      MinGW: Fix compiler warning in merge-recursive
+      MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore
+      Quiet make: do not leave Windows behind
+      Work around a regression in Windows 7, causing erase_in_line() to crash sometimes
+      test-chmtime: work around Windows limitation
+      MinGW: fix warning about implicit declaration of _getch()
+      Fix warnings in nedmalloc when compiling with GCC 4.4.0
+
+Johannes Sixt (10):
+      gitk: Use --textconv to generate diff text
+      Simplify some instances of run_command() by using run_command_v_opt().
+      Simplify some 'fprintf(stderr); return -1;' by using 'return error()'
+      Fix typo in nedmalloc warning fix
+      compat/ has subdirectories: do not omit them in 'make clean'
+      daemon: send stderr of service programs to the syslog
+      upload-pack: squelch progress indicator if client cannot see it
+      receive-pack: do not send error details to the client
+      git-mv: fix directory separator treatment on Windows
+      MinGW: truncate exit()'s argument to lowest 8 bits
+
+Josh Micich (3):
+      mktree --missing: updated usage message and man page
+      mktree --batch: build more than one tree object
+      mktree: validate entry type in input
+
+Junio C Hamano (22):
+      Start 1.6.4 development
+      build-in git-mktree
+      mktree: use parse-options
+      builtin-mktree.c: use a helper function to handle one line of input
+      mktree: do not barf on a submodule commit
+      t1010: add mktree test
+      mktree --missing: allow missing objects
+      t3900: ISO-2022-JP has more than one popular variants
+      write-tree --ignore-cache-tree
+      Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6
+      OpenSolaris 200811 (SunOS 5.11) does not want OLD_ICONV
+      cache-tree.c::cache_tree_find(): simplify internal API
+      t4007: modernize the style
+      Optimize "diff-index --cached" using cache-tree
+      Avoid "diff-index --cached" optimization under --find-copies-harder
+      Update draft release notes to 1.6.4
+      completion: fix PS1 display during an AM on detached HEAD
+      Documentation/git.txt: update links to release notes
+      Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH
+      Makefile: test-parse-options depends on parse-options.h
+      Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin
+      die_errno(): double % in strerror() output just in case
+
+Kjetil Barvik (1):
+      symlinks.c: small style cleanup
+
+Larry D'Anna (1):
+      add --porcelain option to git-push
+
+Linus Torvalds (3):
+      Clean up and simplify rev_compare_tree()
+      Fix various sparse warnings in the git source code
+      git log: add '--merges' flag to match '--no-merges'
+
+Marc Branchaud (3):
+      git svn: Support multiple branch and tag paths in the svn repository.
+      git svn: cleanup t9138-multiple-branches
+      git svn: Doc update for multiple branch and tag paths
+
+Marius Storm-Olsen (2):
+      MinGW readdir reimplementation to support d_type
+      Add custom memory allocator to MinGW and MacOS builds
+
+Mark Lodato (3):
+      git-svn: add --authors-prog option
+      http.c: prompt for SSL client certificate password
+      http.c: add http.sslCertPasswordProtected option
+
+Markus Heidelberg (10):
+      show-branch: color the commit status signs
+      bash completion: show-branch color support
+      diff: do not color --stat output like patch context
+      gitk: Allow diff view without context lines
+      add a test for git-send-email for non-threaded mails
+      send-email: fix non-threaded mails
+      doc/send-email: clarify the behavior of --in-reply-to with --no-thread
+      add a test for git-send-email for threaded mails without chain-reply-to
+      send-email: fix threaded mails without chain-reply-to
+      send-email: fix a typo in a comment
+
+Martin Renold (1):
+      Remove filename from conflict markers
+
+Michael J Gruber (9):
+      Documentation: clarify / requirement in 'git check-ref-format'
+      Test tracking of non-commit upstreams
+      Fix behavior with non-commit upstream references
+      Allow push and fetch urls to be different
+      t5516: Check pushurl config setting
+      technical/api-remote: Describe new struct remote member pushurl
+      git-repack.txt: Clarify implications of -a for dumb protocols
+      builtin-remote: Show push urls as well
+      builtin-remote: Make "remote -v" display push urls
+
+Michael S. Tsirkin (1):
+      Add --reference option to git submodule.
+
+Michael Witten (6):
+      Docs: send-email: Put options back into alphabetical order
+      Docs: send-email: Refer to CONFIGURATION section for sendemail.multiedit
+      Docs: send-email: --smtp-server-port can take symbolic ports
+      send-email: Handle "GIT:" rather than "GIT: " during --compose
+      send-email: 'References:' should only reference what is sent
+      send-email: Remove superfluous `my $editor = ...'
+
+Michal Marek (1):
+      apply: handle filenames with double slashes better
+
+Michele Ballabio (1):
+      gitk: Add another string to translation
+
+Mike Hommey (7):
+      Don't expect verify_pack() callers to set pack_size
+      transport.c::get_refs_via_curl(): do not leak refs_url
+      http.c: new functions for the http API
+      transport.c::get_refs_via_curl(): use the new http API
+      http.c::http_fetch_ref(): use the new http API
+      http-push.c::remote_exists(): use the new http API
+      http-push.c::fetch_symref(): use the new http API
+
+Nguyễn Thái Ngọc Duy (3):
+      doc/git-rebase.txt: remove mention of multiple strategies
+      Terminate argv with NULL before calling setup_revisions()
+      t/t3400-rebase.sh: add more tests to help migrating git-rebase.sh to C
+
+Nick Edelen (1):
+      diff-tree -r -t: include added/removed directories in the output
+
+Nick Stokoe (3):
+      git-cvsexportcommit can't commit files which have been removed from CVS
+      Remove archaic use of regex capture \1 in favour of $1
+      Avoid generating a warning if $fullname{$file} is undefined
+
+Paolo Bonzini (1):
+      Test cccmd in t9001-send-email.sh and fix some bugs
+
+Pat Thoyts (2):
+      gitk: Handle msysGit version during version comparisons
+      git: browsing paths with spaces when using the start command
+
+Paul Mackerras (1):
+      gitk: Check git version before using --textconv flag
+
+Peter Harris (1):
+      MinGW: Scan for \r in addition to \n when reading shbang lines
+
+Peter Hutterer (1):
+      git-submodule: add support for --rebase.
+
+Pierre Habouzit (1):
+      parse-options: add parse_options_check to validate option specs.
+
+Ralf Wildenhues (1):
+      configure: test whether -lresolv is needed
+
+René Scharfe (13):
+      parseopt: add OPT_NEGBIT
+      parseopt: add OPT_NUMBER_CALLBACK
+      parseopt: add PARSE_OPT_NODASH
+      grep: remove global variable builtin_grep
+      grep: use parseopt
+      grep: make callback functions static
+      userdiff: add xdiff_clear_find_func()
+      grep: move context hunk mark handling into show_line()
+      grep: print context hunk marks between files
+      grep: handle pre context lines on demand
+      grep: add option -p/--show-function
+      grep -p: support user defined regular expressions
+      grep: simplify -p output
+
+Robin Rosenberg (1):
+      Disallow '\' in ref names
+
+SZEDER Gábor (3):
+      bash: remove always true if statement from __git_ps1()
+      Documentation: mention 'git stash pop --index' option explicitly
+      bash: add support for 'git stash pop --index' option
+
+Santi Béjar (3):
+      parse-remote: function to get the tracking branch to be merge
+      parse-remote: support default reflist in get_remote_merge_branch
+      parse-remote: remove unused functions
+
+Sitaram Chamarty (1):
+      allow -t abbreviation for --track in git branch
+
+Steffen Prohaska (1):
+      MinGW: Teach Makefile to detect msysgit and apply specific settings
+
+Stephen Boyd (22):
+      bash completion: complete variable names for "git config" with options
+      format-patch: migrate to parse-options API
+      parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's
+      show-branch: migrate to parse-options API
+      parse-opts: prepare for OPT_FILENAME
+      parse-opts: add OPT_FILENAME and transition builtins
+      t5500: Modernize test style
+      t9120: don't expect failure with SVN_HTTPD_PORT unset
+      config.txt: document add.ignore-errors
+      git-show-branch.txt: document --date-order option
+      parse-options: make OPT_INTEGER's argh explicit
+      parse-options: simplify usage argh handling
+      show-branch: don't use LASTARG_DEFAULT with OPTARG
+      t4150: test applying with a newline in subject
+      am: suppress apply errors when using 3-way
+      git-sh-setup: introduce say() for quiet options
+      submodule, repack: migrate to git-sh-setup's say()
+      am, rebase: teach quiet option
+      stash: teach quiet option
+      show-ref: migrate to parse-options
+      completion: add missing config variables
+      completion: __git_config_get_set_variables() handle values with spaces
+
+Tay Ray Chuan (15):
+      t5540-http-push: test fetching of loose objects
+      t5540-http-push: test fetching of packed objects
+      http-push: send out fetch requests on queue
+      http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"
+      t5550-http-fetch: test fetching of packed objects
+      http-push, http-walker: style fixes
+      http-walker: verify remote packs
+      http*: copy string returned by sha1_to_hex
+      http-push: do not SEGV after fetching a bad pack idx file
+      http*: move common variables and macros to http.[ch]
+      http: create function end_url_with_slash
+      http*: add http_get_info_packs
+      http: use new http API in fetch_index()
+      http*: add helper methods for fetching packs
+      http*: add helper methods for fetching objects (loose)
+
+Thomas Rast (5):
+      Documentation: teach stash/pop workflow instead of stash/apply
+      git-svn: let 'dcommit $rev' work on $rev instead of HEAD
+      Introduce die_errno() that appends strerror(errno) to die()
+      Convert existing die(..., strerror(errno)) to die_errno()
+      Use die_errno() instead of die() when checking syscalls
+
+Todd Zullinger (1):
+      completion: Add --full-diff to log options
+
+Trent Piepho (1):
+      send-email: Add config option for sender address
+
+Ulrich Dangel (1):
+      git-svn: Canonicalize svn urls to prevent libsvn assertion
+
+Uwe Kleine-König (2):
+      more tests for git rev-parse --parse-opt
+      parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse
+
+Yann Dirson (4):
+      git-svn.txt: stop using dash-form of commands.
+      git-svn.txt: make formatting more consistent.
+      git-svn.txt: fix fetch flags incorrectly documented as init flags.
+      git-svn.txt: fix description of fetch flags accepted by clone.
+
+
+Version v1.6.3.4; changes since v1.6.3.3:
+-----------------------------------------
+
+Brandon Casey (2):
+      refs.c: release file descriptor on error return
+      sha1_name.c: avoid unnecessary strbuf_release
+
+Chris Frey (1):
+      git-remote: fix missing .uploadpack usage for show command
+
+Clemens Buchacher (1):
+      fetch: do not create ref from empty name
+
+Giuseppe Bilotta (1):
+      gitweb/README: fix AliasMatch in example
+
+Johannes Sixt (2):
+      t3700-add: add a POSIXPERM prerequisite to a new test
+      Makefile: git.o depends on library headers
+
+Junio C Hamano (9):
+      request-pull: really disable pager
+      checkout -f: deal with a D/F conflict entry correctly
+      combine-diff.c: fix performance problem when folding common deleted lines
+      diff --cc: a lost line at the beginning of the file is shown incorrectly
+      do_one_ref(): null_sha1 check is not about broken ref
+      SunOS grep does not understand -C<n> nor -e
+      Fix severe breakage in "git-apply --whitespace=fix"
+      t8005: Nobody writes Russian in shift_jis
+      GIT 1.6.3.4
+
+Linus Torvalds (3):
+      git branch: fix performance problem
+      git branch: avoid unnecessary object lookups
+      git branch: clean up detached branch handling
+
+Matthias Andree (1):
+      Fix export_marks() error handling.
+
+Michal Marek (1):
+      request-pull: really really disable pager
+
+Miklos Vajna (1):
+      git-submodule documentation: fix foreach example
+
+René Scharfe (1):
+      attr: plug minor memory leak
+
+Roel Kluin (1):
+      fread does not return negative on error
+
+SZEDER Gábor (1):
+      Trailing whitespace and no newline fix
+
+Sitaram Chamarty (1):
+      Documentation: update description of shell aliases
+
+Stephen Boyd (2):
+      add: allow configurations to be overriden by command line
+      config.txt: document add.ignore-errors
+
+Thadeu Lima de Souza Cascardo (1):
+      Makes some cleanup/review in gittutorial
+
+Thomas Rast (2):
+      Test git archive --remote
+      Test grep --and/--or/--not
+
+Tom Grennan (1):
+      request-pull: allow ls-remote to notice remote.$nickname.uploadpack
+
+
+Version v1.6.3.3; changes since v1.6.3.2:
+-----------------------------------------
+
+Anders Kaseorg (1):
+      for-each-ref: Do not lookup objects when they will not be used
+
+Clemens Buchacher (1):
+      refuse to merge during a merge
+
+Jim Meyering (1):
+      use xstrdup, not strdup in ll-merge.c
+
+Johannes Schindelin (1):
+      import-tars: support symlinks
+
+Johannes Sixt (2):
+      fetch-pack: close output channel after sideband demultiplexer terminates
+      diff.c: plug a memory leak in an error path
+
+Junio C Hamano (3):
+      t3505: fix abuse of test_expect_code
+      attribute: whitespace set to true detects all errors known to git
+      GIT 1.6.3.3
+
+Linus Torvalds (1):
+      Fix big left-shifts of unsigned char
+
+Marco Nelissen (1):
+      fix handling of iconv configuration options
+
+Mark Lodato (1):
+      http.c: fix compiling with libcurl 7.9.2
+
+Michael J Gruber (1):
+      builtin-remote: Make "remote show" display all urls
+
+Miklos Vajna (1):
+      git-svn documentation: fix typo in 'rebase vs. pull/merge' section
+
+Nanako Shiraishi (1):
+      .gitattributes: CR at the end of the line is an error
+
+Paolo Bonzini (2):
+      Documentation: git-send-mail can take rev-list arg to drive format-patch
+      avoid exponential regex match for java and objc function names
+
+René Scharfe (1):
+      upload-archive: fix infinite loop on Cygwin
+
+Shawn O. Pearce (1):
+      daemon: Strictly parse the "extra arg" part of the command
+
+Stephen Boyd (3):
+      git-rerere.txt: grammatical fixups and cleanups
+      pull, rebase: simplify to use die()
+      git-show-ref.txt: remove word and make consistent
+
+Tay Ray Chuan (1):
+      http*: cleanup slot->local after fclose
+
+Thomas Rast (1):
+      Documentation: refer to gitworkflows(7) from tutorial and git(1)
+
+Uwe Kleine-König (1):
+      rebase--interactive: remote stray closing parenthesis
+
+
+Version v1.6.3.2; changes since v1.6.3.1:
+-----------------------------------------
+
+Alex Riesen (7):
+      Introduce an unlink(2) wrapper which gives warning if unlink failed
+      replace direct calls to unlink(2) with unlink_or_warn
+      print unlink(2) errno in copy_or_link_directory
+      Clarify kind of conflict in merge-one-file helper
+      ls-tree manpage: use "unless" instead of "when ... is not"
+      ls-tree manpage: output of ls-tree is compatible with update-index
+      http-push.c::remove_locks(): fix use after free
+
+Charles Bailey (2):
+      t6023: merge-file fails to output anything for a degenerate merge
+      Change xdl_merge to generate output even for null merges
+
+Clemens Buchacher (1):
+      fix segfault showing an empty remote
+
+Dan McGee (1):
+      Fix type-punning issues
+
+Daniel Cordero (1):
+      builtin-checkout: Don't tell user that HEAD has moved before it has
+
+Dave Olszewski (1):
+      merge-recursive: never leave index unmerged while recursing
+
+Giuseppe Bilotta (1):
+      completion: use git rev-parse to detect bare repos
+
+Jeff King (6):
+      fix GIT_TRACE segfault with shell-quoted aliases
+      add: don't complain when adding empty project root
+      for-each-ref: fix segfault in copy_email
+      lock_ref: inform callers of unavailable ref
+      fetch: report ref storage DF errors more accurately
+      fix cat-file usage message and documentation
+
+Jim Meyering (2):
+      format-patch let -k override a config-specified format.numbered
+      pre-commit.sample: don't print incidental SHA1
+
+Johannes Schindelin (2):
+      Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile
+      Cope better with a _lot_ of packs
+
+Johannes Sixt (1):
+      t3701: ensure correctly set up repository after skipped tests
+
+Junio C Hamano (8):
+      Revert "git-add--interactive: remove hunk coalescing"
+      completion: fix PS1 display during a merge on detached HEAD
+      completion: simplify "current branch" in __git_ps1()
+      completion: enhance "current branch" display
+      Prepare for 1.6.3.2
+      Update draft release notes for 1.6.3.2
+      blame: correctly handle a path that used to be a directory
+      GIT 1.6.3.2
+
+Linus Torvalds (3):
+      Avoid unnecessary 'lstat()' calls in 'get_stat_data()'
+      Teach 'git checkout' to preload the index contents
+      dir.c: clean up handling of 'path' parameter in read_directory_recursive()
+
+Matt Graham (1):
+      Splitting a hunk that adds a line at the top fails in "add -p"
+
+Michael J Gruber (1):
+      merge-options.txt: Clarify merge --squash
+
+Nanako Shiraishi (1):
+      test: checkout shouldn't say that HEAD has moved if it didn't
+
+Nicolas Pitre (1):
+      allow OFS_DELTA objects during a push
+
+René Scharfe (4):
+      grep: fix word-regexp colouring
+      grep: fix word-regexp at the beginning of lines
+      grep: fix colouring of matches with zero length
+      grep: fix empty word-regexp matches
+
+Stephen Boyd (6):
+      api-parse-options.txt: use 'func' instead of 'funct'
+      tests: Add tests for missing format-patch long options
+      completion: add missing options to show-branch and show
+      show-branch: Fix die message in parse_reflog_param()
+      commit: -F overrides -t
+      apply, fmt-merge-msg: use relative filenames
+
+Thomas Rast (2):
+      Documentation: teach stash/pop workflow instead of stash/apply
+      add -i: do not dump patch during application
+
+Tony Kemp (1):
+      Turn on USE_ST_TIMESPEC for OpenBSD
+
+
+Version v1.6.3.1; changes since v1.6.3:
+---------------------------------------
+
+Alex Riesen (1):
+      Clarify kind of conflict in merge-one-file helper
+
+Alexander Potashev (1):
+      Documentation: cloning to empty directory is allowed
+
+Felipe Contreras (1):
+      git config: clarify --add and --get-color
+
+Junio C Hamano (4):
+      Start 1.6.3.1 maintenance series.
+      archive-tar.c: squelch a type mismatch warning
+      Revert "checkout branch: prime cache-tree fully"
+      GIT 1.6.3.1
+
+
+Version v1.6.3; changes since v1.6.3-rc4:
+-----------------------------------------
+
+Alex Riesen (1):
+      improve error message in config.c
+
+Allan Caffee (1):
+      dir.c: Fix two minor grammatical errors in comments
+
+Bernd Ahlers (1):
+      Work around BSD whose typeof(tv.tv_sec) != time_t
+
+Brandon Casey (7):
+      t4018-diff-funcname: add cpp xfuncname pattern to syntax test
+      t8005: use egrep when extended regular expressions are required
+      t4118: add missing '&&'
+      t4118: avoid sed invocation on file without terminating newline
+      t/annotate-tests.sh: avoid passing a non-newline terminated file to sed
+      t4200: remove two unnecessary lines
+      t4200: convert sed expression which operates on non-text file to perl
+
+Junio C Hamano (4):
+      GIT 1.6.1.4
+      GIT 1.6.2.5
+      git-clean doc: the command only affects paths under $(cwd)
+      GIT 1.6.3
+
+Nguyễn Thái Ngọc Duy (1):
+      t4029: use sh instead of bash
+
+Nicolas Pitre (1):
+      honor repack.usedeltabaseoffset when fetching packs
+
+Robin H. Johnson (1):
+      git-svn: fix a sloppy Getopt::Long usage
+
+Stephen Boyd (8):
+      completion: add missing configuration variables to _git_config()
+      completion: add {gui,diff,merge}tool, man, and pager config variables
+      completion: complete values for help.format
+      completion: complete values for log.date
+      completion: complete values for send-email
+      git-am.txt: add an 'a', say what 'it' is, simplify a sentence
+      git-am.txt: Use date or value instead of time or timestamp
+      git-am.txt: reword extra headers in message body
+
+
+Version v1.6.3-rc4; changes since v1.6.3-rc3:
+---------------------------------------------
+
+Alex Riesen (3):
+      git-gui: Update Russian translation
+      improve error message in config.c
+      gitk: Add Russian translation
+
+Alexander Gavrilov (3):
+      git-gui: Fix post-commit status with subject in non-locale encoding
+      git-gui: Avoid an infinite rescan loop in handle_empty_diff.
+      git-gui: Support more git version notations.
+
+Allan Caffee (2):
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Benjamin Kramer (1):
+      daemon.c: fix segfault on OS X
+
+Christian Stimming (1):
+      gitk: Mark forgotten string for translation
+
+Daniel A. Steffen (2):
+      gitk: Fixes for Mac OS X TkAqua
+      git-gui: Fixes for Mac OS X TkAqua
+
+Eric Blake (2):
+      Makefile: installing git in cygwin 1.7.0
+      doc: consistently use ASCIIDOC_EXTRA
+
+Felipe Contreras (2):
+      git config: error when editing a repo config and not being in one
+      Fix a bunch of pointer declarations (codestyle)
+
+Ferry Huberts (1):
+      git-gui: Ensure consistent usage of mergetool.keepBackup
+
+Giuseppe Bilotta (1):
+      gitk: Provide a window icon if possible
+
+Jeff King (1):
+      Makefile: fix NO_PERL bug with gitweb
+
+Jens Lehmann (4):
+      git-gui: Fix merge conflict display error when filename contains spaces
+      git-gui: When calling post-commit hook wrong variable was cleared.
+      git-gui: run post-checkout hook on checkout
+      git-gui: run post-checkout hook after clone
+
+Joerg Bornemann (1):
+      git-gui: fix use of undeclared variable diff_empty_count
+
+Johannes Schindelin (2):
+      t5701: do not get stuck in empty-push/
+      Rename core.unreliableHardlinks to core.createObject
+
+Johannes Sixt (1):
+      prune-packed: advanced progress even for non-existing fan-out directories
+
+Junio C Hamano (3):
+      diff -c -p: do not die on submodules
+      merge-recursive: do not die on a conflicting submodule
+      GIT 1.6.3-rc4
+
+Linus Torvalds (1):
+      grep: fix segfault when "git grep '('" is given
+
+Mark Drago (1):
+      Add semicolon to curly brace group in main Makefile
+
+Markus Heidelberg (5):
+      git-gui: don't hide the Browse button when resizing the repo chooser
+      git-gui: fix deleting from the context menu with empty selection
+      git-gui: use `git --html-path` to get the location of installed HTML docs
+      git-gui (Win): make "Explore Working Copy" more robust
+      git-gui (Win): make starting via "Git GUI Here" on .git/ possible
+
+Michele Ballabio (2):
+      gitk: Mark some more strings for translation
+      gitk: Map KP_Divide to focus the search box
+
+Pat Thoyts (4):
+      gitk: Handle blobs containing a DOS end-of-file marker
+      gitk: Remember and restore the window state with the geometry
+      gitk: Handle external diff tool with spaces in the path
+      gitk: Avoid crash if closed while reading references
+
+Patrick Welche (1):
+      NetBSD compilation fix
+
+Paul Mackerras (4):
+      gitk: Add a way to mark a commit, plus a "find descendant" command
+      gitk: Add a command to compare two strings of commits
+      gitk: Make .gitk a hidden file under windows
+      gitk: Fix compare-commits function when we have local changes
+
+Phil Lawrence (1):
+      Append ampersand to "Target" of lnk files created by do_cygwin_shortcut
+
+René Scharfe (1):
+      ctype.c: fix typo in comment
+
+Sam Hocevar (2):
+      git-gui: various French translation fixes
+      git-gui: minor spelling fix and string factorisation.
+
+Sam Vilain (1):
+      SubmittingPatches: itemize and reflect upon well written changes
+
+Stephen Boyd (1):
+      gitk: Provide a 32x32 window icon based on the git logo
+
+Uwe Kleine-König (1):
+      parseopt: fix documentation for --keep-dashdash
+
+
+Version v1.6.3-rc3; changes since v1.6.3-rc2:
+---------------------------------------------
+
+Benjamin Kramer (1):
+      connect: replace inet_ntop with getnameinfo
+
+Brandon Casey (2):
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+      t7700-repack: repack -a now works properly, expect success from test
+
+Johannes Schindelin (1):
+      Add an option not to use link(src, dest) && unlink(src) when that is unreliable
+
+Linus Torvalds (1):
+      t4202: fix typo
+
+Nicolas Pitre (1):
+      progress bar: round to the nearest instead of truncating down
+
+Sitaram Chamarty (1):
+      Remove obsolete bug warning in man git-update-server-info
+
+Wesley J. Landaker (2):
+      Documentation: git-clean: fix minor grammatical errors
+      Documentation: git-clean: make description more readable
+
+
+Version v1.6.3-rc2; changes since v1.6.3-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Wait for git diff to finish in git difftool
+      Explain seemingly pointless use of system in difftool
+
+Allan Caffee (3):
+      t4202-log: extend test coverage of graphing
+      graph API: fix extra space during pre_commit_line state
+      graph API: fix a bug in the rendering of octopus merges
+
+Ben Jackson (1):
+      Work around ash "alternate value" expansion bug
+
+Bill Pemberton (1):
+      Add parsing of elm aliases to git-send-email
+
+Dan Loewenherz (1):
+      Convert to use quiet option when available
+
+Erik Faye-Lund (4):
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Frank Lichtenheld (1):
+      gitcvs-migration: Link to git-cvsimport documentation
+
+Holger Weiß (1):
+      gitweb: Fix snapshots requested via PATH_INFO
+
+Jeff King (2):
+      add-interactive: refactor mode hunk handling
+      t7800: respect NO_PERL
+
+Johan Herland (1):
+      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'
+
+Johannes Schindelin (1):
+      Fix off-by-one in read_tree_recursive
+
+Johannes Sixt (4):
+      Windows: Work around intermittent failures in mingw_rename
+      Windows: Skip fstat/lstat optimization in write_entry()
+      builtin-help: silently tolerate unknown keys
+      remote.c: do not trigger remote.<name>.<var> codepath for two-level names
+
+Junio C Hamano (9):
+      Speed up reflog pruning of unreachable commits
+      GIT 1.6.2.4
+      read-tree A B: do not corrupt cache-tree
+      Move prime_cache_tree() to cache-tree.c
+      read-tree -m A B: prime cache-tree from the switched-to tree
+      checkout branch: prime cache-tree fully
+      Revert "stat_tracking_info(): only count real commits"
+      Makefile: ignore perl/ subdirectory under NO_PERL
+      GIT 1.6.3-rc2
+
+Linus Torvalds (1):
+      Clean up reflog unreachability pruning decision
+
+Markus Heidelberg (1):
+      grep: don't support "grep.color"-like config options
+
+Matthieu Moy (3):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+      clone: add test for push on an empty clone.
+
+Michael J Gruber (2):
+      test-lib.sh: Help test_create_repo() find the templates dir
+      Fix more typos/spelling in comments
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      tests: make test-apply-criss-cross-rename more robust
+
+Mike Ralphson (3):
+      builtin-remote: fix typo in option description
+      Documentation: fix typos / spelling mistakes
+      Fix typos / spelling in comments
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins
+
+Stephen Boyd (8):
+      test-genrandom: Add newline to usage string
+      config.txt: add missing format.{subjectprefix,cc,attach} variables
+      Documentation: use lowercase for shallow and deep threading
+      git-show-branch.txt: cleanup example description
+      git-format-patch.txt: general rewordings and cleanups
+      config.txt: add missing 'the's and make words plural
+      config.txt: clarify sentences in the configuration and syntax sections
+      config.txt: Make configuration paragraph more consistent
+
+Wesley J. Landaker (2):
+      Documentation: git-svn: fix spurious bolding that mangles the output
+      Documentation: git-svn: fix a grammatical error without awkwardness
+
+Wincent Colaiuta (1):
+      git add -p: add missing "q" to patch prompt
+
+
+Version v1.6.3-rc1; changes since v1.6.3-rc0:
+---------------------------------------------
+
+Allan Caffee (1):
+      graph API: Added logic for colored edges
+
+Bert Wesarg (3):
+      shorten_unambiguous_ref(): add strict mode
+      for-each-ref: utilize core.warnAmbiguousRefs for :short-format
+      rev-parse: --abbrev-ref option to shorten ref name
+
+David Aguilar (11):
+      difftool: remove merge options for opendiff, tkdiff, kdiff3 and xxdiff
+      difftool: remove the backup file feature
+      difftool: use perl built-ins when testing for msys
+      difftool: add a -y shortcut for --no-prompt
+      difftool: move 'git-difftool' out of contrib
+      difftool: add various git-difftool tests
+      difftool: add support for a difftool.prompt config variable
+      bash completion: add git-difftool
+      mergetool: use $( ... ) instead of `backticks`
+      difftool/mergetool: refactor commands to use git-mergetool--lib
+      mergetool--lib: simplify API usage by removing more global variables
+
+Erik Broes (1):
+      git-shell: Add 'git-upload-archive' to allowed commands.
+
+Ferry Huberts (1):
+      Fix misspelled mergetool.keepBackup
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Jeff King (7):
+      doc: clarify --no-track option
+      doc: refer to tracking configuration as "upstream"
+      doc/checkout: refer to git-branch(1) as appropriate
+      doc/checkout: split checkout and branch creation in synopsis
+      docs/checkout: clarify what "non-branch" means
+      add-interactive: refactor mode hunk handling
+      doc/gitattributes: clarify location of config text
+
+Johannes Sixt (1):
+      t1301-shared-repo: fix forced modes test
+
+Junio C Hamano (4):
+      gitignore git-bisect--helper
+      unpack-trees: do not muck with attributes when we are not checking out
+      Describe fixes since 1.6.2.3
+      Update draft release notes to 1.6.3
+
+Linus Torvalds (3):
+      Allow users to un-configure rename detection
+      process_{tree,blob}: show objects without buffering
+      show_object(): push path_name() call further down
+
+Markus Heidelberg (5):
+      doc/merge-config: list ecmerge as a built-in merge tool
+      git-mergetool/difftool: make (g)vimdiff workable under Windows
+      git-mergetool: add new merge tool TortoiseMerge
+      doc/git-daemon: add missing arguments to options
+      doc/git-daemon: add missing arguments to max-connections option
+
+Matthieu Moy (2):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+
+Michael J Gruber (1):
+      remote.c: use shorten_unambiguous_ref
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      Documentation: boolean value may be given by on/off
+
+Nanako Shiraishi (1):
+      git-am: teach git-am to apply a patch to an unborn branch
+
+Nguyễn Thái Ngọc Duy (3):
+      get_local_heads(): do not return random pointer if there is no head
+      attr: add GIT_ATTR_INDEX "direction"
+      archive: do not read .gitattributes in working directory
+
+Paul Bolle (1):
+      imap-send: use correct configuration variable in documentation
+
+Pierre Habouzit (1):
+      hook/update: example of how to prevent branch creation
+
+René Scharfe (2):
+      archive tests: do not use .gitattributes in working directory
+      archive test: attributes
+
+Sebastian Pipping (1):
+      difftool/mergetool: add diffuse as merge and diff tool
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Ulrich Windl (1):
+      git-apply: fix option description
+
+
+Version v1.6.3-rc0; changes since v1.6.2.5:
+-------------------------------------------
+
+Alex Riesen (4):
+      disable post-checkout test on Cygwin
+      Produce a nicer output in case of sha1_object_info failures in ls-tree -l
+      Microoptimize strbuf_cmp
+      Improve error message about fetch into current branch
+
+Ali Gholami Rudi (2):
+      builtin-clone.c: make junk_pid static
+      builtin-clone.c: no need to strdup for setenv
+
+Amos King (2):
+      Do not name "repo" struct "remote" in push_http.c
+      http-push.c: use a faux remote to pass to http_init
+
+Arjen Laarhoven (2):
+      Clean up use of ANSI color sequences
+      builtin-branch.c: Rename branch category color names
+
+Arto Jonsson (1):
+      bash completion: add options for 'git fsck'
+
+Ben Jackson (2):
+      git-svn: Add per-svn-remote ignore-paths config
+      git-svn: Save init/clone --ignore-paths in config
+
+Ben Walton (8):
+      configure: ensure settings from user are also usable in the script
+      configure: reorganize flow of argument checks
+      configure: add macros to stash FLAG variables
+      configure: wrap some library tests with GIT_STASH_FLAGS
+      configure: asciidoc version test cleanup
+      configure: make iconv tests aware of user arguments
+      configure: rework pthread handling to allow for user defined flags
+      documentation: Makefile accounts for SHELL_PATH setting
+
+Benjamin Kramer (4):
+      Remove unused function scope local variables
+      Move local variables to narrower scopes
+      Remove unused assignments
+      Fix various dead stores found by the clang static analyzer
+
+Björn Steinbrink (1):
+      Mailmap: Allow empty email addresses to be mapped
+
+Boris Byk (1):
+      git-svn: speed up blame command
+
+Brandon Casey (1):
+      builtin-send-pack.c: avoid empty structure initialization
+
+Brian Gernhardt (2):
+      Create USE_ST_TIMESPEC and turn it on for Darwin
+      Makefile: Set compiler switch for USE_NSEC
+
+Carlos Manuel Duclos Vergara (1):
+      git-archive: add --output=<file> to send output to a file
+
+Carlos Rica (1):
+      config: test for --replace-all with one argument and fix documentation.
+
+Chris Johnsen (13):
+      git-push.txt: describe how to default to pushing only current branch
+      Documentation: remove extra quoting/emphasis around literal texts
+      Documentation/Makefile: make most operations "quiet"
+      Documentation/Makefile: break up texi pipeline
+      Documentation: move callouts.xsl to manpage-{base,normal}.xsl
+      Documentation: use parametrized manpage-base.xsl with manpage-{1.72,normal}.xsl
+      Documentation: rename docbook-xsl-172 attribute to git-asciidoc-no-roff
+      Documentation: move quieting params into manpage-base.xsl
+      Documentation: move "spurious .sp" code into manpage-base.xsl
+      Documentation: asciidoc.conf: always use <literallayout> for [blocktext]
+      Documentation: asciidoc.conf: fix verse block with block titles
+      Documentation: option to render literal text as bold for manpages
+      Documentation: use "spurious .sp" XSLT if DOCBOOK_SUPPRESS_SP is set
+
+Christian Couder (24):
+      rev-list: estimate number of bisection step left
+      log-tree: fix patch filename computation in "git format-patch"
+      quote: implement "sq_dequote_many" to unwrap many args in one string
+      quote: add "sq_dequote_to_argv" to put unwrapped args in an argv array
+      refs: add "for_each_ref_in" function to refactor "for_each_*_ref" functions
+      rev-list: make "bisect_list" variable local to "cmd_rev_list"
+      rev-list: move bisect related code into its own file
+      rev-list: move code to show bisect vars into its own function
+      rev-list: make "show_bisect_vars" non static
+      rev-list: pass "revs" to "show_bisect_vars"
+      sha1-lookup: add new "sha1_pos" function to efficiently lookup sha1
+      patch-ids: use the new generic "sha1_pos" function to lookup sha1
+      bisect: improve error message when branch checkout fails
+      rev-list: call new "filter_skip" function
+      bisect: use the new generic "sha1_pos" function to lookup sha1
+      bisect--helper: implement "git bisect--helper"
+      bisect: implement "read_bisect_paths" to read paths in "$GIT_DIR/BISECT_NAMES"
+      bisect: use "bisect--helper" and remove "filter_skipped" function
+      t6030: test bisecting with paths
+      rev-list: pass "int flags" as last argument of "show_bisect_vars"
+      bisect--helper: string output variables together with "&&"
+      list-objects: add "void *data" parameter to show functions
+      rev-list: remove last static vars used in "show_commit"
+      rev-list: add "int bisect_show_flags" in "struct rev_list_info"
+
+Dan McGee (1):
+      Update delta compression message to be less misleading
+
+Daniel Barkalow (8):
+      Make clone parse the default refspec with the normal code
+      Use a single function to match names against patterns
+      Use the matching function to generate the match results
+      Keep '*' in pattern refspecs
+      Support '*' in the middle of a refspec
+      Use a common function to get the pretty name of refs
+      Move push matching and reporting logic into transport.c
+      Include log_config module in apache.conf
+
+David Aguilar (1):
+      contrib/difftool: use a separate config namespace for difftool commands
+
+Deskin Miller (1):
+      add -i: revisit hunk on editor failure
+
+Elijah Newren (3):
+      git-filter-branch: avoid collisions with variables in eval'ed commands
+      Correct missing SP characters in grammar comment at top of fast-import.c
+      fast-export: Avoid dropping files from commits
+
+Emil Sit (1):
+      config.txt: Describe special 'none' handling in core.gitProxy.
+
+Eric Wong (1):
+      git-svn: fix ls-tree usage with dash-prefixed paths
+
+Erik Faye-Lund (5):
+      connect.c: remove a few globals by using git_config callback data
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Eugene Letuchy (1):
+      Make git blame's date output format configurable, like git log
+
+Felipe Contreras (14):
+      config: Add new option to open an editor.
+      git config: codestyle cleanups
+      git_config(): not having a per-repo config file is not an error
+      git config: trivial rename in preparation for parseopt
+      git config: reorganize get_color*
+      git config: reorganize to use parseopt
+      git config: don't allow multiple config file locations
+      git config: don't allow multiple variable types
+      git config: don't allow extra arguments for -e or -l.
+      git config: don't allow --get-color* and variable type
+      Add tests for git log --pretty, --format and --oneline.
+      user-manual: remove some git-foo usage
+      docbook: change css style
+      user-manual: the name of the hash function is SHA-1, not sha1
+
+Finn Arne Gangstad (7):
+      New config push.default to decide default behavior for push
+      Display warning for default git push with no push.default config
+      builtin-remote.c: Split out prune_remote as a separate function.
+      git remote update: New option --prune
+      git remote update: Report error for non-existing groups
+      remote: New function remote_is_configured()
+      git remote update: Fallback to remote if group does not exist
+
+Giuseppe Bilotta (1):
+      import-tars: separate author from committer
+
+Heiko Voigt (3):
+      Add warning about known issues to documentation of cvsimport
+      Cleanup warning about known issues in cvsimport documentation
+      Add configuration variable for sign-off to format-patch
+
+Janos Laube (1):
+      MinGW: implement mmap
+
+Jason Merrill (1):
+      git-svn: add fetch --parent option
+
+Jay Soffian (30):
+      builtin-branch: improve output when displaying remote branches
+      move duplicated get_local_heads() to remote.c
+      move duplicated ref_newer() to remote.c
+      move locate_head() to remote.c
+      remote: simplify guess_remote_head()
+      remote: make copy_ref() perform a deep copy
+      remote: let guess_remote_head() optionally return all matches
+      remote: make match_refs() copy src ref before assigning to peer_ref
+      remote: make match_refs() not short-circuit
+      string-list: new for_each_string_list() function
+      builtin-remote: refactor duplicated cleanup code
+      builtin-remote: remove unused code in get_ref_states
+      builtin-remote: rename variables and eliminate redundant function call
+      builtin-remote: make get_remote_ref_states() always populate states.tracked
+      builtin-remote: fix two inconsistencies in the output of "show <remote>"
+      builtin-remote: teach show to display remote HEAD
+      builtin-remote: add set-head subcommand
+      builtin-remote: new show output style
+      builtin-remote: new show output style for push refspecs
+      send-email: add --confirm option and configuration setting
+      bash completion: fix completion issues with fetch, pull, and push
+      bash completion: refactor --strategy completion
+      bash completion: teach fetch, pull, and push to complete their options
+      send-email: refactor and ensure prompting doesn't loop forever
+      send-email: add tests for refactored prompting
+      send-email: don't attempt to prompt if tty is closed
+      send-email: ask_default should apply to all emails, not just the first
+      send-email: correct two tests which were going interactive
+      send-email: ensure quoted addresses are rfc2047 encoded
+      send-email: fix nasty bug in ask() function
+
+Jeff King (26):
+      valgrind: ignore ldso and more libz errors
+      branch: clean up repeated strlen
+      add basic branch display tests
+      test scripts: refactor start_httpd helper
+      add basic http clone/fetch tests
+      refactor find_ref_by_name() to accept const list
+      remote: make guess_remote_head() use exact HEAD lookup if it is available
+      clone: run post-checkout hook when checking out
+      improve missing repository error message
+      config: set help text for --bool-or-int
+      t3000: use test_cmp instead of diff
+      ls-files: fix broken --no-empty-directory
+      ls-files: require worktree when --deleted is given
+      make oneline reflog dates more consistent with multiline format
+      remote: improve sorting of "configure for git push" list
+      Makefile: turn on USE_ST_TIMESPEC for FreeBSD
+      t0060: fix whitespace in "wc -c" invocation
+      tests: remove exit after test_done call
+      for-each-ref: refactor get_short_ref function
+      for-each-ref: refactor refname handling
+      for-each-ref: add "upstream" format field
+      make get_short_ref a public function
+      branch: show upstream branch when double verbose
+      Makefile: allow building without perl
+      tests: skip perl tests if NO_PERL is defined
+      add tests for remote groups
+
+Jens Lehmann (1):
+      githooks documentation: post-checkout hook is also called after clone
+
+Jeremy White (2):
+      Enable setting attach as the default in .gitconfig for git-format-patch.
+      imap.preformattedHTML to tell Thunderbird to send non-flowed text
+
+Johannes Schindelin (23):
+      Add valgrind support in test scripts
+      Valgrind support: check for more than just programming errors
+      test-lib.sh: optionally output to test-results/$TEST.out, too
+      t/Makefile: provide a 'valgrind' target
+      Add a script to coalesce the valgrind outputs
+      Tests: let --valgrind imply --verbose and --tee
+      test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
+      valgrind: do not require valgrind 3.4.0 or newer
+      Avoid segfault with 'git branch' when the HEAD is detached
+      Turn the flags in struct dir_struct into a single variable
+      git config: trivial cleanup for editor action
+      rebase -i: avoid 'git reset' when possible
+      MinGW: 64-bit file offsets
+      Brown paper bag fix for MinGW 64-bit stat
+      Add an (optional, since expensive) test for >2gb clones
+      MinGW: fix diff --no-index /dev/null ...
+      winansi: support ESC [ K (erase in line)
+      test: do not LoadModule log_config_module unconditionally
+      test-lib: write test results to test-results/<basename>-<pid>
+      gc --aggressive: make it really aggressive
+      t7300: fix clean up on Windows
+      Guard a few Makefile variables against user environments
+      git-svn: always initialize with core.autocrlf=false
+
+Johannes Sixt (30):
+      recv_sideband: Bands #2 and #3 always go to stderr
+      test-suite: Make test script numbers unique
+      t9400, t9401: Do not force hard-linked clone
+      test suite: Use 'say' to say something instead of 'test_expect_success'
+      Call 'say' outside test_expect_success
+      test-lib: Replace uses of $(expr ...) by POSIX shell features.
+      test-lib: Simplify test counting.
+      test-lib: Introduce test_chmod and use it instead of update-index --chmod
+      t2200, t7004: Avoid glob pattern that also matches files
+      t5300, t5302, t5303: Do not use /dev/zero
+      t5602: Work around path mangling on MSYS
+      test-lib: Work around incompatible sort and find on Windows
+      test-lib: Work around missing sum on Windows
+      Tests on Windows: $(pwd) must return Windows-style paths
+      t0050: Check whether git init detected symbolic link support correctly
+      test-lib: Infrastructure to test and check for prerequisites
+      t3600: Use test prerequisite tags
+      Skip tests that fail if the executable bit is not handled by the filesystem
+      t5302: Use prerequisite tags to skip 64-bit offset tests
+      t9100, t9129: Use prerequisite tags for UTF-8 tests
+      Use prerequisite tags to skip tests that depend on symbolic links
+      t0060: Fix tests on Windows
+      Skip tests that require a filesystem that obeys POSIX permissions
+      t3700: Skip a test with backslashes in pathspec
+      Use prerequisites to skip tests that need unzip
+      t7004: Use prerequisite tags to skip tests that need gpg
+      t5503: GIT_DEBUG_SEND_PACK is not supported on MinGW
+      MinGW: Quote arguments for subprocesses that contain a single-quote
+      t7005-editor: Use $SHELL_PATH in the editor scripts
+      t7502-commit: Skip SIGTERM test on Windows
+
+John Tapsell (4):
+      Modify description file to say what this file is
+      Google has renamed the imap folder
+      Improve error message for git-filter-branch
+      Documentation - More examples for git bisect
+
+Junio C Hamano (29):
+      git-blame: refactor code to emit "porcelain format" output
+      blame: show "previous" information in --porcelain/--incremental format
+      Make git-clone respect branch.autosetuprebase
+      Draft release notes: Carry forward the warning for behaviour changes
+      Update draft release notes to 1.6.3
+      builtin-remote.c: no "commented out" code, please
+      Not all systems use st_[cm]tim field for ns resolution file timestamp
+      grep: cast printf %.*s "precision" argument explicitly to int
+      http.c: style cleanups
+      Improve "git branch --tracking" output
+      http_init(): Fix config file parsing
+      http authentication via prompts
+      Update release notes to 1.6.3
+      http.c: CURLOPT_NETRC_OPTIONAL is not available in ancient versions of cURL
+      Read attributes from the index that is being checked out
+      Update draft release notes to 1.6.3
+      http tests: Darwin is not that special
+      Rename interpret/substitute nth_last_branch functions
+      strbuf_branchname(): a wrapper for branch name shorthands
+      check-ref-format --branch: give Porcelain a way to grok branch shorthand
+      Fix branch -m @{-1} newname
+      strbuf_check_branch_ref(): a helper to check a refname for a branch
+      check_ref_format(): tighten refname rules
+      Update draft release notes to 1.6.3
+      Speed up reflog pruning of unreachable commits
+      Update draft release notes to 1.6.3
+      sha1-lookup: fix up the assertion message
+      Update draft release notes to 1.6.3
+      GIT 1.6.3-rc0
+
+Keith Cascio (2):
+      Use DIFF_XDL_SET/DIFF_OPT_SET instead of raw bit-masking
+      Fix neglect of diff_setup()/diff_setup_done() symmetry.
+
+Kevin Ballard (1):
+      builtin-push.c: Fix typo: "anythig" -> "anything"
+
+Kevin McConnell (1):
+      Add --staged to bash completion for git diff
+
+Kjetil Barvik (18):
+      lstat_cache(): small cleanup and optimisation
+      lstat_cache(): generalise longest_match_lstat_cache()
+      lstat_cache(): swap func(length, string) into func(string, length)
+      unlink_entry(): introduce schedule_dir_for_removal()
+      create_directories(): remove some memcpy() and strchr() calls
+      write_entry(): cleanup of some duplicated code
+      write_entry(): use fstat() instead of lstat() when file is open
+      show_patch_diff(): remove a call to fstat()
+      lstat_cache(): print a warning if doing ping-pong between cache types
+      check_updates(): effective removal of cache entries marked CE_REMOVE
+      fix compile error when USE_NSEC is defined
+      make USE_NSEC work as expected
+      verify_uptodate(): add ce_uptodate(ce) test
+      write_index(): update index_state->timestamp after flushing to disk
+      stat_tracking_info(): only count real commits
+      Record ns-timestamps if possible, but do not use it without USE_NSEC
+      checkout bugfix: use stat.mtime instead of stat.ctime in two places
+      Revert "lstat_cache(): print a warning if doing ping-pong between cache types"
+
+Kristian Amlie (1):
+      Add a test for checking whether gitattributes is honored by checkout.
+
+Linus Torvalds (2):
+      Clean up reflog unreachability pruning decision
+      Allow users to un-configure rename detection
+
+Marius Storm-Olsen (2):
+      Add bare repository indicator for __git_ps1
+      Fixup: Add bare repository indicator for __git_ps1
+
+Markus Heidelberg (1):
+      add --html-path to get the location of installed HTML docs
+
+Martin Storsjö (1):
+      Allow curl to rewind the read buffers
+
+Matthieu Moy (2):
+      git-send-email.txt: clarify which options take an argument.
+      git-rev-list.txt: make ascii markup uniform with other pages.
+
+Michael Hendricks (1):
+      format-patch: add arbitrary email headers
+
+Michael J Gruber (6):
+      Typo and language fixes for git-checkout.txt
+      test-lib.sh: Test for presence of git-init in the right path.
+      test-lib.sh: Allow running the test suite against installed git
+      git-branch.txt: document -f correctly
+      Test for local branches being followed with --track
+      Make local branches behave like remote branches when --tracked
+
+Michael Lai (1):
+      git-svn: support intermediate paths when matching tags/branches
+
+Michele Ballabio (6):
+      apply: consistent spelling of "don't"
+      apply: hide unused options from short help
+      git log: avoid segfault with --all-match
+      document --force-rebase
+      rebase: add options passed to git-am
+      rebase: fix typo (force_rebas -> force-rebas)
+
+Mike Hommey (1):
+      Replace ",<,>,& with their respective XML entities in DAV requests
+
+Miklos Vajna (11):
+      parse-opt: migrate builtin-ls-files.
+      Tests: use test_cmp instead of diff where possible
+      http-push: using error() and warning() as appropriate
+      builtin-apply: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-checkout: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-fetch-pack: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-init-db: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-rm: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-show-branch: use warning() instead of fprintf(stderr, "warning: ")
+      builtin-show-ref: use warning() instead of fprintf(stderr, "warning: ")
+      refs: use warning() instead of fprintf(stderr, "warning: ")
+
+Nanako Shiraishi (4):
+      Add --format that is a synonym to --pretty
+      Give short-hands to --pretty=tformat:%formatstring
+      Add --oneline that is a synonym to "--pretty=oneline --abbrev-commit"
+      Documentation/git.txt: GIT 1.6.2.2 has been out for a while
+
+Nate Case (1):
+      format-patch: Respect --quiet option
+
+Nguyễn Thái Ngọc Duy (1):
+      grep: prefer builtin over external one when coloring results
+
+Pete Wyckoff (1):
+      git-p4: remove tabs from usermap file
+
+Petr Kodl (2):
+      MinGW: a helper function that translates Win32 API error codes
+      MinGW: a hardlink implementation
+
+Ramsay Jones (1):
+      git-instaweb: fix lighttpd configuration on cygwin
+
+René Scharfe (12):
+      grep: micro-optimize hit collection for AND nodes
+      grep: remove grep_opt argument from match_expr_eval()
+      grep: add pmatch and eflags arguments to match_one_pattern()
+      grep: color patterns in output
+      grep: add support for coloring with external greps
+      parseopt: add PARSE_OPT_KEEP_UNKNOWN
+      parseopt: add PARSE_OPT_NO_INTERNAL_HELP
+      parseopt: make usage optional
+      archive: use parseopt for local-only options
+      parseopt: document KEEP_ARGV0, KEEP_UNKNOWN, NO_INTERNAL_HELP
+      parseopt: prevent KEEP_UNKNOWN and STOP_AT_NON_OPTION from being used together
+      pickaxe: count regex matches only once
+
+SZEDER Gábor (1):
+      rerere: remove duplicated functions
+
+Santi Béjar (4):
+      Documentation: enhance branch.<name>.{remote,merge}
+      Documentation: push.default applies to all remotes
+      Documentation: branch.*.merge can also affect 'git-push'
+      Documentation: Introduce "upstream branch"
+
+Shawn O. Pearce (1):
+      Don't permit ref/branch names to end with ".lock"
+
+Simon Arlott (2):
+      git-svn: don't output git commits in quiet mode
+      git-svn: add a double quiet option to hide git commits
+
+Stephen Boyd (11):
+      git-send-email.txt: describe --compose better
+      pretty.c: add %f format specifier to format_commit_message()
+      format-patch: construct patch filename in one function
+      format-patch: pass a commit to reopen_stdout()
+      format-patch: move get_patch_filename() into log-tree
+      format-patch: --attach/inline uses filename instead of SHA1
+      format-patch: --numbered-files and --stdout aren't mutually exclusive
+      completion: add --annotate option to send-email
+      completion: add --cc and --no-attachment option to format-patch
+      completion: add --thread=deep/shallow to format-patch
+      format_sanitized_subject: Don't trim past initial length of strbuf
+
+Sverre Rabbelier (1):
+      Teach rebase to rebase even if upstream is up to date
+
+Tay Ray Chuan (1):
+      http.c: use strbuf API in quote_ref_url
+
+Ted Pavlic (4):
+      completion: For consistency, change "git rev-parse" to __gitdir calls
+      completion: Use consistent if [...] convention, not "test"
+      completion: Better __git_ps1 support when not in working directory
+      completion: More fixes to prevent unbound variable errors
+
+Teemu Likonen (1):
+      bash completion: add --format= and --oneline options for "git log"
+
+Thomas Rast (13):
+      format-patch: threading test reactivation
+      Support coverage testing with GCC/gcov
+      Test that diff can read from stdin
+      Test diff --dirstat functionality
+      Test log --graph
+      Test fsck a bit harder
+      Test log --decorate
+      Test rev-list --parents/--children
+      Test git-patch-id
+      format-patch: track several references
+      format-patch: thread as reply to cover letter even with in-reply-to
+      format-patch: support deep threading
+      Documentation: filter-branch: show --ignore-unmatch in main index-filter example
+
+Todd Zullinger (1):
+      bash completion: Update 'git am' options
+
+Tor Arne Vestbø (2):
+      git-rebase: Add --stat and --no-stat for producing diffstat on rebase
+      git-pull: Allow --stat and --no-stat to be used with --rebase
+
+Wesley J. Landaker (1):
+      Documentation: git-svn: fix trunk/fetch svn-remote key typo
+
+Wincent Colaiuta (2):
+      Grammar fixes to "merge" and "patch-id" docs
+      Grammar fix for "git merge" man page
+
+
+Version v1.6.2.5; changes since v1.6.2.4:
+-----------------------------------------
+
+Allan Caffee (2):
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Frank Lichtenheld (1):
+      gitcvs-migration: Link to git-cvsimport documentation
+
+Johannes Schindelin (1):
+      Fix off-by-one in read_tree_recursive
+
+Junio C Hamano (7):
+      read-tree A B: do not corrupt cache-tree
+      Move prime_cache_tree() to cache-tree.c
+      read-tree -m A B: prime cache-tree from the switched-to tree
+      checkout branch: prime cache-tree fully
+      diff -c -p: do not die on submodules
+      GIT 1.6.1.4
+      GIT 1.6.2.5
+
+Linus Torvalds (3):
+      process_{tree,blob}: show objects without buffering
+      show_object(): push path_name() call further down
+      grep: fix segfault when "git grep '('" is given
+
+Michał Kiedrowicz (3):
+      tests: test applying criss-cross rename patch
+      builtin-apply: keep information about files to be deleted
+      tests: make test-apply-criss-cross-rename more robust
+
+Nicolas Pitre (1):
+      honor repack.usedeltabaseoffset when fetching packs
+
+Stephen Boyd (1):
+      test-genrandom: Add newline to usage string
+
+Wincent Colaiuta (1):
+      git add -p: add missing "q" to patch prompt
+
+
+Version v1.6.2.4; changes since v1.6.2.3:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      tree_entry_interesting: a pathspec only matches at directory boundary
+
+Clemens Buchacher (3):
+      add tests for merging with submodules
+      update cache for conflicting submodule entries
+      simplify output of conflicting merge
+
+Erik Faye-Lund (4):
+      test-suite: adding a test for fast-export with tag variants
+      builtin-fast-export.c: turn error into warning
+      builtin-fast-export.c: fix crash on tagged trees
+      builtin-fast-export.c: handle nested tags
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Jeff King (2):
+      doc/gitattributes: clarify location of config text
+      add-interactive: refactor mode hunk handling
+
+Johan Herland (1):
+      Update docs on behaviour of 'core.sharedRepository' and 'git init --shared'
+
+Johannes Schindelin (1):
+      Fix 'git checkout <submodule>' to update the index
+
+Johannes Sixt (1):
+      t1301-shared-repo: fix forced modes test
+
+Junio C Hamano (4):
+      match_tree_entry(): a pathspec only matches at directory boundaries
+      Describe fixes since 1.6.2.3
+      Speed up reflog pruning of unreachable commits
+      GIT 1.6.2.4
+
+Linus Torvalds (1):
+      Clean up reflog unreachability pruning decision
+
+Markus Heidelberg (2):
+      doc/git-daemon: add missing arguments to options
+      doc/git-daemon: add missing arguments to max-connections option
+
+Matthieu Moy (2):
+      git add -p: new "quit" command at the prompt.
+      Update git-add.txt according to the new possibilities of 'git add -p'.
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: remove {fetch,send}-pack from PROGRAMS as they are builtins
+
+Paul Bolle (1):
+      imap-send: use correct configuration variable in documentation
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Ulrich Windl (1):
+      git-apply: fix option description
+
+
+Version v1.6.2.3; changes since v1.6.2.2:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Brandon Casey (6):
+      t7700-repack: add two new tests demonstrating repacking flaws
+      git-repack.sh: don't use --kept-pack-only option to pack-objects
+      pack-objects: only repack or loosen objects residing in "local" packs
+      Remove --kept-pack-only option and associated infrastructure
+      t7700: demonstrate repack flaw which may loosen objects unnecessarily
+      pack-objects: don't loosen objects available in alternate or kept packs
+
+Dan McGee (1):
+      git-repack: use non-dashed update-server-info
+
+Daniel Cheng (aka SDiZ) (1):
+      State the effect of filter-branch on graft explicitly
+
+Jari Aalto (1):
+      Change double quotes to single quotes in message
+
+Jason Merrill (1):
+      Documentation: clarify .gitattributes search
+
+Jeff King (2):
+      t1301: loosen test for forced modes
+      commit: abort commit if interactive add failed
+
+Johan Herland (1):
+      Move chmod(foo, 0444) into move_temp_to_file()
+
+Julien Danjou (1):
+      git submodule: fix usage line
+
+Junio C Hamano (12):
+      git-repack: resist stray environment variable
+      has_sha1_pack(): refactor "pretend these packs do not exist" interface
+      has_sha1_kept_pack(): take "struct rev_info"
+      Consolidate ignore_packed logic more
+      Simplify is_kept_pack()
+      is_kept_pack(): final clean-up
+      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
+      "core.sharedrepository = 0mode" should set, not loosen
+      move_temp_to_file(): do not forget to chmod() in "Coda hack" codepath
+      set_shared_perm(): sometimes we know what the final mode bits should look like
+      Start 1.6.2.3 preparation
+      GIT 1.6.2.3
+
+Linus Torvalds (1):
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Markus Heidelberg (1):
+      doc/git-pack-refs: fix two grammar issues
+
+Matthieu Moy (3):
+      git-checkout.txt: fix incorrect statement about HEAD and index
+      git-checkout.txt: clarify that <branch> applies when no path is given.
+      git-pull.sh: better warning message for "git pull" on detached head.
+
+
+Version v1.6.2.2; changes since v1.6.2.1:
+-----------------------------------------
+
+Allan Caffee (1):
+      Documentation: update graph api example.
+
+Brandon Casey (1):
+      git-branch: display "was sha1" on branch deletion rather than just "sha1"
+
+Carlo Marcelo Arenas Belon (1):
+      documentation: update cvsimport description of "-r" for recent clone
+
+Daniel Barkalow (1):
+      Give error when no remote is configured
+
+Daniel Cheng (aka SDiZ) (1):
+      Fix bash completion in path with spaces
+
+David Aguilar (1):
+      everyday: use the dashless form of git-init
+
+David J. Mellor (12):
+      Documentation: minor grammatical fixes in git-archive.txt.
+      Documentation: reword the "Description" section of git-bisect.txt.
+      Documentation: minor grammatical fixes in git-blame.txt.
+      Documentation: minor grammatical fixes in git-branch.txt.
+      Documentation: reworded the "Description" section of git-bisect.txt.
+      Documentation: reword example text in git-bisect.txt.
+      Documentation: remove some uses of the passive voice in git-bisect.txt
+      Documentation: minor grammatical fixes and rewording in git-bundle.txt
+      Documentation: minor grammatical fixes in git-cat-file.txt
+      Documentation: minor grammatical fixes in git-check-attr.txt
+      Documentation: minor grammatical fix in git-check-ref-format.txt
+      Documentation: Remove spurious uses of "you" in git-bisect.txt.
+
+Emil Sit (1):
+      test-lib: Clean up comments and Makefile.
+
+Eric Wong (1):
+      git-svn: fix ls-tree usage with dash-prefixed paths
+
+Holger Weiß (1):
+      Documentation: Remove an odd "instead"
+
+Jeff King (3):
+      doc: clarify how -S works
+      ls-files: require worktree when --deleted is given
+      fix portability problem with IS_RUN_COMMAND_ERR
+
+Johannes Schindelin (4):
+      rsync transport: allow local paths, and fix tests
+      Smudge the files fed to external diff and textconv
+      import-zips: fix thinko
+      mailmap: resurrect lower-casing of email addresses
+
+Johannes Sixt (2):
+      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
+      diff --no-index: Do not generate patch output if other output is requested
+
+Junio C Hamano (6):
+      read-tree A B C: do not create a bogus index and do not segfault
+      Remove total confusion from git-fetch and git-push
+      blame: read custom grafts given by -S before calling setup_revisions()
+      Update draft release notes to 1.6.2.2
+      Update draft release notes to 1.6.2.2
+      GIT 1.6.2.2
+
+Linus Torvalds (1):
+      close_sha1_file(): make it easier to diagnose errors
+
+Michael J Gruber (2):
+      git submodule: Add test cases for git submodule add
+      git submodule: Fix adding of submodules at paths with ./, .. and //
+
+Nico -telmich- Schottelius (1):
+      git-tag(1): add hint about commit messages
+
+Nicolas Pitre (1):
+      avoid possible overflow in delta size filtering computation
+
+René Scharfe (3):
+      diffcore-pickaxe: use memmem()
+      optimize compat/ memmem()
+      pickaxe: count regex matches only once
+
+Shawn O. Pearce (1):
+      Increase the size of the die/warning buffer to avoid truncation
+
+Stephen Boyd (1):
+      format-patch: --numbered-files and --stdout aren't mutually exclusive
+
+Thomas Rast (4):
+      send-email: respect in-reply-to regardless of threading
+      send-email: test --no-thread --in-reply-to combination
+      Documentation: format-patch --root clarifications
+      bash completion: only show 'log --merge' if merging
+
+
+Version v1.6.2.1; changes since v1.6.2:
+---------------------------------------
+
+Chris Johnsen (1):
+      builtin-revert.c: release index lock when cherry-picking an empty commit
+
+Christian Couder (1):
+      Documentation: fix badly indented paragraphs in "--bisect-all" description
+
+Elijah Newren (1):
+      Ensure proper setup of git_dir for git-hash-object
+
+Finn Arne Gangstad (1):
+      Support "\" in non-wildcard exclusion entries
+
+Jay Soffian (4):
+      send-email: allow send-email to run outside a repo
+      send-email: handle multiple Cc addresses when reading mbox message
+      send-email: --suppress-cc improvements
+      send-email: don't create temporary compose file until it is needed
+
+Jeff King (3):
+      never fallback relative times to absolute
+      t1300: use test_must_fail as appropriate
+      document config --bool-or-int
+
+John Tapsell (1):
+      Make the 'lock file' exists error more informative
+
+Junio C Hamano (4):
+      git-add -i/-p: learn to unwrap C-quoted paths
+      Beginning of 1.6.2 maintenance track
+      Update draft release notes for 1.6.2.1
+      GIT 1.6.2.1
+
+René Scharfe (1):
+      cleanup: add isascii()
+
+
+Version v1.6.2; changes since v1.6.2-rc2:
+-----------------------------------------
+
+Ben Walton (1):
+      git-svn - return original format_svn_date semantics
+
+Christian Couder (2):
+      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
+      bisect: fix another instance of eval'ed string
+
+Danijel Tasov (1):
+      added missing backtick in git-apply.txt
+
+David J. Mellor (4):
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+      Documentation: minor grammatical fixes.
+
+Eric Wong (1):
+      git-svn: disable broken symlink workaround by default
+
+Jay Soffian (1):
+      t5540-http-push.sh: avoid non-portable grep -P
+
+Johannes Sixt (1):
+      t3400-rebase: Move detached HEAD check earlier
+
+Junio C Hamano (2):
+      git-am: make --abort less dangerous
+      GIT 1.6.2
+
+Michael J Gruber (1):
+      git-am: Keep index in case of abort with dirty index
+
+Mike Ralphson (4):
+      Fix odb_mkstemp() on AIX
+      Documentation: Typos / spelling fixes in RelNotes
+      Documentation: Expand a couple of abbreviations
+      Documentation: Typo / spelling / formatting fixes
+
+Paul Mackerras (1):
+      gitk: Fix possible infinite loop and display corruption
+
+Roy Lee (1):
+      Documentation/git-archive.txt: Note attributes
+
+Todd Zullinger (1):
+      git-rebase: Update --whitespace documentation
+
+
+Version v1.6.2-rc2; changes since v1.6.2-rc1:
+---------------------------------------------
+
+Abhijit Menon-Sen (1):
+      Convert git-* invocations to "git *" in the svnimport example.
+
+Alexandre Julliard (3):
+      git.el: Make sure that file lists are sorted as they are created.
+      git.el: Improve the confirmation message on remove and revert.
+      Add a README in the contrib/emacs directory.
+
+Allan Caffee (1):
+      trace: Fixed a minor typo in an error message.
+
+Ben Walton (1):
+      git-svn fix to avoid using strftime %z
+
+Brian Gernhardt (1):
+      git-svn: Create leading directories in create-ignore
+
+Christian Couder (1):
+      README: fix path to "gitcvs-migration.txt" and be more consistent
+
+Eric Wong (1):
+      git-svn: fix delete+add branch tracking with empty files
+
+Felipe Contreras (2):
+      git add: trivial codestyle cleanup
+      sha1_file.c: fix typo
+
+Gerrit Pape (3):
+      Documentation/git-push: --all, --mirror, --tags can not be combined
+      Install builtins with the user and group of the installing personality
+      git-quiltimport: preserve standard input to be able to read user input
+
+Giuseppe Bilotta (1):
+      gitweb: fix wrong base URL when non-root DirectoryIndex
+
+Jay Soffian (2):
+      disallow providing multiple upstream branches to rebase, pull --rebase
+      Allow HTTP tests to run on Darwin
+
+Johannes Schindelin (2):
+      Introduce the function strip_path_suffix()
+      system_path(): simplify using strip_path_suffix(), and add suffix "git"
+
+Johannes Sixt (1):
+      gitattributes.txt: Path matching rules are explained in gitignore.txt
+
+Junio C Hamano (4):
+      git-svn: fix parsing of timestamp obtained from svn
+      tests: fix "export var=val"
+      Make sure objects/pack exists before creating a new pack
+      GIT 1.6.2-rc2
+
+Lars Noschinski (1):
+      filter-branch -d: Export GIT_DIR earlier
+
+Linus Torvalds (1):
+      Support 'raw' date format
+
+Marc Branchaud (1):
+      Docs: Expand explanation of the use of + in git push refspecs.
+
+Marcel M. Cary (2):
+      gitweb: Fix warnings with override permitted but no repo override
+      gitweb: Hyperlink multiple git hashes on the same commit message line
+
+Matthieu Moy (2):
+      Document git blame --reverse.
+      More friendly message when locking the index fails.
+
+Michael J Gruber (1):
+      Fix typo in contrib/examples/git-svnimport.txt
+
+Michael Spang (1):
+      Skip timestamp differences for diff --no-index
+
+Pete Wyckoff (1):
+      git-p4: avoid syncing duplicate changes
+
+Peter Oberndorfer (1):
+      git-svn: read the dcommit url from the config file on a per remote basis
+
+SZEDER Gábor (2):
+      bash: add missing 'git merge' options
+      bash: update 'git svn' options
+
+Thomas Rast (2):
+      bash completion: refactor common log, shortlog and gitk options
+      bash completion: only show 'log --merge' if merging
+
+Todd Zullinger (1):
+      Documentation: Note file formats send-email accepts
+
+
+Version v1.6.2-rc1; changes since v1.6.2-rc0:
+---------------------------------------------
+
+Alexandre Julliard (1):
+      Describe notable git.el changes in the release notes
+
+Anton Gyllenberg (1):
+      test case for regression caused by git-svn empty symlink fix
+
+Christian Couder (1):
+      rev-list: fix showing distance when using --bisect-all
+
+Deskin Miller (1):
+      git-svn: Print revision while searching for earliest use of path
+
+Dévai Tamás (1):
+      git-svn: Fix for rewriteRoot URL containing username.
+
+Elijah Newren (1):
+      fast-export: ensure we traverse commits in topological order
+
+Eric Kidd (1):
+      filter-branch: Add more error-handling
+
+Eric Wong (2):
+      git-svn: allow disabling expensive broken symlink checks
+      git-svn: fix broken symlink workaround when switching branches
+
+Fabian Franz (1):
+      submodule: add --no-fetch parameter to update command
+
+Jacob Helwig (1):
+      Add 'rm -f' equivalent to 'git rm' example of filter-branch --index-filter
+
+Jakub Narębski (1):
+      gitweb: Better regexp for SHA-1 committag match
+
+Jeff King (1):
+      symbolic-ref: allow refs/<whatever> in HEAD
+
+Jeremy White (1):
+      Update documentation to add further information about using Thunderbird with git-imap-send.
+
+Johannes Schindelin (4):
+      Let ls-files strip trailing slashes in submodules' paths
+      submodule: warn about non-submodules
+      Add two extra tests for git rebase
+      gc: make --prune useful again by accepting an optional parameter
+
+Johannes Sixt (4):
+      Make test-path-utils more robust against incorrect use
+      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
+      Test and fix normalize_path_copy()
+      Remove unused normalize_absolute_path()
+
+Junio C Hamano (16):
+      Revert "Merge branch 'js/notes'"
+      Modernize t5400 test script
+      remote prune: warn dangling symrefs
+      Warn use of "origin" when remotes/origin/HEAD is dangling
+      Drop double-semicolon in C
+      receive-pack: receive.denyDeleteCurrent
+      builtin-receive-pack.c: do not initialize statics to 0
+      revision traversal and pack: notice and die on missing commit
+      Squelch overzealous "ignoring dangling symref" in an empty repository
+      Make repack less likely to corrupt repository
+      Prepare for 1.6.1.4.
+      Revert "validate_headref: tighten ref-matching to just branches"
+      Install the default "master" branch configuration after cloning a void
+      Teach the "@{-1} syntax to "git branch"
+      Teach @{-1} to git merge
+      RelNotes Update
+
+Keith Cascio (1):
+      Remove redundant bit clears from diff_setup()
+
+Lars Hjemli (1):
+      tree.c: allow read_tree_recursive() to traverse gitlink entries
+
+Marcel M. Cary (1):
+      git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work tree
+
+Marius Storm-Olsen (5):
+      Add mailmap.file as configurational option for mailmap location
+      Add find_insert_index, insert_at_index and clear_func functions to string_list
+      Add map_user() and clear_mailmap() to mailmap
+      Change current mailmap usage to do matching on both name and email of author/committer.
+      Move mailmap documentation into separate file
+
+Mark Burton (1):
+      git-rebase.txt: --interactive does not work with --whitespace
+
+Matt Kraai (1):
+      bash-completion: Complete the values of color.interactive, color.ui, color.pager
+
+Matt McCutchen (1):
+      gitweb: add $prevent_xss option to prevent XSS by repository content
+
+Michael J Gruber (1):
+      Fix the installation path for html documentation
+
+Nazri Ramliy (1):
+      Bugfix: GIT_EXTERNAL_DIFF with more than one changed files
+
+Pat Notz (1):
+      Fix contrib/hooks/post-receive-email for new duplicate branch
+
+René Scharfe (2):
+      Fix GIT_CEILING_DIRECTORIES on Windows
+      builtin-receive-pack.c: fix compiler warnings about format string
+
+SZEDER Gábor (3):
+      Move 'rev-parse --git-dir' test to t1500
+      t1500: more 'git rev-parse --git-dir' tests
+      bash: fix misspelled 'git svn' option
+
+Sam Vilain (1):
+      git-svn: abstract out a block into new method other_gs()
+
+Santi Béjar (1):
+      doc/bundle: Use the more conventional suffix '.bundle'
+
+Shawn O. Pearce (2):
+      Clear the delta base cache during fast-import checkpoint
+      Clear the delta base cache if a pack is rebuilt
+
+Sitaram Chamarty (1):
+      Documentation: clarify commits affected by gitk --merge
+
+Stephan Beyer (3):
+      add -p: get rid of Git.pm warnings about unitialized values
+      Makefile: resort filenames alphabetically
+      Generalize and libify index_is_dirty() to index_differs_from(...)
+
+Tay Ray Chuan (1):
+      use a hash of the lock token as the suffix for PUT/MOVE
+
+Ted Pavlic (2):
+      completion: Fix GIT_PS1_SHOWDIRTYSTATE to prevent unbound variable errors.
+      completion: Get rid of tabbed indentation in comments. Replace with spaces.
+
+Thomas Rast (2):
+      log: do not print ellipses with --abbrev-commit
+      Documentation: pruning recipe for destructive filter-branch
+
+Todd Zullinger (1):
+      git-web--browse: Fix check for /bin/start
+
+
+Version v1.6.2-rc0; changes since v1.6.1.4:
+-------------------------------------------
+
+Adeodato Simó (3):
+      builtin-shortlog.c: use string_list_append(), and don't strdup unnecessarily
+      git.c: make autocorrected aliases work
+      t7501-commit.sh: explicitly check that -F prevents invoking the editor
+
+Alexander Potashev (4):
+      remove trailing LF in die() messages
+      add is_dot_or_dotdot inline function
+      Allow cloning to an existing empty directory
+      Replace deprecated dashed git commands in usage
+
+Alexandre Julliard (8):
+      git.el: Add a checkout command.
+      git.el: Add a command to create a new branch.
+      git.el: Add commands for cherry-pick and revert.
+      git.el: Make git-run-command-region display the error if any.
+      git.el: Set a regexp for paragraph-separate in log-edit mode.
+      git.el: Use integer instead of character constants in case statement.
+      git.el: Add some notes about Emacs versions compatibility.
+      emacs: Remove the no longer maintained vc-git package.
+
+Arjen Laarhoven (1):
+      t/t4202-log.sh: Add testcases
+
+Benjamin Kramer (1):
+      Ignore test-ctype
+
+Boyd Stephen Smith Jr (2):
+      color-words: Support diff.wordregex config option
+      Change the spelling of "wordregex".
+
+Brandon Casey (2):
+      t7700: demonstrate misbehavior of 'repack -a' when local packs exist
+      Makefile: use shell for-loop rather than Make's foreach loop during install
+
+Charles Bailey (7):
+      Fix some tab/space inconsistencies in git-mergetool.sh
+      Add -y/--no-prompt option to mergetool
+      mergetool: Add prompt to continue after failing to merge a file
+      mergetool: Don't keep temporary merge files unless told to
+      mergetool: respect autocrlf by using checkout-index
+      mergetool: Add a test for running mergetool in a sub-directory
+      mergetool: fix running mergetool in sub-directories
+
+Christian Couder (1):
+      sha1_file: make "read_object" static
+
+Clemens Buchacher (2):
+      clean up pathspec matching
+      remove pathspec_match, use match_pathspec instead
+
+David Aguilar (4):
+      contrib: add 'git difftool' for launching common merge tools
+      difftool: fix documentation problems
+      difftool: put the cursor on the editable file for Vim
+      contrib/difftool: Don't repeat merge tool candidates
+
+David M. Syzdek (1):
+      autoconf: Enable threaded delta search when pthreads are supported
+
+Eric Wong (6):
+      git-svn: add --authors-file test
+      git-svn: handle empty files marked as symlinks in SVN
+      git-svn: better attempt to handle broken symlink updates
+      git-svn: fix SVN 1.1.x compatibility
+      git-svn: avoid importing nested git repos
+      git-svn: fix memory leak when checking for empty symlinks
+
+Fabian Emmes (2):
+      cvsserver: add option to configure commit message
+      cvsserver: change generation of CVS author names
+
+Giuseppe Bilotta (16):
+      gitweb: add patch view
+      gitweb: change call pattern for git_commitdiff
+      gitweb: add patches view
+      gitweb: link to patch(es) view in commit(diff) and (short)log view
+      gitweb: use href() when generating URLs in OPML
+      gitweb: don't use pathinfo for global actions
+      gitweb: suggest name for OPML view
+      gitweb: channel image in rss feed
+      gitweb: feed generator metadata
+      gitweb: rss feed managingEditor
+      gitweb: rss channel date
+      gitweb: last-modified time should be commiter, not author
+      gitweb: check if-modified-since for feeds
+      gitweb: make static files accessible with PATH_INFO
+      gitweb: webserver config for PATH_INFO
+      gitweb: align comments to code
+
+Jake Goulding (3):
+      Make opt_parse_with_commit() non-static
+      Make has_commit() non-static
+      git-tag: Add --contains option
+
+Jakub Narębski (4):
+      gitweb: Move 'lineno' id from link to row element in git_blame
+      gitweb: A bit of code cleanup in git_blame()
+      gitweb: cache $parent_commit info in git_blame()
+      gitweb: Update README that gitweb works better with PATH_INFO
+
+Jay Soffian (2):
+      git-am: minor cleanups
+      Makefile: minor improvements for Mac OS X (Darwin)
+
+Jeff King (10):
+      Makefile: clean up TEST_PROGRAMS definition
+      color: make it easier for non-config to parse color specs
+      expand --pretty=format color options
+      diff: refactor tempfile cleanup handling
+      chain kill signals for cleanup functions
+      refactor signal handling for cleanup functions
+      pager: do wait_for_pager on signal death
+      validate_headref: tighten ref-matching to just branches
+      symbolic ref: refuse non-ref targets in HEAD
+      t0005: use SIGTERM for sigchain test
+
+Johannes Gilger (1):
+      mergetool: Don't repeat merge tool candidates
+
+Johannes Schindelin (24):
+      Force t5302 to use a single thread
+      Introduce commit notes
+      Add a script to edit/inspect notes
+      git wrapper: Make while loop more reader-friendly
+      bundle: allow rev-list options to exclude annotated tags
+      show <tag>: reuse pp_user_info() instead of duplicating code
+      Implement the patience diff algorithm
+      Introduce the diff option '--patience'
+      bash completions: Add the --patience option
+      Speed up git notes lookup
+      Add an expensive test for git-notes
+      Add color_fwrite_lines(), a function coloring each line individually
+      color-words: refactor word splitting and use ALLOC_GROW()
+      color-words: change algorithm to allow for 0-character word boundaries
+      color-words: take an optional regular expression describing words
+      Fix parsing of @{-1}@{1}
+      rebase -i --root: fix check for number of arguments
+      t3404 & t3411: undo copy&paste
+      lib-rebase.sh: Document what set_fake_editor() does
+      test-lib.sh: introduce test_commit() and test_merge() helpers
+      Simplify t3410
+      Simplify t3411
+      Simplify t3412
+      Fix 'git diff --no-index' with a non-existing symlink target
+
+Johannes Sixt (2):
+      Windows: Fix signal numbers
+      Windows: Fix intermittent failures of t7701
+
+Jon Loeliger (1):
+      Fix Documentation typos surrounding the word 'handful'.
+
+Jonas Flodén (1):
+      git-am: Make it easier to see which patch failed
+
+Junio C Hamano (26):
+      Document "git-reset --merge"
+      Start 1.6.2 cycle
+      Resurrect "git apply --flags -" to read from the standard input
+      git-am: add --directory=<dir> option
+      Update 1.6.2 draft release notes
+      git-am: fix shell quoting
+      checkout: implement "@{-N}" shortcut name for N-th last branch
+      git-am: re-fix the diag message printing
+      interpret_nth_last_branch(): avoid traversing the reflog twice
+      Fix reflog parsing for a malformed branch switching entry
+      interpret_nth_last_branch(): plug small memleak
+      Introduce for_each_recent_reflog_ent().
+      Simplify parsing branch switching events in reflog
+      http-push.c: style fixes
+      am: Add --committer-date-is-author-date option
+      rebase -i: correctly remember --root flag across --continue
+      tests: Avoid single-shot environment export for shell function invocation
+      Update draft release notes to 1.6.2
+      fsck: HEAD is part of refs
+      fsck: check loose objects from alternate object stores by default
+      http-push.c: get_remote_object_url() is only used under USE_CURL_MULTI
+      receive-pack: explain what to do when push updates the current branch
+      t3412: further simplify setting of GIT_EDITOR
+      tests: fix test_commit() for case insensitive filesystems
+      Makefile: fix misdetection of relative pathnames
+      GIT 1.6.2-rc0
+
+Keith Cascio (1):
+      test more combinations of ignore-whitespace options to diff
+
+Kirill Smelkov (1):
+      mailinfo: cleanup extra spaces for complex 'From:'
+
+Kjetil Barvik (6):
+      Cleanup of unused symcache variable inside diff-lib.c
+      lstat_cache(): more cache effective symlink/directory detection
+      lstat_cache(): introduce has_symlink_or_noent_leading_path() function
+      lstat_cache(): introduce has_dirs_only_path() function
+      lstat_cache(): introduce invalidate_lstat_cache() function
+      lstat_cache(): introduce clear_lstat_cache() function
+
+Lee Marlow (2):
+      bash completion: Add '--intent-to-add' long option for 'git add'
+      bash completion: Use 'git add' completions for 'git stage'
+
+Linus Torvalds (1):
+      Add 'merge' mode to 'git reset'
+
+Marcel Koeppen (1):
+      git-svn: Show UUID in svn info for added directories with svn 1.5.5
+
+Markus Heidelberg (10):
+      git-cherry: make <upstream> parameter optional
+      Documentation: clarify which parameters are optional to git-cherry
+      contrib/vim: change URL to point to the latest syntax files
+      Documentation: let asciidoc align related options
+      mergetool: put the cursor on the editable file for Vim
+      contrib/difftool: change trap condition from SIGINT to INT
+      contrib/difftool: remove distracting 'echo' in the SIGINT handler
+      use uppercase POSIX compliant signals for the 'trap' command
+      bash completion: add 'rename' subcommand to git-remote
+      contrib/difftool: add support for Kompare
+
+Matt Kraai (1):
+      gitweb: unify boolean feature subroutines
+
+Michele Ballabio (1):
+      git-shortlog.txt: fix example about .mailmap
+
+Miklos Vajna (3):
+      Add support for a pdf version of the user manual
+      parse-opt: migrate builtin-apply.
+      gittutorial: remove misleading note
+
+Nanako Shiraishi (3):
+      git-am: Add --ignore-date option
+      Mention "local convention" rule in the CodingGuidelines
+      git-bundle doc: update examples
+
+Nicolas Pitre (2):
+      autodetect number of CPUs by default when using threads
+      pack-objects: don't use too many threads with few objects
+
+Pascal Obry (1):
+      config.mak.in: define paths without trailing slash
+
+Pete Harlan (1):
+      git-svn: Add --localtime option to "fetch"
+
+Pierre Habouzit (1):
+      filter-branch: add git_commit_non_empty_tree and --prune-empty.
+
+Ralf Wildenhues (1):
+      Fix naming scheme for configure cache variables.
+
+René Scharfe (9):
+      diff: add option to show context between close hunks
+      strbuf: instate cleanup rule in case of non-memory errors
+      grep -w: forward to next possible position after rejected match
+      grep: don't call regexec() for fixed strings
+      Add ctype test
+      Reformat ctype.c
+      Change NUL char handling of isspecial()
+      Add is_regex_special()
+      Optimize color_parse_mem
+
+SZEDER Gábor (4):
+      bash: add '--merge' to 'git reset'
+      bash: remove unnecessary checks for long options with argument
+      bash: add missing format-patch command line options
+      bash: refactor 'git log --pretty=<format>' options
+
+Santi Béjar (2):
+      commit: more compact summary and without extra quotes
+      tutorial-2: Update with the new "git commit" ouput
+
+Serge van den Boom (1):
+      Makefile: Make 'configure --with-expat=path' actually work
+
+Stefan Karpinski (2):
+      git-cvsserver: handle CVS 'noop' command.
+      git-cvsserver: run post-update hook *after* update.
+
+Steffen Prohaska (6):
+      Move computation of absolute paths from Makefile to runtime (in preparation for RUNTIME_PREFIX)
+      git_extract_argv0_path(): Move check for valid argv0 from caller to callee
+      Add calls to git_extract_argv0_path() in programs that call git_config_*
+      Modify setup_path() to only add git_exec_path() to PATH
+      Compute prefix at runtime if RUNTIME_PREFIX is set
+      Windows: Revert to default paths and convert them by RUNTIME_PREFIX
+
+Stephan Beyer (5):
+      checkout: don't crash on file checkout before running post-checkout hook
+      Move run_hook() from builtin-commit.c into run-command.c (libgit)
+      api-run-command.txt: talk about run_hook()
+      run_hook(): check the executability of the hook before filling argv
+      run_hook(): allow more than 9 hook arguments
+
+Steve Haslam (1):
+      Refactor git_set_argv0_path() to git_extract_argv0_path()
+
+Sverre Rabbelier (1):
+      Allow cloning an empty repository
+
+Tay Ray Chuan (4):
+      http-push: refactor lock-related headers creation for curl requests
+      http-push: refactor request url creation
+      http-push: add back underscore separator before lock token
+      http-push: wrap signature of get_remote_object_url
+
+Ted Pavlic (4):
+      bash-completion: Support running when set -u is enabled
+      bash-completion: Try bash completions before simple filetype
+      bash-completion: Add comments to remind about required arguments
+      make: Remove -pthread on Darwin (it is included by cstdlib).
+
+Teemu Likonen (3):
+      Fix the building of user-manual.texi and gitman.texi documents
+      Fix the building of gitman.info document
+      diff-options.txt: Fix asciidoc markup issue
+
+Thomas Rast (23):
+      rebase -i: execute hook only after argument checking
+      rebase: learn to rebase root commit
+      rebase -i: learn to rebase root commit
+      rebase: update documentation for --root
+      notes: fix core.notesRef documentation
+      color-words: enable REG_NEWLINE to help user
+      color-words: expand docs with precise semantics
+      color-words: make regex configurable via attributes
+      sha1_name: tweak @{-N} lookup
+      sha1_name: support @{-N} syntax in get_sha1()
+      checkout: implement "-" abbreviation, add docs and tests
+      bash completion: move pickaxe options to log
+      bash completion: refactor diff options
+      t1505: remove debugging cruft
+      t3412: clean up GIT_EDITOR usage
+      t3412: use log|name-rev instead of log --graph
+      bash: offer to show (un)staged changes
+      add -p: change prompt separator for 'g'
+      add -p: trap Ctrl-D in 'goto' mode
+      contrib git-resurrect: find traces of a branch name and resurrect it
+      add -p: prompt for single characters
+      add -p: print errors in separate color
+      add -p: import Term::ReadKey with 'require'
+
+Tor Arne Vestbø (1):
+      git-notes: fix printing of multi-line notes
+
+Vitaly "_Vi" Shukela (3):
+      git-svn: add --ignore-paths option for fetching
+      git-svn: documented --ignore-paths
+      git-svn: Add test for --ignore-paths parameter
+
+William Pursell (5):
+      Add subroutine to display one-line summary of hunks
+      Add 'g' command to go to a hunk
+      git-add -i/-p: Change prompt separater from slash to comma
+      Add / command in add --patch
+      In add --patch, Handle K,k,J,j slightly more gracefully.
+
+jidanni@jidanni.org (1):
+      git-show-branch doc: show -g as synonym to --reflog in the list
+
+martin f. krafft (1):
+      git-am: implement --reject option passed to git-apply
+
+
+Version v1.6.1.4; changes since v1.6.1.3:
+-----------------------------------------
+
+Allan Caffee (3):
+      Documentation: update graph api example.
+      builtin-merge: fix a typo in an error message
+      Documentation: fix a grammatical error in api-builtin.txt
+
+Björn Steinbrink (2):
+      tree_entry_interesting: a pathspec only matches at directory boundary
+      process_{tree,blob}: Remove useless xstrdup calls
+
+Brandon Casey (7):
+      t7700-repack: add two new tests demonstrating repacking flaws
+      git-repack.sh: don't use --kept-pack-only option to pack-objects
+      pack-objects: only repack or loosen objects residing in "local" packs
+      Remove --kept-pack-only option and associated infrastructure
+      git-branch: display "was sha1" on branch deletion rather than just "sha1"
+      t7700: demonstrate repack flaw which may loosen objects unnecessarily
+      pack-objects: don't loosen objects available in alternate or kept packs
+
+Chris Johnsen (1):
+      builtin-revert.c: release index lock when cherry-picking an empty commit
+
+Christian Couder (3):
+      rev-list: fix showing distance when using --bisect-all
+      bisect: fix quoting TRIED revs when "bad" commit is also "skip"ped
+      bisect: fix another instance of eval'ed string
+
+Dan McGee (1):
+      git-repack: use non-dashed update-server-info
+
+Daniel Cheng (aka SDiZ) (2):
+      Fix bash completion in path with spaces
+      State the effect of filter-branch on graft explicitly
+
+Danijel Tasov (1):
+      added missing backtick in git-apply.txt
+
+David Aguilar (1):
+      everyday: use the dashless form of git-init
+
+David J. Mellor (1):
+      Documentation: minor grammatical fixes.
+
+Elijah Newren (2):
+      fast-export: ensure we traverse commits in topological order
+      Ensure proper setup of git_dir for git-hash-object
+
+Emil Sit (1):
+      test-lib: Clean up comments and Makefile.
+
+Eric Kidd (1):
+      filter-branch: Fix fatal error on bare repositories
+
+Finn Arne Gangstad (1):
+      Support "\" in non-wildcard exclusion entries
+
+Frank Lichtenheld (1):
+      init: Do not segfault on big GIT_TEMPLATE_DIR environment variable
+
+Geoffrey Thomas (2):
+      utf8: add utf8_strwidth()
+      builtin-blame.c: Use utf8_strwidth for author's names
+
+Gerrit Pape (1):
+      Documentation/git-push: --all, --mirror, --tags can not be combined
+
+Holger Weiß (1):
+      Documentation: Remove an odd "instead"
+
+Jason Merrill (1):
+      Documentation: clarify .gitattributes search
+
+Jay Soffian (2):
+      builtin-remote: make rm() use properly named variable to hold return value
+      builtin-remote: make rm operation safer in mirrored repository
+
+Jeff King (5):
+      git: s/run_command/run_builtin/
+      run_command(): handle missing command errors more gracefully
+      run_command(): help callers distinguish errors
+      git: use run_command() to execute dashed externals
+      commit: abort commit if interactive add failed
+
+Johannes Schindelin (3):
+      Fix submodule squashing into unrelated commit
+      filter-branch: do not consider diverging submodules a 'dirty worktree'
+      import-zips: fix thinko
+
+Johannes Sixt (6):
+      Make test-path-utils more robust against incorrect use
+      Move sanitary_path_copy() to path.c and rename it to normalize_path_copy()
+      Test and fix normalize_path_copy()
+      Remove unused normalize_absolute_path()
+      Propagate --exec-path setting to external commands via GIT_EXEC_PATH
+      diff --no-index: Do not generate patch output if other output is requested
+
+Junio C Hamano (19):
+      revision traversal: allow UNINTERESTING objects to be missing
+      rebase -i squashes submodule changes into unrelated commit
+      add -u: do not fail to resolve a path as deleted
+      revision traversal and pack: notice and die on missing commit
+      Make repack less likely to corrupt repository
+      Prepare for 1.6.1.4.
+      tests: fix "export var=val"
+      Make sure objects/pack exists before creating a new pack
+      git-repack: resist stray environment variable
+      has_sha1_pack(): refactor "pretend these packs do not exist" interface
+      has_sha1_kept_pack(): take "struct rev_info"
+      Consolidate ignore_packed logic more
+      Simplify is_kept_pack()
+      is_kept_pack(): final clean-up
+      blame: read custom grafts given by -S before calling setup_revisions()
+      diff --cached: do not borrow from a work tree when a path is marked as assume-unchanged
+      match_tree_entry(): a pathspec only matches at directory boundaries
+      diff -c -p: do not die on submodules
+      GIT 1.6.1.4
+
+Kirill Smelkov (4):
+      mailinfo: correctly handle multiline 'Subject:' header
+      mailinfo: 'From:' header should be unfold as well
+      mailinfo: add explicit test for mails like '<a.u.thor@example.com> (A U Thor)'
+      mailinfo: tests for RFC2047 examples
+
+Linus Torvalds (3):
+      close_sha1_file(): make it easier to diagnose errors
+      process_{tree,blob}: Remove useless xstrdup calls
+      grep: fix segfault when "git grep '('" is given
+
+Markus Heidelberg (1):
+      doc/git-daemon: add missing arguments to options
+
+Matt McCutchen (1):
+      gitweb: add $prevent_xss option to prevent XSS by repository content
+
+Matthieu Moy (4):
+      Document git blame --reverse.
+      More friendly message when locking the index fails.
+      git-checkout.txt: fix incorrect statement about HEAD and index
+      git-checkout.txt: clarify that <branch> applies when no path is given.
+
+Michael Spang (1):
+      Skip timestamp differences for diff --no-index
+
+Mike Ralphson (1):
+      Fix odb_mkstemp() on AIX
+
+Nico -telmich- Schottelius (1):
+      git-tag(1): add hint about commit messages
+
+Nicolas Pitre (1):
+      avoid possible overflow in delta size filtering computation
+
+René Scharfe (1):
+      Fix GIT_CEILING_DIRECTORIES on Windows
+
+Shawn O. Pearce (2):
+      Clear the delta base cache during fast-import checkpoint
+      Clear the delta base cache if a pack is rebuilt
+
+Stephen Boyd (1):
+      test-genrandom: Add newline to usage string
+
+Thomas Jarosch (1):
+      Fix buffer overflow in config parser
+
+Thomas Rast (2):
+      Documentation: format-patch --root clarifications
+      bash completion: only show 'log --merge' if merging
+
+Todd Zullinger (1):
+      Documentation: Note file formats send-email accepts
+
+
+Version v1.6.1.3; changes since v1.6.1.2:
+-----------------------------------------
+
+Anders Melchiorsen (2):
+      Documentation: more git push examples
+      Documentation: rework src/dst description in git push
+
+David J. Mellor (1):
+      Fixed broken git help -w when installing from RPM
+
+Guanqun Lu (2):
+      fix typo in Documentation
+      add test-dump-cache-tree in Makefile
+
+Johannes Schindelin (2):
+      revision walker: include a detached HEAD in --all
+      apply: fix access to an uninitialized mode variable, found by valgrind
+
+Junio C Hamano (6):
+      bundle: allow the same ref to be given more than once
+      Documentation: simplify refspec format description
+      diff.c: output correct index lines for a split diff
+      builtin-apply.c: do not set bogus mode in check_preimage() for deleted path
+      grep: pass -I (ignore binary) down to external grep
+      GIT 1.6.1.3
+
+Keith Cascio (2):
+      test more combinations of ignore-whitespace options to diff
+      Fix combined use of whitespace ignore options to diff
+
+Linus Torvalds (1):
+      Wrap inflate and other zlib routines for better error reporting
+
+Matthieu Moy (3):
+      Missing && in t/t7001.sh.
+      Add a testcase for "git mv -f" on untracked files.
+      builtin-mv.c: check for unversionned files before looking at the destination.
+
+René Scharfe (1):
+      merge: fix out-of-bounds memory access
+
+SZEDER Gábor (1):
+      Fix gitdir detection when in subdir of gitdir
+
+Stefan Naewe (1):
+      urls.txt: document optional port specification in git URLS
+
+William Pursell (1):
+      User-manual: "git stash <comment>" form is long gone
+
+
+Version v1.6.1.2; changes since v1.6.1.1:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      Rename detection: Avoid repeated filespec population
+
+Jeff King (1):
+      avoid 31-bit truncation in write_loose_object
+
+Johannes Schindelin (2):
+      get_sha1_basic(): fix invalid memory access, found by valgrind
+      test-path-utils: Fix off by one, found by valgrind
+
+Junio C Hamano (4):
+      ls-tree: add --full-tree option
+      Teach format-patch to handle output directory relative to cwd
+      send-pack: do not send unknown object name from ".have" to pack-objects
+      GIT 1.6.1.2
+
+Marcel M. Cary (1):
+      git-sh-setup: Fix scripts whose PWD is a symlink to a work-dir on OS X
+
+Markus Heidelberg (2):
+      git-commit: color status output when color.ui is set
+      git-status -v: color diff output when color.ui is set
+
+Nanako Shiraishi (1):
+      Document git-ls-tree --full-tree
+
+Nguyễn Thái Ngọc Duy (2):
+      grep: support --no-ext-grep to test builtin grep
+      grep: grep cache entries if they are "assume unchanged"
+
+Nicolas Pitre (1):
+      objects to be pruned immediately don't have to be loosened
+
+
+Version v1.6.1.1; changes since v1.6.1:
+---------------------------------------
+
+Adeodato Simó (2):
+      git-shortlog.txt: improve documentation about .mailmap files
+      git-send-email.txt: move --format-patch paragraph to a proper location
+
+Anders Melchiorsen (4):
+      Documentation: git push repository can also be a remote
+      Documentation: remove a redundant elaboration
+      Documentation: mention branches rather than heads
+      Documentation: avoid using undefined parameters
+
+Boyd Stephen Smith Jr (1):
+      Fix Documentation for git-describe
+
+Christian Couder (1):
+      builtin-fsck: fix off by one head count
+
+Clemens Buchacher (4):
+      modify/delete conflict resolution overwrites untracked file
+      unpack-trees: handle failure in verify_absent
+      unpack-trees: fix path search bug in verify_absent
+      unpack-trees: remove redundant path search in verify_absent
+
+Devin Doucette (1):
+      gitweb: Fix export check in git_get_projects_list
+
+Felipe Contreras (1):
+      fast-import: Cleanup mode setting.
+
+Henrik Austad (2):
+      Use capitalized names where appropriate
+      Be consistent in switch usage for tar
+
+Jay Soffian (1):
+      Git.pm: call Error::Simple() properly
+
+Joey Hess (1):
+      README: tutorial.txt is now called gittutorial.txt
+
+Johannes Schindelin (7):
+      merge-recursive: mark rename/delete conflict as unmerged
+      bisect view: call gitk if Cygwin's SESSIONNAME variable is set
+      git add: do not add files from a submodule
+      http-push: fix off-by-path_len
+      http-push: when making directories, have a trailing slash in the path name
+      t5540: clarify that http-push does not handle packed-refs on the remote
+      Rename diff.suppress-blank-empty to diff.suppressBlankEmpty
+
+Junio C Hamano (8):
+      merge-recursive: do not clobber untracked working tree garbage
+      Prepare for v1.6.1.1 maintenance release
+      builtin-apply: prevent non-explicit permission changes
+      git checkout: do not allow switching to a tree-ish that is not a commit
+      format-patch: show patch text for the root commit
+      Update draft release notes to 1.6.1.1
+      Update draft release notes for 1.6.1.1
+      GIT 1.6.1.1
+
+Kirill A. Korinskiy (1):
+      http-push: support full URI in handle_remote_ls_ctx()
+
+Lars Noschinski (1):
+      shell: Document that 'cvs server' is a valid command
+
+Markus Heidelberg (2):
+      doc/git-send-email: mention sendemail.cc config variable
+      Documentation: let asciidoc align related options
+
+Michael J Gruber (2):
+      add test cases for "git mv -k"
+      fix handling of multiple untracked files for git mv -k
+
+Miklos Vajna (2):
+      fast-export: print usage when no options specified
+      Make t3411 executable
+
+Paul Jarc (1):
+      configure clobbers LDFLAGS
+
+Philippe Bruhat (1):
+      Git.pm: correctly handle directory name that evaluates to "false"
+
+Pierre Habouzit (1):
+      Avoid spurious error messages on error mistakes.
+
+René Scharfe (8):
+      daemon: handle freopen() failure
+      daemon: cleanup: replace loop with if
+      daemon: cleanup: factor out xstrdup_tolower()
+      merge-file: handle freopen() failure
+      pretty: factor out skip_empty_lines()
+      pretty: factor out format_subject()
+      pretty: support multiline subjects with format:
+      shortlog: handle multi-line subjects like log --pretty=oneline et. al. do
+
+Shawn O. Pearce (1):
+      describe: Avoid unnecessary warning when using --all
+
+Stephan Beyer (5):
+      t3501: check that commits are actually done
+      t3404: Add test case for aborted --continue after "edit"
+      t3404: Add test case for auto-amending only edited commits after "edit"
+      builtin-commit.c: do not remove COMMIT_EDITMSG
+      githooks.txt: add missing word
+
+Thomas Rast (3):
+      diff: accept -- when using --no-index
+      diff --no-index: test for pager after option parsing
+      diff --no-index -q: fix endless loop
+
+jidanni@jidanni.org (4):
+      Documentation/diff-options.txt: unify options
+      Documentation/git-tag.txt: minor typo and grammar fix
+      Documentation/git-push.txt: minor: compress one option
+      contrib/examples/README: give an explanation of the status of these files
+
+
+Version v1.6.1; changes since v1.6.1-rc4:
+-----------------------------------------
+
+Johannes Schindelin (1):
+      rebase -i -p: leave a --cc patch when a merge could not be redone
+
+Johannes Sixt (2):
+      Show a failure of rebase -p if the merge had a conflict
+      rebase -i -p: Fix --continue after a merge could not be redone
+
+Junio C Hamano (1):
+      GIT 1.6.1
+
+Miklos Vajna (1):
+      t9129: skip the last three tests if UTF-8 locale is not available
+
+
+Version v1.6.1-rc4; changes since v1.6.1-rc3:
+---------------------------------------------
+
+Alexander Gavrilov (2):
+      git-gui: Fix handling of relative paths in blame.
+      git-gui: Fix commit encoding handling.
+
+Arjen Laarhoven (1):
+      Enable threaded delta search on Mac OS X/Darwin
+
+Boyd Stephen Smith Jr (1):
+      git-revert documentation: refer to new HOWTO on reverting faulty merges
+
+Christian Stimming (3):
+      git-gui: Update German (completed) translation.
+      gitk: Mark forgotten strings (header sentence parts in color chooser) for translation
+      gitk: Update German translation
+
+David Aguilar (1):
+      git-mergetool: properly handle "git mergetool -- filename"
+
+Fredrik Skolmli (1):
+      git-gui: Starting translation for Norwegian
+
+Giuseppe Bilotta (1):
+      gitk: Map / to focus the search box
+
+Johannes Schindelin (3):
+      fast-import: close pack before unlinking it
+      git-gui: Get rid of the last remnants of GIT_CONFIG_LOCAL
+      fast-export: deal with tag objects that do not have a tagger
+
+Johannes Sixt (3):
+      gitk: Use check-buttons' -text property instead of separate labels
+      gitk: Ensure that "Reset branch" menu entry is enabled
+      gitk: Force the focus to the main window on Windows
+
+Junio C Hamano (12):
+      git-show: do not segfault when showing a bad tag
+      pager: do not dup2 stderr if it is already redirected
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+      gitweb: do not run "git diff" that is Porcelain
+      make_absolute_path(): check bounds when seeing an overlong symlink
+      builtin-blame.c: use strbuf_readlink()
+      combine-diff.c: use strbuf_readlink()
+      fast-import: make tagger information optional
+      Make sure lockfiles are unlocked when dying on SIGPIPE
+      send-email: futureproof split_addrs() sub
+      GIT 1.6.1-rc4
+
+Kevin Ballard (1):
+      gitk: Allow unbalanced quotes/braces in commit headers
+
+Kirill A. Korinskiy (1):
+      Remove the requirement opaquelocktoken uri scheme
+
+Lee Marlow (2):
+      bash completion: Sort config completion variables
+      bash completion: Sync config variables with their man pages
+
+Linus Torvalds (5):
+      Add generic 'strbuf_readlink()' helper function
+      Make 'ce_compare_link()' use the new 'strbuf_readlink()'
+      Make 'index_path()' use 'strbuf_readlink()'
+      Make 'diff_populate_filespec()' use the new 'strbuf_readlink()'
+      Make 'prepare_temp_file()' ignore st_size for symlinks
+
+Marcel M. Cary (1):
+      git-sh-setup: Fix scripts whose PWD is a symlink into a git work-dir
+
+Markus Heidelberg (7):
+      Documentation: fix description for enabling hooks
+      doc/git-reset: add reference to git-stash
+      Documentation: sync example output with git output
+      Documentation: fix typos, grammar, asciidoc syntax
+      Documentation: fix typos, grammar, asciidoc syntax
+      Documentation/git-show-branch: work around "single quote" typesetting glitch
+      doc/git-fsck: change the way for getting heads' SHA1s
+
+Michael J Gruber (1):
+      test overlapping ignore patterns
+
+Michele Ballabio (1):
+      git gui: update Italian translation
+
+Miklos Vajna (4):
+      git-gui: Update Hungarian translation for 0.12
+      git-daemon documentation: use {tilde}
+      githooks documentation: add a note about the +x mode
+      SubmittingPatches: mention the usage of real name in Signed-off-by: lines
+
+Nanako Shiraishi (3):
+      git-gui: Update Japanese translation for 0.12
+      Clarify documentation of "git checkout <tree-ish> paths" syntax
+      Add a documentat on how to revert a faulty merge
+
+Paul Mackerras (1):
+      gitk: Fix bugs in blaming code
+
+Peter Krefting (2):
+      git-gui: Updated Swedish translation (515t0f0u).
+      git-gui: Fixed typos in Swedish translation.
+
+René Scharfe (3):
+      Fix type-mismatch compiler warning from diff_populate_filespec()
+      connect.c: stricter port validation, silence compiler warning
+      fast-import.c: stricter strtoul check, silence compiler warning
+
+Richard Hartmann (2):
+      Make help entries alphabetical
+      Always show which directory is not a git repository
+
+Robin Rosenberg (1):
+      git-revert: record the parent against which a revert was made
+
+Shawn O. Pearce (2):
+      git-gui: Update po template to include 'Mirroring %s' message
+      git-gui 0.12
+
+Wu Fengguang (1):
+      git-send-email: handle email address with quoted comma
+
+
+Version v1.6.1-rc3; changes since v1.6.1-rc2:
+---------------------------------------------
+
+Alexander Gavrilov (1):
+      Documentation: Describe git-gui Tools menu configuration options.
+
+Alexander Potashev (2):
+      Fix typos in documentation
+      Fix typo in comment in builtin-add.c
+
+Alexey Borzenkov (1):
+      Define linkgit macro in [macros] section
+
+Brandon Casey (1):
+      git-branch: display sha1 on branch deletion
+
+Deskin Miller (1):
+      git-svn: Make following parents atomic
+
+Jakub Narębski (1):
+      gitweb: Fix bug in insert_file() subroutine
+
+Jeff King (5):
+      reorder ALLOW_TEXTCONV option setting
+      diff: allow turning on textconv explicitly for plumbing
+      diff: fix handling of binary rewrite diffs
+      diff: respect textconv in rewrite diffs
+      rebase: improve error messages about dirty state
+
+Jim Meyering (1):
+      git-config.txt: fix a typo
+
+Johannes Schindelin (1):
+      Get rid of the last remnants of GIT_CONFIG_LOCAL
+
+Junio C Hamano (4):
+      builtin-checkout.c: check error return from read_cache()
+      read-cache.c: typofix in comment
+      work around Python warnings from AsciiDoc
+      Fix t4031
+
+Linus Torvalds (1):
+      fsck: reduce stack footprint
+
+Markus Heidelberg (1):
+      builtin-commit: remove unused message variable
+
+Nicolas Pitre (1):
+      make sure packs to be replaced are closed beforehand
+
+Ralf Wildenhues (1):
+      Improve language in git-merge.txt and related docs
+
+Tor Arvid Lund (1):
+      git-p4: Fix regression in p4Where method.
+
+YONETANI Tomokazu (1):
+      git-fast-import possible memory corruption problem
+
+
+Version v1.6.1-rc2; changes since v1.6.1-rc1:
+---------------------------------------------
+
+Alex Riesen (3):
+      Make some of fwrite/fclose/write/close failures visible
+      Make chdir failures visible
+      Report symlink failures in merge-recursive
+
+Alexander Gavrilov (2):
+      gitk: Make line origin search update the busy status
+      gitk: Add a menu option to start git gui
+
+Christian Couder (2):
+      bisect: fix "git bisect skip <commit>" and add tests cases
+      Documentation: describe how to "bisect skip" a range of commits
+
+Christian Stimming (1):
+      gitk: Update German translation
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Deskin Miller (1):
+      git-svn: Make branch use correct svn-remote
+
+Giuseppe Bilotta (2):
+      gitweb: make gitweb_check_feature a boolean wrapper
+      Update comment on gitweb_check/get_feature
+
+Jakub Narębski (2):
+      gitweb: Fix handling of non-ASCII characters in inserted HTML files
+      gitweb: Make project specific override for 'grep' feature work
+
+Jeff King (2):
+      add stage to gitignore
+      tag: delete TAG_EDITMSG only on successful tag
+
+Johannes Sixt (1):
+      t4030-diff-textconv: Make octal escape sequence more portable
+
+Junio C Hamano (17):
+      builtin-rm.c: explain and clarify the "local change" logic
+      git add --intent-to-add: fix removal of cached emptiness
+      git add --intent-to-add: do not let an empty blob be committed by accident
+      gitweb: fix 'ctags' feature check and others
+      gitweb: rename gitweb_check_feature to gitweb_get_feature
+      Makefile: introduce NO_PTHREADS
+      Install git-stage in exec-path
+      git-am --whitespace: do not lose the command line option
+      git-am: propagate -C<n>, -p<n> options as well
+      git-am: propagate --3way options as well
+      Test that git-am does not lose -C/-p/--whitespace options
+      git-am: rename apply_opt_extra file to apply-opt
+      Update draft release notes to 1.6.1
+      GIT 1.6.0.5
+      Update draft release notes for 1.6.1
+      Revert "git-stash: use git rev-parse -q"
+      Point "stale" 1.6.0.5 documentation from the main git documentation page
+
+Linus Torvalds (1):
+      Add backslash to list of 'crud' characters in real name
+
+Mark Burton (1):
+      git-gui: Teach start_push_anywhere_action{} to notice when remote is a mirror.
+
+Matt McCutchen (1):
+      "git diff <tree>{3,}": do not reverse order of arguments
+
+Miklos Vajna (8):
+      User's Manual: remove duplicated url at the end of Appendix B
+      git-stash: use git rev-parse -q
+      filter-branch: use git rev-parse -q
+      lost-found: use git rev-parse -q
+      pull: use git rev-parse -q
+      rebase: use git rev-parse -q
+      submodule: use git rev-parse -q
+      http.c: use 'git_config_string' to get 'curl_http_proxy'
+
+Nguyễn Thái Ngọc Duy (1):
+      Extend index to save more flags
+
+Paul Mackerras (3):
+      gitk: Fix context menu items for generating diffs when in tree mode
+      gitk: Highlight only when search type is "containing:".
+      gitk: Fix bug in accessing undefined "notflag" variable
+
+Scott Chacon (1):
+      Add a built-in alias for 'stage' to the 'add' command
+
+Thomas Rast (1):
+      fetch-pack: Avoid memcpy() with src==dst
+
+Tor Arvid Lund (1):
+      git-p4: Fix bug in p4Where method.
+
+
+Version v1.6.1-rc1; changes since v1.6.0.6:
+-------------------------------------------
+
+Abhijit Menon-Sen (1):
+      Make cherry-pick use rerere for conflict resolution.
+
+Alex Riesen (11):
+      Extend "checkout --track" DWIM to support more cases
+      Remove calculation of the longest command name from where it is not used
+      Remove useless memset of static command name lists in builtin-merge.c
+      Make main_cmds and other_cmds local to builtin-help.c
+      Allow git help work without PATH set
+      list_commands: only call git_exec_path if it is needed
+      Add help.autocorrect to enable/disable autocorrecting
+      Cleanup remove_path
+      Fix potentially dangerous uses of mkpath and git_path
+      Fix handle leak in sha1_file/unpack_objects if there were damaged object data
+      Fix t4030-diff-textconv.sh
+
+Alexander Gavrilov (58):
+      git-gui: Support starting gitk from Gui Blame
+      git-gui: Support passing blame to a parent commit.
+      git-gui: Better positioning in Blame Parent Commit
+      git-gui: Allow specifying an initial line for git gui blame.
+      gitk: Add option to specify the default commit on command line
+      gitk: Add menu item for calling git gui blame
+      git-gui: Support resolving conflicts via the diff context menu.
+      git-gui: Support calling merge tools.
+      git-gui: Don't allow staging files with conflicts.
+      git-gui: Support more merge tools.
+      git-gui: Support conflict states _U & UT.
+      git-gui: Reimplement and enhance auto-selection of diffs.
+      git-gui: Make F5 reselect a diff, if an untracked file is selected.
+      git-gui: Show special diffs for complex conflict cases.
+      git-gui: Fix Blame Parent & Context for working copy lines.
+      git-gui: Restore ability to Stage Working Copy for conflicts.
+      gitk: Fix a bug in collapsing deeply nested trees
+      git-gui: Add more integration options to citool.
+      git-gui: Cleanup handling of the default encoding.
+      git-gui: Add a menu of available encodings.
+      git-gui: Allow forcing display encoding for diffs using a submenu.
+      git-gui: Optimize encoding name resolution using a lookup table.
+      git-gui: Support the encoding menu in gui blame.
+      git-gui: Reenable staging unmerged files by clicking the icon.
+      git-gui: Make Ctrl-T safe to use for conflicting files.
+      git-gui: Fix the blame window shape.
+      git-gui: Add a search command to the blame viewer.
+      git-gui: Fix the blame viewer destroy handler.
+      gitk: Enhance file encoding support
+      gitk: Implement batch lookup and caching of encoding attrs
+      gitk: Allow forcing branch creation if it already exists
+      gitk: Fix file list context menu for merge commits
+      builtin-blame: Reencode commit messages according to git-log rules.
+      gitk: Allow starting gui blame for a specific line
+      git-gui: Add a dialog that shows the OpenSSH public key.
+      git-gui: Add a simple implementation of SSH_ASKPASS.
+      Windows: Make OpenSSH properly detect tty detachment.
+      gitweb: Use single implementation of export_ok check.
+      gitweb: Add a per-repository authorization hook.
+      gitweb: Fix mod_perl support.
+      gitk: Add Return and Escape bindings to dialogs
+      gitk: Make gitk dialog windows transient
+      gitk: Make cherry-pick call git-citool on conflicts
+      gitk: Implement a user-friendly Edit View dialog
+      git-gui: Fix focus transition in the blame viewer.
+      git-gui: Add the Show SSH Key item to the clone dialog.
+      git-gui: Request blame metadata in utf-8.
+      gitk: Add accelerators to frequently used menu commands
+      gitk: Fix transient windows on Win32 and MacOS
+      gitk: Fix commit encoding support
+      Documentation: New GUI configuration and command-line options.
+      git-gui: Implement system-wide configuration handling.
+      git-gui: Fix the after callback execution in rescan.
+      git-gui: Add a Tools menu for arbitrary commands.
+      git-gui: Allow Tools request arguments from the user.
+      git-gui: Implement automatic rescan after Tool execution.
+      git-gui: Fix the search bar destruction handler.
+      gitk: Avoid handling the Return key twice in Add Branch
+
+Alexandre Julliard (9):
+      git.el: Improve error handling for commits.
+      git.el: Remove the env parameter in git-call-process and git-call-process-string.
+      git.el: Simplify handling of merge heads in the commit log-edit buffer.
+      git.el: Properly handle merge commits in git-amend-commit.
+      git.el: Fix git-amend-commit to support amending an initial commit.
+      git.el: Never clear the status buffer, only update the files.
+      git.el: Add an insert file command.
+      git.el: Add possibility to mark files directly in git-update-status-files.
+      git.el: Allow to commit even if there are no marked files.
+
+Anders Melchiorsen (2):
+      wt-status: Split header generation into three functions
+      wt-status: Teach how to discard changes in the working directory
+
+Andreas Ericsson (3):
+      Teach "git diff -p" to locate PHP class methods
+      git commit: Reformat output somewhat
+      rebase: Support preserving merges in non-interactive mode
+
+Arjen Laarhoven (1):
+      t6023-merge-file: Work around non-portable sed usage
+
+Bert Wesarg (1):
+      for-each-ref: `:short` format for `refname`
+
+Brandon Casey (9):
+      remote.c: add a function for deleting a refspec array and use it (twice)
+      dir.c: Avoid c99 array initialization
+      t4018-diff-funcname: test syntax of builtin xfuncname patterns
+      diff.c: remove duplicate bibtex pattern introduced by merge 92bb9785
+      xdiff-interface.c: strip newline (and cr) from line before pattern matching
+      Replace xmalloc/memset(0) pairs with xcalloc
+      t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
+      Replace calls to strbuf_init(&foo, 0) with STRBUF_INIT initializer
+      t4018-diff-funcname: add objective-c xfuncname pattern to syntax test
+
+Brian Downing (4):
+      Make xdi_diff_outf interface for running xdiff_outf diffs
+      Use strbuf for struct xdiff_emit_state's remainder
+      Always initialize xpparam_t to 0
+      Allow alternate "low-level" emit function from xdl_diff
+
+Brian Gernhardt (2):
+      format-patch: autonumber by default
+      Avoid using non-portable `echo -n` in tests.
+
+Cheng Renquan (2):
+      git-remote: match usage string with the manual pages
+      git-remote: add verbose mode to git remote update
+
+Christian Couder (10):
+      merge-base: teach "git merge-base" to drive underlying merge_bases_many()
+      bisect: test merge base if good rev is not an ancestor of bad rev
+      bisect: only check merge bases when needed
+      bisect: remove "checkout_done" variable used when checking merge bases
+      refs: improve comments about "reading" argument of "resolve_ref"
+      bisect: fix missing "exit"
+      Documentation: user-manual: add information about "git help" at the beginning
+      Documentation: tutorial: add information about "git help" at the beginning
+      git-gui: french translation update
+      bisect: teach "skip" to accept special arguments like "A..B"
+
+Christian Stimming (5):
+      git-gui: Mark forgotten strings for translation.
+      git-gui: I18n fix sentence parts into full sentences for translation again.
+      git-gui: Updated German translation.
+      gitk: Add untranslated error messages to translation
+      git-gui: Update German translation.
+
+Dan Hensgen (1):
+      git-merge documentation: more details about resolving conflicts
+
+Daniel Lowe (1):
+      Fix non-literal format in printf-style calls
+
+David Aguilar (3):
+      git-submodule: replace duplicated code with a module_list function
+      git-submodule: add "sync" command
+      tests: add a testcase for "git submodule sync"
+
+David Bryson (1):
+      Use "git_config_string" to simplify "builtin-gc.c" code where "prune_expire" is set
+
+David M. Syzdek (5):
+      Build: add NO_UINTMAX_T to support ancient systems
+      Add Makefile check for FreeBSD 4.9-SECURITY
+      autoconf: Add link tests to each AC_CHECK_FUNC() test
+      Make Pthread link flags configurable
+      Add autoconf tests for pthreads
+
+David Soria Parra (1):
+      cast pid_t's to uintmax_t to improve portability
+
+David Symonds (1):
+      git-diff: Add --staged as a synonym for --cached.
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Deskin Miller (4):
+      git-svn: testcase for partial rebuild
+      git-svn: do a partial rebuild if rev_map is out-of-date
+      git-svn: proper detection of bare repositories
+      git-svn: proper detection of bare repositories
+
+Dmitry Potapov (14):
+      teach index_fd to work with pipes
+      correct argument checking test for git hash-object
+      correct usage help string for git-hash-object
+      use parse_options() in git hash-object
+      add --path option to git hash-object
+      add --no-filters option to git hash-object
+      mingw: remove use of _getdrive() from lstat/fstat
+      add have_git_dir() function
+      mingw: move common functionality to win32.h
+      cygwin: Use native Win32 API for stat
+      do not segfault if make_cache_entry failed
+      print an error message for invalid path
+      check-attr: add an internal check_attr() function
+      check-attr: Add --stdin option
+
+Dotan Barak (1):
+      Use xmalloc() and friends to catch allocation failures
+
+Eric Wong (7):
+      git-svn: check error code of send_txstream
+      t9124: clean up chdir usage
+      git-svn: fix handling of even funkier branch names
+      git-svn: don't escape tilde ('~') for http(s) URLs
+      git-svn: respect i18n.commitencoding config
+      git-svn: don't escape tilde ('~') for http(s) URLs
+      git-svn: respect i18n.commitencoding config
+
+Florian Ragwitz (1):
+      Add git-svn branch to allow branch creation in SVN repositories
+
+Florian Weimer (3):
+      git-svn: extract base blob in generate_diff
+      git-svn: Introduce SVN::Git::Editor::_chg_file_get_blob
+      git-svn: Send deltas during commits
+
+Fredrik Skolmli (1):
+      Documentation: Spelling fix
+
+Garry Dolley (1):
+      Fixed some grammatical errors in git-rebase.txt documentation.
+
+Giovanni Funchal (1):
+      configure: auto detect dynamic library path switches
+
+Giuseppe Bilotta (12):
+      gitweb: ref markers link to named shortlogs
+      gitweb: shortlog now also obeys $hash_parent
+      gitweb: refactor input parameters parse/validation
+      gitweb: parse project/action/hash_base:filename PATH_INFO
+      gitweb: generate project/action/hash URLs
+      gitweb: use_pathinfo filenames start with /
+      gitweb: parse parent..current syntax from PATH_INFO
+      gitweb: generate parent..current URLs
+      gitweb: make the supported snapshot formats array global
+      gitweb: retrieve snapshot format from PATH_INFO
+      gitweb: embed snapshot format parameter in PATH_INFO
+      git-gui: try to provide a window icon under X
+
+Gustaf Hendeby (2):
+      Update .gitignore to ignore git-help
+      git-gui: Teach git gui about file type changes
+
+Heikki Orsila (1):
+      diff --dirstat-by-file: count changed files, not lines
+
+Jakub Narębski (1):
+      gitweb: Better processing format string in custom links in navbar
+
+Jan Krüger (1):
+      Introduce receive.denyDeletes
+
+Jeff King (28):
+      run-command: add pre-exec callback
+      spawn pager via run_command interface
+      format-patch: use default diff format even with patch options
+      tests: grep portability fixes
+      reformat informational commit message
+      tutorial: update output of git commit
+      tests: shell negation portability fix
+      t4012: use test_cmp instead of cmp
+      diff: unify external diff and funcname parsing code
+      diff: introduce diff.<driver>.binary
+      diff: add filter for converting binary to text
+      document "intent to add" option to git-add
+      rm: loosen safety valve for empty files
+      submodule: fix some non-portable grep invocations
+      diff: add missing static declaration
+      document the diff driver textconv feature
+      refactor userdiff textconv code
+      userdiff: require explicitly allowing textconv
+      only textconv regular files
+      wt-status: load diff ui config
+      add userdiff textconv tests
+      enable textconv for diff in verbose status/commit
+      t5400: expect success for denying deletion
+      t5516: refactor oddball tests
+      receive-pack: detect push to current branch of non-bare repo
+      define empty tree sha1 as a macro
+      wt-status: refactor initial commit printing
+      status: show "-v" diff even for initial commit
+
+Jim Meyering (4):
+      add boolean diff.suppress-blank-empty config option
+      SubmittingPatches: fix a typo
+      reword --full-index description
+      xdiff-interface.c: remove 10 duplicated lines
+
+Joey Hess (2):
+      git-daemon: set REMOTE_ADDR to client address
+      sha1_file: avoid bogus "file exists" error message
+
+Johan Herland (3):
+      Teach "git diff -p" HTML funcname patterns
+      Fix AsciiDoc errors in merge documentation
+      Fix submodule sync with relative submodule URLs
+
+Johannes Schindelin (7):
+      t9700: remove useless check
+      tests: Clarify dependencies between tests, 'aggregate-results' and 'clean'
+      Enable parallel tests
+      checkout --track: make up a sensible branch name if '-b' was omitted
+      test-lib: do not remove trash_directory if called with --debug
+      git wrapper: DWIM mistyped commands
+      Document levenshtein.c
+
+Johannes Sixt (11):
+      Revert "Windows: Use a customized struct stat that also has the st_blocks member."
+      filter-branch: Grok special characters in tag names
+      Windows: git-shell can be compiled again
+      compat/mingw: Support a timeout in the poll emulation if no fds are given
+      git-gui: Do not automatically stage file after merge tool finishes
+      git-gui: Remove space from the end of aspell's reply before processing
+      git-gui: Fix switch statement in lib/merge.tcl
+      git-gui: Show a round number of bytes of large untracked text files
+      git-gui: Mark-up strings in show_{other,unmerged}_diff() for localization
+      git-remote: list branches in vertical lists
+      git-gui: Do not munge conflict marker lines in a normal diff
+
+John Chapman (2):
+      git-p4: Support purged files and optimize memory usage
+      git-p4: Cache git config for performance
+
+Jonas Fonseca (1):
+      git-check-attr(1): use 'verse' for multi-line synopsis sections
+
+Jonathan del Strother (3):
+      Revert "Convert output messages in merge-recursive to past tense."
+      Add OS X support to the pre-auto-gc example hook
+      Teach git diff about Objective-C syntax
+
+Joshua Williams (1):
+      git-gui: Add support for calling out to the prepare-commit-msg hook
+
+Junio C Hamano (78):
+      builtin-add.c: restructure the code for maintainability
+      builtin-add.c: optimize -A option and "git add ."
+      imap-send.c: more style fixes
+      documentation: merge-base: explain "git merge-base" with more than 2 args
+      merge-base-many: add trivial tests based on the documentation
+      git-merge-octopus: use (merge-base A (merge B C D E...)) for stepwise merge
+      revision.c: whitespace fix
+      revision traversal: show full history with merge simplification
+      Topo-sort before --simplify-merges
+      update-index: refuse to add working tree items beyond symlinks
+      add: refuse to add working tree items beyond symlinks
+      xdiff-interface: hide the whole "xdiff_emit_state" business from the caller
+      revision --simplify-merges: use decoration instead of commit->util field
+      index: future proof for "extended" index entries
+      tests: use $TEST_DIRECTORY to refer to the t/ directory
+      Start 1.6.1 cycle
+      Makefile: Allow CC_LD_DYNPATH to be overriden
+      revision --simplify-merges: do not leave commits unprocessed
+      revision --simplify-merges: make it a no-op without pathspec
+      compat: introduce on_disk_bytes()
+      shell: do not play duplicated definition games to shrink the executable
+      Build-in "git-shell"
+      Update draft release notes for 1.6.1
+      Fix "git-merge -s bogo" help text
+      templates/Makefile: install is unnecessary, just use mkdir -p
+      t7606: fix custom merge test
+      Revert "Build-in "git-shell""
+      daemon.c: minor style fixup
+      checkout -f: allow ignoring unmerged paths when checking out of the index
+      checkout --ours/--theirs: allow checking out one side of a conflicting merge
+      xdl_fill_merge_buffer(): separate out a too deeply nested function
+      xdiff-merge: optionally show conflicts in "diff3 -m" style
+      xmerge.c: minimum readability fixups
+      xmerge.c: "diff3 -m" style clips merge reduction level to EAGER or less
+      rerere.c: use symbolic constants to keep track of parsing states
+      rerere: understand "diff3 -m" style conflicts with the original
+      merge.conflictstyle: choose between "merge" and "diff3 -m" styles
+      git-merge-recursive: learn to honor merge.conflictstyle
+      checkout -m: recreate merge when checking out of unmerged index
+      diff: vary default prefix depending on what are compared
+      git commit --author=$name: look $name up in existing commits
+      git-add --intent-to-add (-N)
+      checkout --conflict=<style>: recreate merge in a non-default style
+      git-merge documentation: describe how conflict is presented
+      Update draft release notes for 1.6.1
+      safe_create_leading_directories(): make it about "leading" directories
+      git-apply:--include=pathspec
+      Update draft release notes for 1.6.1
+      daemon.c: avoid setlinebuf()
+      is_directory(): a generic helper function
+      receive-pack: make it a builtin
+      push: prepare sender to receive extended ref information from the receiver
+      push: receiver end advertises refs from alternate repositories
+      Fix git-diff-tree --stdin
+      diff: use extended regexp to find hunk headers
+      diff: fix "multiple regexp" semantics to find hunk header comment
+      Update draft release notes to 1.6.1
+      t5510: test "git fetch" following tags minimally
+      Update draft release notes to 1.6.1
+      Fix reading of cloud tags
+      Update draft release notes for 1.6.1
+      Fix mismerge at cdb22c4 in builtin-checkout.c
+      rebase-i-p: minimum fix to obvious issues
+      git-rebase--interactive.sh: comparision with == is bashism
+      receive-pack: fix "borrowing from alternate object store" implementation
+      compat/cygwin.c: make runtime detection of lstat/stat lessor impact
+      Stop using compat/regex.c on platforms with working regexp library
+      Update draft release notes to 1.6.1
+      Update draft release notes to 1.6.1
+      Update draft release notes to 1.6.1
+      t5303: work around printf breakage in dash
+      t5303: fix printf format string for portability
+      git.html: Update the links to stale versions
+      Update draft release notes to 1.6.1
+      builtin-remote.c: plug a small memory leak in get_one_remote_for_updates()
+      send-email: do not reverse the command line arguments
+      Include git-gui--askpass in git-gui RPM package
+      GIT 1.6.1-rc1
+
+Karl Wiberg (4):
+      Refactoring: Split up diff_tree_stdin
+      diff-tree: Note that the commit ID is printed with --stdin
+      Teach git diff-tree --stdin to diff trees
+      Add test for diff-tree --stdin with two trees
+
+Kirill Smelkov (1):
+      Teach "git diff -p" Python funcname patterns
+
+Lee Marlow (2):
+      bash completion: Add 'workflows' to 'git help'
+      workflows documentation: fix link to git-request-pull[1]
+
+Linus Torvalds (8):
+      date/time: do not get confused by fractional seconds
+      Add a 'source' decorator for commits
+      revision: make tree comparison functions take commits rather than trees
+      Make '--decorate' set an explicit 'show_decorations' flag
+      revision traversal: '--simplify-by-decoration'
+      Add cache preload facility
+      Fix machine-parseability of 'git log --source'
+      Fix index preloading for racy dirty case
+
+Marcel Koeppen (1):
+      t9129-git-svn-i18n-commitencoding: Make compare_svn_head_with() compatible with OSX sed
+
+Marcus Griep (2):
+      count-objects: Add total pack size to verbose output
+      Update t/.gitignore to ignore all trash directories
+
+Marek Zawirski (1):
+      Make push more verbose about illegal combination of options
+
+Mark Burton (2):
+      Documentation: rev-list-options.txt: added --branches, --tags & --remotes.
+      git-commit.txt - mention that files listed on the command line must be known to git.
+
+Mark Levedahl (5):
+      git-submodule - Add 'foreach' subcommand
+      git-submodule.sh - Remove trailing / from URL if found
+      git-submodule.sh - Remove trailing / from URL if found
+      git-submodule - Use "get_default_remote" from git-parse-remote
+      compat/cygwin.c - Use cygwin's stat if core.filemode == true
+
+Markus Heidelberg (1):
+      Makefile: add install-man rules (quick and normal)
+
+Marten Svanfeldt (dev) (2):
+      Git.pm: Make _temp_cache use the repository directory
+      git-svn: Update git-svn to use the ability to place temporary files within repository directory
+
+Matt McCutchen (2):
+      "git diff <tree>{3,}": do not reverse order of arguments
+      git-merge-recursive: honor merge.conflictstyle once again
+
+Matthias Kestenholz (1):
+      bash-completion: Add all submodule subcommands to the completion list
+
+Michael J Gruber (3):
+      allow installation of man and html doc from the man and html branches
+      separate build targets for man and html documentation
+      make prune report removed objects on -v
+
+Michael Witten (9):
+      Docs: send-email's usage text and man page mention same options
+      Docs: send-email usage text much sexier
+      Docs: send-email: Man page option ordering
+      send-email: change --no-validate to boolean --[no-]validate
+      Docs: send-email: --chain_reply_to -> --[no-]chain-reply-to
+      Docs: send-email: Remove unnecessary config variable description
+      Docs: send-email: Create logical groupings for --help text
+      Docs: send-email: Create logical groupings for man text
+      send-email: signedoffcc -> signedoffbycc, but handle both
+
+Michele Ballabio (1):
+      git gui: update Italian translation
+
+Mikael Magnusson (1):
+      Correct output of git-count-objects.
+
+Mike Ralphson (1):
+      gitweb: Sort the list of forks on the summary page by age
+
+Miklos Vajna (36):
+      builtin-help: make some internal functions available to other builtins
+      builtin-merge: allow using a custom strategy
+      Add a new test for using a custom merge strategy
+      Add a second testcase for handling invalid strategies in git-merge
+      builtin-help: always load_command_list() in cmd_help()
+      Builtin git-help.
+      Split out merge_recursive() to merge-recursive.c
+      merge-recursive: introduce merge_options
+      builtin-merge: avoid run_command_v_opt() for recursive and subtree
+      cherry-pick/revert: make direct internal call to merge_tree()
+      merge-recursive: move call_depth to struct merge_options
+      merge-recursive: get rid of the index_only global variable
+      merge-recursive: move the global obuf to struct merge_options
+      merge-recursive: move current_{file,directory}_set to struct merge_options
+      merge-recursive: get rid of virtual_id
+      builtin-merge: release the lockfile in try_merge_strategy()
+      commit_tree(): add a new author parameter
+      builtin-commit: use commit_tree()
+      t7603: add new testcases to ensure builtin-commit uses reduce_heads()
+      builtin-merge: refresh the index before calling a strategy
+      builtin-commit: use reduce_heads() only when appropriate
+      Cleanup in sha1_file.c::cache_or_unpack_entry()
+      Implement git clone -v
+      Add Linux PPC support to the pre-auto-gc example hook
+      parse-opt: migrate builtin-checkout-index.
+      Implement git remote rename
+      remote: add a new 'origin' variable to the struct
+      git-remote rename: migrate from remotes/ and branches/
+      git-remote: document the migration feature of the rename subcommand
+      Update Hungarian translation. 100% completed.
+      builtin-branch: use strbuf in delete_branches()
+      builtin-branch: use strbuf in fill_tracking_info()
+      builtin-branch: use strbuf in rename_branch()
+      builtin-clone: use strbuf in guess_dir_name()
+      builtin-clone: use strbuf in clone_local() and copy_or_link_directory()
+      builtin_clone: use strbuf in cmd_clone()
+
+Nanako Shiraishi (22):
+      t/t91XX-svn: start removing use of "git-" from these tests
+      t/t91XX git-svn tests: run "git svn" not "git-svn"
+      t9200: use "git cvsexportcommit" without dash
+      t9300, t9301: use "git fast-import/fast-export" without dash
+      t9700: use "git config" without dash
+      tests: use "git foo" without dash in strings
+      t9101: use "git hash-object" without dash
+      Install git-cvsserver in $(bindir)
+      remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static.
+      graph.c: make many functions static
+      usage.c: remove unused functions
+      Add contrib/rerere-train script
+      dir.c: make dir_add_name() and dir_add_ignored() static
+      run-command.c: remove run_command_v_opt_cd()
+      config.c: make git_parse_long() static
+      commit.c: make read_graft_file() static
+      archive.c: make archiver static
+      rebase --no-verify
+      rebase: Document --no-verify option to bypass pre-rebase hook
+      Document "git log --source"
+      Document "git log --simplify-by-decoration"
+      git-gui: update Japanese translation
+
+Neil Roberts (1):
+      config.mak.in: Pass on LDFLAGS from configure
+
+Nicolas Pitre (18):
+      sha1write: don't copy full sized buffers
+      pack-objects: don't include missing preferred base objects
+      t5300: improve SHA1 collision test
+      fix openssl headers conflicting with custom SHA1 implementations
+      index-pack: rationalize delta resolution code
+      index-pack: smarter memory usage during delta resolution
+      fix multiple issues in index-pack
+      improve index-pack tests
+      index-pack: don't leak leaf delta result
+      close another possibility for propagating pack corruption
+      better validation on delta base object offsets
+      make unpack_object_header() non fatal
+      make packed_object_info() resilient to pack corruptions
+      make check_object() resilient to pack corruptions
+      make find_pack_revindex() aware of the nasty world
+      pack-objects: allow "fixing" a corrupted pack without a full repack
+      extend test coverage for latest pack corruption resilience improvements
+      pack-objects: don't leak pack window reference when splitting packs
+
+Paolo Bonzini (1):
+      provide more errors for the "merge into empty head" case
+
+Paul Mackerras (17):
+      gitk: Use <Button-2> for context menus on OSX
+      gitk: Clean up file encoding code and add enable/disable option
+      gitk: Fix binding for <Return> in sha1 entry field
+      gitk: New way of constructing menus that allows for Alt+letter accelerators
+      gitk: Regenerate .po files
+      gitk: Turn short SHA1 names into links too
+      gitk: Fix some off-by-one errors in computing which line to blame
+      gitk: Add a menu item to show where a given line comes from
+      gitk: Make the background color of marked lines configurable
+      gitk: Unify handling of merge diffs with normal 2-way diffs
+      gitk: Make "show origin of this line" work on fake commits
+      gitk: Cope with unmerged files in local changes
+      gitk: Improve cherry-pick error handling
+      gitk: Fix linehtag undefined error with file highlighting
+      gitk: Index line[hnd]tag arrays by id rather than row number
+      gitk: Fix switch statement in parseviewargs
+      gitk: Show local changes properly when we have a path limit
+
+Paul Talacko (1):
+      git-svn: set auto_props when renaming files
+
+Pete Harlan (2):
+      contrib/hooks/post-receive-email: Put rev display in separate function
+      contrib/hooks/post-receive-email: Make revision display configurable
+
+Peter Krefting (1):
+      Updated Swedish translation (514t0f0u).
+
+Peter Valdemar Mørch (2):
+      Teach git log --check to return an appropriate exit code
+      Teach git log --exit-code to return an appropriate exit code
+
+Petr Baudis (22):
+      git-web--browse: Support for using /bin/start on MinGW
+      git-gui: Clarify the Remote -> Delete... action
+      git-gui: Squash populate_{push,fetch}_menu to populate_remotes_menu
+      git-gui: Add support for adding remotes
+      git-gui: Add support for removing remotes
+      git-gui: mkdir -p when initializing new remote repository
+      git-gui: Use git web--browser for web browsing
+      git-gui: Add Explore Working Copy to the Repository menu
+      git-gui: gui.autoexplore makes explorer to pop up automatically after picking
+      git-gui: Avoid using the term URL when specifying repositories
+      git-gui: Make input boxes in init/clone/open dialogs consistent
+      git-gui: Fix removing non-pushable remotes
+      git-gui: Fix fetching from remotes when adding them
+      gitweb: Clean-up sorting of project list
+      gitweb: Quote non-displayable characters in hex, not octal
+      config.c: Tolerate UTF8 BOM at the beginning of config file
+      gitweb: Identify all summary metadata table rows
+      gitweb: Add support for extending the action bar with custom links
+      gitweb: Support for tag clouds
+      gitweb: Make the by_tag filter delve in forks as well
+      gitweb: Support for simple project search form
+      Do not rename read-only files during a push
+
+Pierre Habouzit (8):
+      Enable threaded delta search on *BSD and Linux.
+      parse-opt: migrate fmt-merge-msg.
+      parse-opt: migrate git-merge-base.
+      parse-opt: migrate builtin-merge-file.
+      git send-email: make the message file name more specific.
+      git send-email: interpret unknown files as revision lists
+      git send-email: add --annotate option
+      git send-email: ask less questions when --compose is used.
+
+Pieter de Bie (3):
+      builtin-reflog: Allow reflog expire to name partial ref
+      builtin-commit.c: show on which branch a commit was added
+      git wrapper: also use aliases to correct mistyped commands
+
+Quy Tonthat (1):
+      Update RPM spec for the new location of git-cvsserver.
+
+Ralf Wildenhues (2):
+      Correct typos in RelNotes-1.6.1
+      Fix typos in the documentation.
+
+Raphael Zimmerer (1):
+      git grep: Add "-z/--null" option as in GNU's grep.
+
+René Scharfe (15):
+      log: add load_ref_decorations()
+      move load_ref_decorations() to log-tree.c and export it
+      add '%d' pretty format specifier to show decoration
+      add alloc_ref_with_prefix()
+      use alloc_ref_from_str() everywhere
+      make alloc_ref_from_str() the new alloc_ref()
+      blame: inline get_patch()
+      add xdi_diff_hunks() for callers that only need hunk lengths
+      blame: use xdi_diff_hunks(), get rid of struct patch
+      add strbuf_expand_dict_cb(), a helper for simple cases
+      merge-recursive: use strbuf_expand() instead of interpolate()
+      daemon: use strbuf_expand() instead of interpolate()
+      daemon: inline fill_in_extra_table_entries()
+      daemon: deglobalize variable 'directory'
+      remove the unused files interpolate.c and interpolate.h
+
+Richard Quirk (1):
+      gitk: Bind Key-Return to create on new branch dialog
+
+Robert Shearman (4):
+      git-imap-send: Allow the program to be run from subdirectories of a git tree
+      git-imap-send: Support SSL
+      imap-send.c: style fixes
+      Documentation: Improve documentation for git-imap-send(1)
+
+Romain Francoise (1):
+      builtin-help: fallback to GIT_MAN_VIEWER before man
+
+SZEDER Gábor (3):
+      bash: use for-each-ref format 'refname:short'
+      remove vim syntax highlighting in favor of upstream
+      bash: complete full refs
+
+Samuel Tardieu (1):
+      Fix deletion of last character in levenshtein distance
+
+Santi Béjar (1):
+      rev-list documentation: clarify the two parts of history simplification
+
+Shawn O. Pearce (7):
+      Make reflog query '@{1219188291}' act as '@{2008.8.19.16:24:51.-0700}'
+      git-gui: Hide commit related UI during citool --nocommit
+      git-gui: Use gitattribute "encoding" for file content display
+      git-gui: Assume `blame --incremental` output is in UTF-8
+      git-gui: Show/hide "Sign Off" based on nocommitmsg option
+      describe: Make --tags and --all match lightweight tags more often
+      Update the po template
+
+Simon Hausmann (1):
+      Make it possible to abort the submission of a change to Perforce
+
+Stephan Beyer (2):
+      Fix commit_tree() buffer leak
+      merge-recursive.c: Add more generic merge_recursive_generic()
+
+Stephen Haberman (8):
+      rebase--interactive: fix parent rewriting for dropped commits
+      rebase-i-p: test to exclude commits from todo based on its parents
+      rebase-i-p: use HEAD for updating the ref instead of mapping OLDHEAD
+      rebase-i-p: delay saving current-commit to REWRITTEN if squashing
+      rebase-i-p: fix 'no squashing merges' tripping up non-merges
+      rebase-i-p: only list commits that require rewriting in todo
+      rebase-i-p: do not include non-first-parent commits touching UPSTREAM
+      rebase-i-p: if todo was reordered use HEAD as the rewritten parent
+
+Stephen R. van den Berg (4):
+      git-daemon: call logerror() instead of error()
+      git-daemon: use LOG_PID, simplify logging code
+      git-daemon: Simplify dead-children reaping logic
+      git-daemon: rewrite kindergarden, new option --max-connections
+
+Teemu Likonen (1):
+      bash completion: Add --[no-]validate to "git send-email"
+
+Thomas Rast (19):
+      filter-branch: Extend test to show rewriting bug
+      filter-branch: fix ref rewriting with --subdirectory-filter
+      filter-branch: use --simplify-merges
+      Documentation: rev-list-options: move --simplify-merges documentation
+      rev-list: fix --reverse interaction with --parents
+      t6013: replace use of 'tac' with equivalent Perl
+      git svn: catch lack of upstream info for dcommit earlier
+      git svn info: tests: let 'init' test run with SVN 1.5
+      git svn info: tests: do not use set -e
+      git svn info: tests: use test_cmp instead of git-diff
+      git svn info: tests: fix ptouch argument order in setup
+      git svn info: make info relative to the current directory
+      git svn info: always quote URLs in 'info' output
+      git-svn: match SVN 1.5 behaviour of info' on unknown item
+      git-svn: fix 'info' tests for unknown items
+      Documentation: new upstream rebase recovery section in git-rebase
+      Documentation: Refer to git-rebase(1) to warn against rewriting
+      Documentation: remove stale howto/rebase-and-edit.txt
+      Documentation: add manpage about workflows
+
+Tom Preston-Werner (1):
+      connect.c: add a way for git-daemon to pass an error back to client
+
+Tommi Virtanen (1):
+      Install git-shell in bindir, too
+
+Tor Arvid Lund (1):
+      git-p4: Fix checkout bug when using --import-local.
+
+Trent Piepho (1):
+      send-email: Fix Pine address book parsing
+
+Tuncer Ayaz (2):
+      Teach/Fix pull/fetch -q/-v options
+      Retain multiple -q/-v occurrences in git pull
+
+
+Version v1.6.0.6; changes since v1.6.0.5:
+-----------------------------------------
+
+David Aguilar (1):
+      git-mergetool: properly handle "git mergetool -- filename"
+
+Deskin Miller (1):
+      git-svn: Make following parents atomic
+
+Jim Meyering (1):
+      git-config.txt: fix a typo
+
+Johannes Schindelin (2):
+      fast-import: close pack before unlinking it
+      fast-export: deal with tag objects that do not have a tagger
+
+Junio C Hamano (6):
+      work around Python warnings from AsciiDoc
+      git-show: do not segfault when showing a bad tag
+      pager: do not dup2 stderr if it is already redirected
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+      fast-import: make tagger information optional
+
+Linus Torvalds (1):
+      fsck: reduce stack footprint
+
+Markus Heidelberg (1):
+      Documentation: fix typos, grammar, asciidoc syntax
+
+Miklos Vajna (1):
+      SubmittingPatches: mention the usage of real name in Signed-off-by: lines
+
+Nicolas Pitre (1):
+      make sure packs to be replaced are closed beforehand
+
+Wu Fengguang (1):
+      git-send-email: handle email address with quoted comma
+
+
+Version v1.6.0.5; changes since v1.6.0.4:
+-----------------------------------------
+
+Alexandre Julliard (2):
+      checkout: Don't crash when switching away from an invalid branch.
+      git-submodule: Avoid printing a spurious message.
+
+Brandon Casey (12):
+      t7700: demonstrate mishandling of objects in packs with a .keep file
+      packed_git: convert pack_local flag into a bitfield and add pack_keep
+      pack-objects: new option --honor-pack-keep
+      repack: don't repack local objects in packs with .keep file
+      repack: do not fall back to incremental repacking with [-a|-A]
+      builtin-gc.c: use new pack_keep bitfield to detect .keep file existence
+      t7700: demonstrate mishandling of loose objects in an alternate ODB
+      sha1_file.c: split has_loose_object() into local and non-local counterparts
+      pack-objects: extend --local to mean ignore non-local loose objects too
+      t7700: test that 'repack -a' packs alternate packed objects
+      repack: only unpack-unreachable if we are deleting redundant packs
+      revision.c: use proper data type in call to sizeof() within xrealloc
+
+Bryan Drewery (1):
+      Fix misleading wording for git-cherry-pick
+
+Christian Couder (3):
+      Documentation: rev-list: change a few instances of "git-cmd" to "git cmd"
+      Documentation: bisect: change a few instances of "git-cmd" to "git cmd"
+      Documentation: fix links to "everyday.html"
+
+Daniel Lowe (1):
+      Fix non-literal format in printf-style calls
+
+Davide Libenzi (1):
+      xdiff: give up scanning similar lines early
+
+Jakub Narębski (1):
+      gitweb: Make project specific override for 'grep' feature work
+
+Jan Krüger (1):
+      Documentation: git-svn: fix example for centralized SVN clone
+
+Jeff King (2):
+      commit: Fix stripping of patch in verbose mode.
+      tag: delete TAG_EDITMSG only on successful tag
+
+Joey Hess (1):
+      sha1_file: avoid bogus "file exists" error message
+
+Johannes Schindelin (1):
+      fast-export: use an unsorted string list for extra_refs
+
+Johannes Sixt (1):
+      compat/mingw.c: Teach mingw_rename() to replace read-only files
+
+Junio C Hamano (8):
+      Makefile: help people who run 'make check' by mistake
+      checkout: Fix "initial checkout" detection
+      Start 1.6.0.5 cycle
+      builtin-ls-files.c: coding style fix.
+      Teach ls-files --with-tree=<tree> to work with options other than -c
+      Teach "git diff" to honour --[no-]ext-diff
+      Update draft release notes to 1.6.0.5
+      GIT 1.6.0.5
+
+Linus Torvalds (1):
+      date/time: do not get confused by fractional seconds
+
+Martin Koegler (1):
+      git push: Interpret $GIT_DIR/branches in a Cogito compatible way
+
+Matt Kraai (1):
+      Remove the period after the git-check-attr summary
+
+Matt McCutchen (3):
+      config.txt: alphabetize configuration sections
+      git checkout: don't warn about unborn branch if -f is already passed
+      "git diff <tree>{3,}": do not reverse order of arguments
+
+Miklos Vajna (3):
+      Add new testcase to show fast-export does not always exports all tags
+      User's Manual: remove duplicated url at the end of Appendix B
+      http.c: use 'git_config_string' to get 'curl_http_proxy'
+
+Nguyễn Thái Ngọc Duy (1):
+      generate-cmdlist.sh: avoid selecting synopsis at wrong place
+
+Nicolas Pitre (1):
+      Fix pack.packSizeLimit and --max-pack-size handling
+
+Pete Wyckoff (1):
+      git-p4: fix keyword-expansion regex
+
+Ralf Wildenhues (1):
+      Fix typos in the documentation.
+
+SZEDER Gábor (2):
+      bash: remove dashed command leftovers
+      bash: offer refs instead of filenames for 'git revert'
+
+Sam Vilain (1):
+      sha1_file.c: resolve confusion EACCES vs EPERM
+
+Samuel Tardieu (2):
+      tag: Check that options are only allowed in the appropriate mode
+      tag: Add more tests about mixing incompatible modes and options
+
+Stefan Naewe (2):
+      git ls-remote: make usage string match manpage
+      request-pull: make usage string match manpage
+
+Thomas Rast (1):
+      fetch-pack: Avoid memcpy() with src==dst
+
+
+Version v1.6.0.4; changes since v1.6.0.3:
+-----------------------------------------
+
+Alex Riesen (10):
+      Add mksnpath which allows you to specify the output buffer
+      Fix mkpath abuse in dwim_ref and dwim_log of sha1_name.c
+      Fix potentially dangerous uses of mkpath and git_path
+      Plug a memleak in builtin-revert
+      Add git_snpath: a .git path formatting routine with output buffer
+      Fix potentially dangerous use of git_path in ref.c
+      git_pathdup: returns xstrdup-ed copy of the formatted path
+      Use git_pathdup instead of xstrdup(git_path(...))
+      Add --verbose|-v to test-chmtime
+      Use test-chmtime -v instead of perl in t5000 to get mtime of a file
+
+Charles Bailey (1):
+      git-archive: work in bare repos
+
+Christian Jaeger (1):
+      Git.pm: do not break inheritance
+
+Clemens Buchacher (2):
+      do not force write of packed refs
+      push: fix local refs update if already up-to-date
+
+Deskin Miller (2):
+      git-svn: change dashed git-config to git config
+      git-svn: change dashed git-commit-tree to git commit-tree
+
+Gustaf Hendeby (1):
+      git-gui: Help identify aspell version on Windows too
+
+Jakub Narębski (1):
+      Documentation/gitattributes: Add subsection header for each attribute
+
+Jan Krüger (1):
+      Documentation: clarify information about 'ident' attribute
+
+Jeff King (5):
+      refactor handling of "other" files in ls-files and status
+      correct cache_entry allocation
+      pack-objects: avoid reading uninitalized data
+      fix overlapping memcpy in normalize_absolute_path
+      send-pack: do not send out single-level refs such as refs/stash
+
+Johannes Schindelin (1):
+      Fix fetch/pull when run without --update-head-ok
+
+Jonas Fonseca (1):
+      asciidoc: add minor workaround to add an empty line after code blocks
+
+Junio C Hamano (9):
+      pull: allow "git pull origin $something:$current_branch" into an unborn branch
+      Fix "checkout --track -b newbranch" on detached HEAD
+      reset --hard/read-tree --reset -u: remove unmerged new paths
+      demonstrate breakage of detached checkout with symbolic link HEAD
+      Enhance hold_lock_file_for_{update,append}() API
+      Start 1.6.0.4 cycle
+      Update draft 1.6.0.4 release notes
+      format-patch documentation: mention the special case of showing a single commit
+      GIT 1.6.0.4
+
+Linus Torvalds (1):
+      Add file delete/create info when we overflow rename_limit
+
+Markus Heidelberg (1):
+      bash completion: add doubledash to "git show"
+
+Mikael Magnusson (1):
+      Document that git-log takes --all-match.
+
+Miklos Vajna (5):
+      Fix git branch -m for symrefs.
+      rename_ref(): handle the case when the reflog of a ref does not exist
+      Fix git update-ref --no-deref -d.
+      git branch -m: forbid renaming of a symref
+      update-ref --no-deref -d: handle the case when the pointed ref is packed
+
+Nanako Shiraishi (1):
+      Install git-cvsserver in $(bindir)
+
+Pierre Habouzit (1):
+      git send-email: avoid leaking directory file descriptors.
+
+Quy Tonthat (1):
+      Update RPM spec for the new location of git-cvsserver.
+
+Thomas Rast (1):
+      add -p: warn if only binary changes present
+
+Tom Preston-Werner (1):
+      add instructions on how to send patches to the mailing list with Gmail
+
+Tommi Virtanen (1):
+      Install git-shell in bindir, too
+
+Yann Dirson (1):
+      Add reference for status letters in documentation.
+
+
+Version v1.6.0.3; changes since v1.6.0.2:
+-----------------------------------------
+
+Abhijit Bhopatkar (1):
+      Documentation: Clarify '--signoff' for git-commit
+
+Alec Berryman (2):
+      git-svn: factor out svnserve test code for later use
+      git-svn: Always create a new RA when calling do_switch for svn://
+
+Alex Riesen (3):
+      Remove empty directories in recursive merge
+      Add remove_path: a function to remove as much as possible of a path
+      Use remove_path from dir.c instead of own implementation
+
+Alexander Gavrilov (1):
+      builtin-blame: Fix blame -C -C with submodules.
+
+Björn Steinbrink (1):
+      force_object_loose: Fix memory leak
+
+Brandon Casey (14):
+      t9700/test.pl: avoid bareword 'STDERR' in 3-argument open()
+      t9700/test.pl: remove File::Temp requirement
+      diff.c: return pattern entry pointer rather than just the hunk header pattern
+      diff.c: associate a flag with each pattern and use it for compiling regex
+      diff.*.xfuncname which uses "extended" regex's for hunk header selection
+      t4018-diff-funcname: test syntax of builtin xfuncname patterns
+      builtin-prune.c: prune temporary packs in <object_dir>/pack directory
+      git-stash.sh: don't default to refs/stash if invalid ref supplied
+      builtin-merge.c: allocate correct amount of memory
+      git-stash.sh: fix flawed fix of invalid ref handling (commit da65e7c1)
+      remote.c: correct the check for a leading '/' in a remote name
+      t4018-diff-funcname: rework negated last expression test
+      t4018-diff-funcname: demonstrate end of line funcname matching flaw
+      xdiff-interface.c: strip newline (and cr) from line before pattern matching
+
+Charles Bailey (2):
+      Add new test to demonstrate git archive core.autocrlf inconsistency
+      Make git archive respect core.autocrlf when creating zip format archives
+
+Chris Frey (1):
+      Documentation: clarify the details of overriding LESS via core.pager
+
+Dan McGee (1):
+      contrib: update packinfo.pl to not use dashed commands
+
+Daniel Barkalow (1):
+      Check early that a new branch is new and valid
+
+David Soria Parra (1):
+      Solaris: Use OLD_ICONV to avoid compile warnings
+
+Deskin Miller (2):
+      maint: check return of split_cmdline to avoid bad config strings
+      git init: --bare/--shared overrides system/global config
+
+Dmitry Potapov (4):
+      git-rebase-interactive: do not squash commits on abort
+      git-rebase--interactive: auto amend only edited commit
+      make prefix_path() never return NULL
+      do not segfault if make_cache_entry failed
+
+Eric Raible (1):
+      completion: git commit should list --interactive
+
+Eric Wong (1):
+      git-svn: fix handling of even funkier branch names
+
+Fabrizio Chiarello (1):
+      builtin-clone: fix typo
+
+Garry Dolley (1):
+      Clarified gitattributes documentation regarding custom hunk header.
+
+Giuseppe Bilotta (1):
+      gitweb: remove PATH_INFO from $my_url and $my_uri
+
+Heikki Orsila (2):
+      Start conforming code to "git subcmd" style part 3
+      Cosmetical command name fix
+
+Imre Deak (1):
+      builtin-apply: fix typo leading to stack corruption
+
+Jakub Narębski (2):
+      gitweb: Fix two 'uninitialized value' warnings in git_tree()
+      gitweb: Add path_info tests to t/t9500-gitweb-standalone-no-errors.sh
+
+Jeff King (3):
+      Makefile: do not set NEEDS_LIBICONV for Solaris 8
+      git apply --directory broken for new files
+      tests: shell negation portability fix
+
+Joey Hess (1):
+      gitweb: avoid warnings for commits without body
+
+Johan Herland (2):
+      for-each-ref: Fix --format=%(subject) for log message without newlines
+      Use strchrnul() instead of strchr() plus manual workaround
+
+Johannes Schindelin (2):
+      git rm: refresh index before up-to-date check
+      rebase -i: do not fail when there is no commit to cherry-pick
+
+Johannes Sixt (2):
+      git-remote: do not use user input in a printf format string
+      git-push.txt: Describe --repo option in more detail
+
+Jonas Fonseca (2):
+      checkout: Do not show local changes when in quiet mode
+      git-check-attr(1): add output and example sections
+
+Junio C Hamano (15):
+      discard_cache: reset lazy name_hash bit
+      diff Porcelain: do not disable auto index refreshing on -C -C
+      diff --quiet: make it synonym to --exit-code >/dev/null
+      Don't verify host name in SSL certs when GIT_SSL_NO_VERIFY is set
+      Fix permission bits on sources checked out with an overtight umask
+      checkout: do not lose staged removal
+      diff/diff-files: do not use --cc too aggressively
+      Start draft release notes for 1.6.0.3
+      diff: use extended regexp to find hunk headers
+      diff hunk pattern: fix misconverted "\{" tex macro introducers
+      Update draft release notes to 1.6.0.3
+      diff(1): clarify what "T"ypechange status means
+      Hopefully the final draft release notes update before 1.6.0.3
+      Fix testcase failure when extended attributes are in use
+      GIT 1.6.0.3
+
+Linus Torvalds (1):
+      fix bogus "diff --git" header from "diff --no-index"
+
+Luc Heinrich (1):
+      git-svn: call 'fatal' correctly in set-tree
+
+Matt McCutchen (1):
+      t1301-shared-repo.sh: don't let a default ACL interfere with the test
+
+Michael J Gruber (1):
+      make "git remote" report multiple URLs
+
+Michael Prokop (1):
+      Replace svn.foo.org with svn.example.com in git-svn docs (RFC 2606)
+
+Mikael Magnusson (4):
+      Typo "bogos" in format-patch error message.
+      git-repack uses --no-repack-object, not --no-repack-delta.
+      Fix a few typos in relnotes
+      Typo "does not exists" when git remote update remote.
+
+Miklos Vajna (2):
+      test-lib: fix color reset in say_color()
+      Add testcase to ensure merging an early part of a branch is done properly
+
+Nanako Shiraishi (2):
+      docs: describe pre-rebase hook
+      Teach rebase -i to honor pre-rebase hook
+
+Nicolas Pitre (2):
+      fix pread()'s short read in index-pack
+      rehabilitate 'git index-pack' inside the object store
+
+Petr Baudis (1):
+      Do not perform cross-directory renames when creating packs
+
+Ping Yin (1):
+      git-submodule: Fix "Unable to checkout" for the initial 'update'
+
+Rafael Garcia-Suarez (1):
+      Clarify commit error message for unmerged files
+
+SZEDER Gábor (5):
+      t0024: add executable permission
+      Documentation: remove '\' in front of short options
+      rebase -i: proper prepare-commit-msg hook argument when squashing
+      rebase -i: remove leftover debugging
+      bash: remove fetch, push, pull dashed form leftovers
+
+Samuel Tardieu (1):
+      Do not use errno when pread() returns 0
+
+Shawn O. Pearce (3):
+      Update release notes for 1.6.0.3
+      Update release notes for 1.6.0.3
+      test-lib: fix broken printf
+
+Stephen Haberman (1):
+      Clarify how the user can satisfy stash's 'dirty state' check.
+
+Thomas Rast (1):
+      sha1_file: link() returns -1 on failure, not errno
+
+Todd Zullinger (1):
+      Use dashless git commands in setgitperms.perl
+
+Tuncer Ayaz (1):
+      Fix fetch/clone --quiet when stdout is connected
+
+Yann Dirson (1):
+      Bust the ghost of long-defunct diffcore-pathspec.
+
+martin f. krafft (1):
+      Improve git-log documentation wrt file filters
+
+
+Version v1.6.0.2; changes since v1.6.0.1:
+-----------------------------------------
+
+Alex Riesen (1):
+      Fix use of hardlinks in "make install"
+
+Alexander Gavrilov (1):
+      git-gui: Fix string escaping in po2msg.sh
+
+Alexandre Bourget (2):
+      git-gui: Update french translation
+      git-gui: update all remaining translations to French.
+
+Andreas Färber (1):
+      Makefile: always provide a fallback when hardlinks fail
+
+Arjen Laarhoven (1):
+      Use compatibility regex library for OSX/Darwin
+
+Ask Bjørn Hansen (1):
+      Document sendemail.envelopesender configuration
+
+Björn Steinbrink (1):
+      for-each-ref: Allow a trailing slash in the patterns
+
+Clemens Buchacher (2):
+      git gui: show diffs with a minimum of 1 context line
+      clone: fix creation of explicitly named target directory
+
+Gustaf Hendeby (1):
+      Document clarification: gitmodules, gitattributes
+
+Heikki Orsila (3):
+      Start conforming code to "git subcmd" style
+      Improve documentation for --dirstat diff option
+      Start conforming code to "git subcmd" style part 2
+
+Jeff King (4):
+      Fix "git log -i --grep"
+      pretty=format: respect date format options
+      checkout: fix message when leaving detached HEAD
+      Use compatibility regex library also on FreeBSD
+
+Johan Herland (1):
+      Bring local clone's origin URL in line with that of a remote clone
+
+Johannes Sixt (1):
+      Use compatibility regex library also on AIX
+
+Jonas Fonseca (1):
+      Fix passwd(5) ref and reflect that commit doens't use commit-tree
+
+Junio C Hamano (17):
+      ctype.c: protect tiny C preprocessor constants
+      shell: do not play duplicated definition games to shrink the executable
+      Fix example in git-name-rev documentation
+      git-apply: Loosen "match_beginning" logic
+      checkout: do not check out unmerged higher stages randomly
+      gitattributes: -crlf is not binary
+      diff: Help "less" hide ^M from the output
+      'git foo' program identifies itself without dash in die() messages
+      Start 1.6.0.2 maintenance cycle
+      diff --cumulative is a sub-option of --dirstat
+      log --author/--committer: really match only with name part
+      "blame -c" should be compatible with "annotate"
+      Mention the fact that 'git annotate' is only for backward compatibility.
+      stash: refresh the index before deciding if the work tree is dirty
+      Update draft release notes for 1.6.0.2
+      Update draft release notes for 1.6.0.2
+      GIT 1.6.0.2
+
+Linus Torvalds (2):
+      index-pack: be careful after fixing up the header/footer
+      Fix '--dirstat' with cross-directory renaming
+
+Marcus Griep (2):
+      Git.pm: Use File::Temp->tempfile instead of ->new
+      git-svn: Fixes my() parameter list syntax error in pre-5.8 Perl
+
+Miklos Vajna (2):
+      Makefile: add merge_recursive.h to LIB_H
+      t7501: always use test_cmp instead of diff
+
+Nanako Shiraishi (4):
+      tests: use "git xyzzy" form (t0000 - t3599)
+      tests: use "git xyzzy" form (t3600 - t6999)
+      tests: use "git xyzzy" form (t7000 - t7199)
+      tests: use "git xyzzy" form (t7200 - t9001)
+
+Nguyễn Thái Ngọc Duy (6):
+      index-pack: setup git repository
+      diff*: fix worktree setup
+      grep: fix worktree setup
+      read-tree: setup worktree if merge is required
+      update-index: fix worktree setup
+      setup_git_directory(): fix move to worktree toplevel directory
+
+Nicolas Pitre (7):
+      discard revindex data when pack list changes
+      pack-objects: improve returned information from write_one()
+      improve reliability of fixup_pack_header_footer()
+      pack-objects: use fixup_pack_header_footer()'s validation mode
+      index-pack: use fixup_pack_header_footer()'s validation mode
+      fixup_pack_header_footer(): use nicely aligned buffer sizes
+      improve handling of sideband message display
+
+Paolo Bonzini (1):
+      make git-shell paranoid about closed stdin/stdout/stderr
+
+Paolo Ciarrocchi (1):
+      tutorial: gentler illustration of Alice/Bob workflow using gitk
+
+Petr Baudis (1):
+      bash completion: Hide more plumbing commands
+
+Ralf Wildenhues (1):
+      Fix some manual typos.
+
+Ramsay Jones (2):
+      Fix a warning (on cygwin) to allow -Werror
+      Suppress some bash redirection error messages
+
+SZEDER Gábor (3):
+      Documentation: fix reference to a for-each-ref option
+      Documentation: fix disappeared lines in 'git stash' manpage
+      Documentation: minor cleanup in a use case in 'git stash' manual
+
+Shawn O. Pearce (2):
+      pack-objects: Allow missing base objects when creating thin packs
+      git-gui: Fix diff parsing for lines starting with "--" or "++"
+
+Teemu Likonen (1):
+      config.txt: Add missing colons after option name
+
+Yann Dirson (1):
+      Document gitk --argscmd flag.
+
+
+Version v1.6.0.1; changes since v1.6.0:
+---------------------------------------
+
+Alexander Gavrilov (1):
+      Respect core.autocrlf in combined diff
+
+Brandon Casey (3):
+      t1002-read-tree-m-u-2way.sh: use 'git diff -U0' rather than 'diff -U0'
+      revision.h: make show_early_output an extern which is defined in revision.c
+      compat/snprintf.c: handle snprintf's that always return the # chars transmitted
+
+Don Zickus (1):
+      mailinfo: re-fix MIME multipart boundary parsing
+
+Eric Raible (1):
+      Completion: add missing '=' for 'diff --diff-filter'
+
+Eric Wong (1):
+      git-svn: fix dcommit to urls with embedded usernames
+
+Jeff King (2):
+      mailinfo: avoid violating strbuf assertion
+      decorate: allow const objects to be decorated
+
+Jim Meyering (2):
+      git format-patch: avoid underrun when format.headers is empty or all NLs
+      remote.c: remove useless if-before-free test
+
+Johannes Sixt (1):
+      Install templates with the user and group of the installing personality
+
+Jonathan Nieder (2):
+      Documentation: clarify pager.<cmd> configuration
+      Documentation: clarify pager configuration
+
+Junio C Hamano (9):
+      Start 1.6.0.X maintenance series
+      diff --check: do not get confused by new blank lines in the middle
+      for-each-ref: cope with tags with incomplete lines
+      completion: find out supported merge strategies correctly
+      "git-merge": allow fast-forwarding in a stat-dirty tree
+      Update draft release notes for 1.6.0.1
+      unpack_trees(): protect the handcrafted in-core index from read_cache()
+      merge: fix numerus bugs around "trivial merge" area
+      GIT 1.6.0.1
+
+Miklos Vajna (2):
+      Fix 'git help help'
+      Makefile: enable SNPRINTF_RETURNS_BOGUS for HP-UX
+
+Robert Schiele (1):
+      adapt git-cvsserver manpage to dash-free syntax
+
+Simon Hausmann (1):
+      Clean up the git-p4 documentation
+
+Tarmigan Casebolt (1):
+      Add hints to revert documentation about other ways to undo changes
+
+Tor Arvid Lund (1):
+      git-p4: Fix one-liner in p4_write_pipe function.
+
+
+Version v1.6.0; changes since v1.6.0-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Fix t3700 on filesystems which do not support question marks in names
+
+Alexander Gavrilov (1):
+      gitk: Allow safely calling nukefile from a run queue handler
+
+Anand Kumria (14):
+      Create a specific version of the read_pipe_lines command for p4 invocations
+      Utilise the new 'p4_read_pipe_lines' command
+      Have a command that specifically invokes 'p4' (via system)
+      Utilise the new 'p4_system' function.
+      Add a single command that will be used to construct the 'p4' command
+      If we are in verbose mode, output what we are about to run (or return)
+      Switch to using 'p4_build_cmd'
+      If the user has configured various parameters, use them.
+      Consistently use 'git-p4' for the configuration entries
+      Move git-p4.syncFromOrigin into a configuration parameters section
+      Put some documentation in about the parameters that have been added
+      Put in the two other configuration elements found in the source
+      Add p4 read_pipe and write_pipe wrappers
+      Utilise our new p4_read_pipe and p4_write_pipe wrappers
+
+Brandon Casey (2):
+      test-parse-options: use appropriate cast in length_callback
+      t5304-prune: adjust file mtime based on system time rather than file mtime
+
+Eric Blake (1):
+      Makefile: building git in cygwin 1.7.0
+
+Eric Raible (1):
+      bash completion: 'git apply' should use 'fix' not 'strip'
+
+Junio C Hamano (1):
+      GIT 1.6.0
+
+Kevin Ballard (1):
+      Fix escaping of glob special characters in pathspecs
+
+Lee Marlow (2):
+      bash completion: Add completion for 'git mergetool'
+      bash completion: Add '--merge' long option for 'git log'
+
+Marcus Griep (2):
+      bash-completion: Add non-command git help files to bash-completion
+      Git.pm: Make File::Spec and File::Temp requirement lazy
+
+Matt McCutchen (1):
+      git format-patch documentation: clarify what --cover-letter does
+
+Miklos Vajna (2):
+      Documentation: document the pager.* configuration setting
+      t9300: replace '!' with test_must_fail
+
+Robert Blum (1):
+      git-p4: chdir now properly sets PWD environment variable in msysGit
+
+Shawn O. Pearce (1):
+      git-gui 0.11
+
+Stephan Beyer (3):
+      git-am: ignore --binary option
+      git-stash: improve synopsis in help and manual page
+      Improve error output of git-rebase
+
+Thomas Rast (2):
+      rebase -i -p: handle index and workdir correctly
+      rebase -i -p: fix parent rewriting
+
+
+Version v1.6.0-rc3; changes since v1.6.0-rc2:
+---------------------------------------------
+
+Brandon Casey (2):
+      Makefile: set SHELL to value of SHELL_PATH
+      Makefile: add a target which will abort compilation with ancient shells
+
+Eric Wong (2):
+      git-svn: add ability to specify --commit-url for dcommit
+      git-svn: wrap long lines in a few places
+
+Francis Moreau (1):
+      git-bisect: fix wrong usage of read(1)
+
+Gustaf Hendeby (2):
+      gitattributes: Document built in hunk header patterns
+      Teach git diff about BibTeX head hunk patterns
+
+Ivan Stankovic (1):
+      Documentation: fix invalid reference to 'mybranch' in user manual
+
+Johannes Schindelin (1):
+      clone --mirror: avoid storing repeated tags
+
+Jonathan Nieder (1):
+      Documentation: user-manual: "git commit -a" doesn't motivate .gitignore
+
+Junio C Hamano (9):
+      asciidoc markup fixes
+      GIT-VERSION-GEN: mark the version 'dirty' only if there are modified files
+      mailinfo: fix MIME multi-part message boundary handling
+      Update draft RelNotes for 1.6.0
+      Fix deleting reflog entries from HEAD reflog
+      Re-fix rev-list-options documentation
+      diff --check: do not unconditionally complain about trailing empty lines
+      Do not talk about "diff" in rev-list documentation.
+      GIT 1.6.0-rc3
+
+Marcus Griep (5):
+      Fix multi-glob assertion in git-svn
+      git-svn: Allow deep branch names by supporting multi-globs
+      Git.pm: Add faculties to allow temp files to be cached
+      git-svn: Make it incrementally faster by minimizing temp files
+      git-svn: Reduce temp file usage when dealing with non-links
+
+Nguyễn Thái Ngọc Duy (1):
+      Fix typo in comments of longest_ancestor_length()
+
+Petr Baudis (2):
+      Fail properly when cloning from invalid HTTP URL
+      Adjust for the new way of enabling the default post-update hook
+
+Pieter de Bie (2):
+      builtin-rm: Add a --force flag
+      reflog test: add more tests for 'reflog delete'
+
+SZEDER Gábor (1):
+      bash: remove redundant check for 'git stash apply' options
+
+Stephen R. van den Berg (1):
+      git-daemon: SysV needs the signal handler reinstated.
+
+Thomas Rast (6):
+      Documentation: commit-tree: remove 16 parents restriction
+      Documentation: filter-branch: document how to filter all refs
+      filter-branch: be more helpful when an annotated tag changes
+      Documentation: rev-list-options: Fix -g paragraph formatting
+      Documentation: rev-list-options: Fix a typo
+      Documentation: rev-list-options: Rewrite simplification descriptions for clarity
+
+
+Version v1.6.0-rc2; changes since v1.6.0-rc1:
+---------------------------------------------
+
+Abhijit Menon-Sen (7):
+      `git submodule add` now requires a <path>
+      Make it clear that push can take multiple refspecs
+      Make the DESCRIPTION match <x>... items in the SYNOPSIS
+      Git.pm: localise $? in command_close_bidi_pipe()
+      Fix hash slice syntax error
+      Fix typo in perl/Git.pm
+      Fix typos in INSTALL
+
+Alex Riesen (1):
+      Make use of stat.ctime configurable
+
+Alexander Gavrilov (9):
+      git-gui: Fix the Remote menu separator.
+      git-gui: Preserve scroll position on reshow_diff.
+      Support copy and rename detection in fast-export.
+      gitk: Kill back-end processes on window close
+      gitk: Arrange to kill diff-files & diff-index on quit
+      gitk: On Windows, use a Cygwin-specific flag for kill
+      gitk: Fixed broken exception handling in diff
+      gitk: Fixed automatic row selection during load
+      gitk: Fallback to selecting the head commit upon load
+
+Anders Melchiorsen (4):
+      Advertise the ability to abort a commit
+      Documentation: fix diff.external example
+      Flush output in start_async
+      Add output flushing before fork()
+
+Avery Pennarun (2):
+      Teach "git diff -p" Pascal/Delphi funcname pattern
+      git-svn: Abort with an error if 'fetch' parameter is invalid.
+
+Brandon Casey (3):
+      t/t4202-log.sh: add newline at end of file
+      Teach fsck and prune that tmp_obj_ file names may not be 14 bytes long
+      perl/Makefile: handle paths with spaces in the NO_PERL_MAKEMAKER section
+
+Brian Gernhardt (1):
+      Documentation: Remove mentions of git-svnimport.
+
+Cesar Eduardo Barros (1):
+      Documentation/git-rev-parse.txt: update for new git-describe output format
+
+Christian Couder (2):
+      merge-base: die with an error message if not passed a commit ref
+      documentation: user-manual: update "using-bisect" section
+
+Christian Stimming (2):
+      git-gui: Update German translation
+      gitk: Updated German translation
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+David D. Kilzer (1):
+      Fix race condition in t9119-git-svn-info.sh
+
+Dmitry Potapov (1):
+      correct access right for git-svn-dcommit test
+
+Eric Wong (2):
+      git-svn: properly set path for "info" command
+      t9119: conditionally re-enable test depending on svn(1) version
+
+Giuseppe Bilotta (2):
+      diff: add ruby funcname pattern
+      diff: chapter and part in funcname for tex
+
+Jeff King (3):
+      init: handle empty "template" parameter
+      Compact commit template message
+      init: handle empty "template" parameter
+
+Jim Meyering (1):
+      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
+
+Johannes Schindelin (3):
+      sort_in_topological_order(): avoid setting a commit flag
+      clone: Add an option to set up a mirror
+      clone --bare: Add ".git" suffix to the directory name to clone into
+
+Johannes Sixt (1):
+      git-gui: Adapt discovery of oguilib to execdir 'libexec/git-core'
+
+Jon Jensen (1):
+      Fix reference to Everyday Git, which is an HTML document and not a man page.
+
+Jonathan Nieder (1):
+      git-diff(1): "--c" -> "--cc" typo fix
+
+Junio C Hamano (19):
+      Allow building without any git installed
+      Allow installing in the traditional way
+      ls-tree documentation: enhance notes on subdirectory and pathspec behaviour
+      Documentation: clarify what is shown in "git-ls-files -s" output
+      t7001: fix "git mv" test
+      Teach gitlinks to ie_modified() and ce_modified_check_fs()
+      Fix merge name generation in "merge in C"
+      Fix test-parse-options "integer" test
+      Teach --find-copies-harder to "git blame"
+      make sure parsed wildcard refspec ends with slash
+      Documentation: clarify diff --cc
+      Update my e-mail address
+      Start 1.5.6.5 RelNotes to describe accumulated fixes
+      builtin-name-rev.c: split deeply nested part from the main function
+      RelNotes 1.5.6.5 updates
+      fix diff-tree --stdin documentation
+      Files given on the command line are relative to $cwd
+      GIT 1.5.6.5
+      GIT 1.6.0-rc2
+
+Kevin Ballard (1):
+      format-patch: Produce better output with --inline or --attach
+
+Lee Marlow (11):
+      bash completion: remove unused function _git_diff_tree
+      bash completion: Add more long options for 'git log'
+      bash completion: Add completion for 'git grep'
+      bash completion: Add completion for 'git clone'
+      bash completion: Add completion for 'git clean'
+      bash completion: Add completion for 'git init'
+      bash completion: Add completion for 'git revert'
+      bash completion: More completions for 'git stash'
+      bash completion: Add completion for 'git archive'
+      bash completion: Add completion for 'git ls-files'
+      bash completion: Add completion for 'git mv'
+
+Linus Torvalds (1):
+      diff.renamelimit is a basic diff configuration
+
+Michele Ballabio (2):
+      git-gui: update po/it.po
+      git-gui: add a part about format strings in po/README
+
+Mikael Magnusson (2):
+      git-gui: Update swedish translation.
+      gitk: Update swedish translation.
+
+Mike Ralphson (2):
+      Documentation: typos / spelling fixes in older RelNotes
+      Documentation: typos / spelling fixes
+
+Nanako Shiraishi (1):
+      git-gui: update Japanese translation
+
+Olivier Marin (1):
+      builtin-verify-tag: fix -v option parsing
+
+Pierre Habouzit (2):
+      Allow "non-option" revision options in parse_option-enabled commands
+      git-submodule: move ill placed shift.
+
+Pieter de Bie (1):
+      git-name-rev: allow --name-only in combination with --stdin
+
+René Scharfe (2):
+      archive: allow --exec and --remote without equal sign
+      git-name-rev: don't use printf without format
+
+Shawn O. Pearce (2):
+      git-gui: Fix gitk search in $PATH to work on Windows
+      git-gui: Update git-gui.pot for 0.11 nearing release
+
+Steffen Prohaska (6):
+      Refactor, adding prepare_git_cmd(const char **argv)
+      run-command (Windows): Run dashless "git <cmd>"
+      git-gui: Correct installation of library to be $prefix/share
+      git-gui (Windows): Switch to relative discovery of oguilib
+      git-gui (Windows): Change wrapper to execdir 'libexec/git-core'
+      Modify mingw_main() workaround to avoid link errors
+
+Stephan Beyer (1):
+      builtin-revert.c: typofix
+
+Steve Haslam (1):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+
+Steven Grimm (1):
+      Optimize sha1_object_info for loose objects, not concurrent repacks
+
+Todd Zullinger (1):
+      Replace uses of "git-var" with "git var"
+
+
+Version v1.6.0-rc1; changes since v1.6.0-rc0:
+---------------------------------------------
+
+Abhijit Menon-Sen (2):
+      git-gui: Look for gitk in $PATH, not $LIBEXEC/git-core
+      Clarify that "git log x.c y.h" lists commits that touch either file
+
+Alex Riesen (1):
+      Allow pager of diff command be enabled/disabled
+
+Alexander Gavrilov (4):
+      Fix pre-commit hooks under MinGW/MSYS
+      Add options to control the search for copies in blame.
+      Kill the blame back-end on window close.
+      Add a menu item to invoke full copy detection in blame.
+
+Anders Melchiorsen (1):
+      Documentation: fix diff.external example
+
+Björn Steinbrink (2):
+      index-pack.c: correctly initialize appended objects
+      rev-parse: Add support for the ^! and ^@ syntax
+
+Brad King (1):
+      git-svn: teach dcommit about svn auto-props
+
+Brandon Casey (7):
+      t/: Replace diff [-u|-U0] with test_cmp to allow compilation with old diff
+      t4116-apply-reverse.sh: use $TAR rather than tar
+      t3200,t7201: replace '!' with test_must_fail
+      t7502-commit.sh: rearrange test to make more portable
+      t/t4202-log.sh: add newline at end of file
+      Teach fsck and prune about the new location of temporary objects
+      perl/Makefile: update NO_PERL_MAKEMAKER section
+
+Cesar Eduardo Barros (1):
+      Documentation/git-submodule.txt: fix doubled word
+
+Daniel Barkalow (1):
+      In perforce, RCS keywords are case-sensitive
+
+Jakub Narębski (1):
+      gitweb: More about how gitweb gets 'owner' of repository
+
+Johannes Schindelin (9):
+      Rename .git/rebase to .git/rebase-apply
+      Rename path_list to string_list
+      Fix two leftovers from path_list->string_list
+      Ignore dirty submodule states in "git pull --rebase"
+      Add test to show that show-branch misses out the 8th column
+      sort_in_topological_order(): avoid setting a commit flag
+      builtin-commit: Two trivial style-cleanups
+      git daemon: avoid waking up too often
+      Avoid chdir() in list_commands_in_dir()
+
+Johannes Sixt (12):
+      rebase -i: When an 'edit' stops, mention the commit
+      Makefile: Do not install a copy of 'git' in $(gitexecdir)
+      Makefile: Normalize $(bindir) and $(gitexecdir) before comparing
+      Record the command invocation path early
+      Fix relative built-in paths to be relative to the command invocation
+      Allow the built-in exec path to be relative to the command invocation path
+      Allow add_path() to add non-existent directories to the path
+      Windows: Make $(gitexecdir) relative
+      Windows: Make sure argv[0] has a path
+      Windows: Do not compile git-shell
+      git-gui: Fix "Stage/Unstage Line" with one line of context.
+      git-gui: "Stage Line": Treat independent changes in adjacent lines better
+
+Jonathan Nieder (3):
+      git-diff(1): "--c" -> "--cc" typo fix
+      document that git-tag can tag more than heads
+      t6030 (bisect): work around Mac OS X "ls"
+
+Junio C Hamano (13):
+      Update my e-mail address
+      Revert "make git-status use a pager"
+      tests: do not rely on external "patch"
+      stash save: fix parameter handling
+      builtin-branch.c: remove unused code in append_ref() callback function
+      builtin-branch.c: optimize --merged and --no-merged
+      Documentation: clarify diff --cc
+      ignore non-existent refs in dwim_log()
+      tests: propagate $(TAR) down from the toplevel Makefile
+      Makefile: fix shell quoting
+      Documentation: clarify how to disable elements in core.whitespace
+      make sure parsed wildcard refspec ends with slash
+      GIT 1.6.0-rc1
+
+Lars Hjemli (3):
+      builtin-branch: remove duplicated code
+      builtin-branch: factor out merge_filter matching
+      builtin-branch: fix -v for --[no-]merged
+
+Lee Marlow (2):
+      bash completion: Add long options for 'git rm'
+      bash completion: Add completion for 'git help'
+
+Miklos Vajna (2):
+      builtin-merge: give a proper error message for invalid strategies in config
+      t7601: extend the 'merge picks up the best result' test
+
+Nikolaj Schumacher (1):
+      Don't cut off last character of commit descriptions.
+
+Olivier Marin (4):
+      git-am: remove dash from help message
+      parse-options: fix segmentation fault when a required value is missing
+      git am --skip: clean the index while preserving local changes
+      update test case to protect am --skip behaviour
+
+P. Christeas (1):
+      svnimport: newer libsvn wants us to ask for the root with "", not "/"
+
+Peter Valdemar Mørch (1):
+      send-email: find body-encoding correctly
+
+Petr Baudis (4):
+      git-filter-branch.sh: Allow running in bare repositories
+      Documentation/git-filter-branch: teach "rm" instead of "update-index --remove"
+      git-mv: Remove dead code branch
+      git-mv: Keep moved index entries inact
+
+Philippe Bruhat (1):
+      mailinfo: better parse email adresses containg parentheses
+
+Pierre Habouzit (4):
+      builtin-merge: add missing structure initialization
+      git-submodule: move ill placed shift.
+      git-checkout: fix command line parsing.
+      git-checkout: improve error messages, detect ambiguities.
+
+René Scharfe (5):
+      archive: add write_archive()
+      archive: move parameter parsing code to archive.c
+      archive: define MAX_ARGS where it's needed
+      archive: declare struct archiver where it's needed
+      archive: allow --exec and --remote without equal sign
+
+SZEDER Gábor (2):
+      checkout: mention '--' in the docs
+      bash: offer only paths after '--' for 'git checkout'
+
+Shawn O. Pearce (2):
+      git-gui: Correct 'Visualize Branches' on Mac OS X to start gitk
+      fsck: Don't require tmp_obj_ file names are 14 bytes in length
+
+Stephan Beyer (7):
+      git-am: Add colon before the subject that is printed out as being applied
+      am --abort: Add to bash-completion and mention in git-rerere documentation
+      Make non-static functions, that may be static, static
+      Move launch_editor() from builtin-tag.c to editor.c
+      editor.c: Libify launch_editor()
+      git-am: Mention --abort in usage string part of OPTIONS_SPEC
+      git-reset: Let -q hush "locally modified" messages
+
+Steve Haslam (2):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+      Remove references to git-fetch-pack from "git clone" documentation.
+
+Thomas Rast (2):
+      git-completion.bash: provide completion for 'show-branch'
+      bash completion: Add long options for 'git describe'
+
+
+Version v1.6.0-rc0; changes since v1.5.6.6:
+-------------------------------------------
+
+Abhijit Menon-Sen (4):
+      git-gui: Move on to the next filename after staging/unstaging a change
+      git-gui: Don't select the wrong file if the last listed file is staged.
+      Implement "git stash branch <newbranch> <stash>"
+      Add a test for "git stash branch"
+
+Adam Brewster (2):
+      Move read_revisions_from_stdin from builtin-rev-list.c to revision.c
+      Teach git-bundle to read revision arguments from stdin like git-rev-list.
+
+Alex Riesen (1):
+      Fix use of "perl -i" on Windows
+
+Alexander Gavrilov (3):
+      Avoid rescanning unchanged entries in search for copies.
+      Do not try to detect move/copy for entries below threshold.
+      Support gitlinks in fast-import.
+
+Avery Pennarun (1):
+      Reword "your branch has diverged..." lines to reduce line length
+
+Brandon Casey (1):
+      t7701-repack-unpack-unreachable.sh: check timestamp of unpacked objects
+
+Brian Gernhardt (4):
+      Fix t4017-diff-retval for white-space from wc
+      Add test results directory to t/.gitignore
+      Documentation: Point to gitcli(7) from git(1)
+      Documentation: mention ORIG_HEAD in am, merge, and rebase
+
+Christian Couder (2):
+      help: check early if we have a command, if not try a documentation topic
+      Fix "config_error_nonbool" used with value instead of key
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+Cristian Peraferrer (1):
+      Print errno upon failure to open the COMMIT_EDITMSG file
+
+Daniel Barkalow (1):
+      Only use GIT_CONFIG in "git config", not other programs
+
+David Reiss (4):
+      Implement normalize_absolute_path
+      Fold test-absolute-path into test-path-utils
+      Add support for GIT_CEILING_DIRECTORIES
+      Eliminate an unnecessary chdir("..")
+
+Dmitry Kakurin (1):
+      Fixed text file auto-detection: treat EOF character 032 at the end of file as printable
+
+Dmitry Potapov (4):
+      update-hook-example: optionally allow non-fast-forward
+      shrink git-shell by avoiding redundant dependencies
+      completion.bash: add 'skip' and 'run' to git-bisect
+      git-svn: fix git svn info to work without arguments
+
+Don Zickus (1):
+      git-apply: handle a patch that touches the same path more than once better
+
+Eric Hanchrow (2):
+      user-manual: typo and grammar fixes
+      Documentation: fix broken "linkgit" links
+
+Eric Raible (3):
+      Documentation: tweak use case in "git stash save --keep-index"
+      completion: add branch options --contains --merged --no-merged
+      Teach lookup_prog not to select directories
+
+Eric Wong (1):
+      t/lib-git-svn: fix SVN_HTTPD tests to work with "trash directory"
+
+Fabian Emmes (2):
+      Testsuite: Unset CVS_SERVER
+      testsuite for cvs co -c
+
+Frederik Schwarzer (1):
+      git-svn: typofix
+
+Ian Katz (1):
+      tutorial: use prompt with user names in example, to clarify who is doing what
+
+Jakub Narębski (4):
+      gitweb: Separate filling list of projects info
+      gitweb: Separate generating 'sort by' table header
+      t/README: Add 'Skipping Tests' section below 'Running Tests'
+      gitweb: Describe projects_index format in more detail
+
+Jeff King (9):
+      fix whitespace violations in test scripts
+      mask necessary whitespace policy violations in test scripts
+      avoid whitespace on empty line in automatic usage message
+      avoid trailing whitespace in zero-change diffstat lines
+      enable whitespace checking of test scripts
+      clone: create intermediate directories of destination repo
+      improve for-each-ref test script
+      Allow per-command pager config
+      avoid null SHA1 in oldest reflog
+
+Jing Xue (1):
+      Add 'git-p4.allowSubmit' to git-p4
+
+Johan Herland (4):
+      Incorporate fetched packs in future object traversal
+      Move pack_refs() and friends into libgit
+      Prepare testsuite for a "git clone" that packs refs
+      Teach "git clone" to pack refs
+
+Johannes Schindelin (12):
+      Windows: always chmod(, 0666) before unlink().
+      commit-tree: lift completely arbitrary limit of 16 parents
+      Allow git-apply to recount the lines in a hunk (AKA recountdiff)
+      Add another fast-import example, this time for .zip files
+      Teach "git apply" to prepend a prefix with "--root=<root>"
+      git fetch-pack: do not complain about "no common commits" in an empty repo
+      Allow cherry-picking root commits
+      Convert CR/LF to LF in tag signatures
+      Move MERGE_RR from .git/rr-cache/ into .git/
+      git-gui: MERGE_RR lives in .git/ directly with newer Git versions
+      shortlog: support --pretty=format: option
+      Rename ".dotest/" to ".git/rebase" and ".dotest-merge" to "rebase-merge"
+
+Johannes Sixt (38):
+      Add compat/regex.[ch] and compat/fnmatch.[ch].
+      Compile some programs only conditionally.
+      Add target architecture MinGW.
+      Windows: Use the Windows style PATH separator ';'.
+      setup.c: Prepare for Windows directory separators.
+      Windows: Treat Windows style path names.
+      Windows: Handle absolute paths in safe_create_leading_directories().
+      Windows: Strip ".exe" from the program name.
+      Windows: Implement a wrapper of the open() function.
+      Windows: A minimal implemention of getpwuid().
+      Windows: Work around misbehaved rename().
+      Make my_mktime() public and rename it to tm_to_time_t()
+      Windows: Implement gettimeofday().
+      Windows: Fix PRIuMAX definition.
+      Windows: Implement setitimer() and sigaction().
+      Windows: Wrap execve so that shell scripts can be invoked.
+      Windows: A pipe() replacement whose ends are not inherited to children.
+      Windows: Implement start_command().
+      Windows: A rudimentary poll() emulation.
+      Windows: Disambiguate DOS style paths from SSH URLs.
+      Windows: Implement asynchronous functions as threads.
+      Windows: Work around incompatible sort and find.
+      Windows: Implement wrappers for gethostbyname(), socket(), and connect().
+      Windows: Implement a custom spawnve().
+      Windows: Add a custom implementation for utime().
+      Windows: Use a customized struct stat that also has the st_blocks member.
+      Turn builtin_exec_path into a function.
+      Windows: Compute the fallback for exec_path from the program invocation.
+      Windows: Use a relative default template_dir and ETC_GITCONFIG
+      When installing, be prepared that template_dir may be relative.
+      Windows: Make the pager work.
+      Windows: Work around an oddity when a pipe with no reader is written to.
+      Windows: Make 'git help -a' work.
+      Windows: TMP and TEMP environment variables specify a temporary directory.
+      git-gui: Implement "Stage/Unstage Line"
+      t4127-apply-same-fn: Avoid sed -i
+      Provide fallback definitions of PRIu32 and PRIx32
+      builtin-clone: rewrite guess_dir_name()
+
+Jonathan Nieder (23):
+      Documentation: don't assume git-sh-setup and git-parse-remote are in PATH
+      Documentation: fix links to tutorials and other new manual pages
+      whitespace fix in Documentation/git-repack.txt
+      Documentation: complicate example of "man git-command"
+      git-daemon(1): don't assume git-daemon is in /usr/bin
+      Documentation: prepare to be consistent about "git-" versus "git "
+      Documentation: be consistent about "git-" versus "git "
+      Documentation formatting and cleanup
+      git-format-patch(1): fix stray \ in output
+      Documentation: fix gitlinks
+      manpages: fix bogus whitespace
+      git(1): add comma
+      git-commit(1): depersonalize description
+      Documentation: rewrap to prepare for "git-" vs "git " change
+      Documentation: more "git-" versus "git " changes
+      gitdiffcore(7): fix awkward wording
+      manpages: italicize command names in synopses
+      manpages: italicize command names
+      manpages: italicize git command names (which were in teletype font)
+      manpages: italicize gitk's name (where it was in teletype font)
+      manpages: italicize nongit command names (if they are in teletype font)
+      manpages: italicize git subcommand names (which were in teletype font)
+      manpages: use teletype font for sample command lines
+
+João Abecasis (1):
+      git-svn: find-rev and rebase for SVN::Mirror repositories
+
+Junio C Hamano (65):
+      revision traversal: --children option
+      rev-list --children
+      builtin-blame.c: move prepare_final() into a separate function.
+      builtin-blame.c: allow more than 16 parents
+      git-blame --reverse
+      rerere: rerere_created_at() and has_resolution() abstraction
+      git-rerere: detect unparsable conflicts
+      rerere: remove dubious "tail_optimization"
+      t4200: fix rerere test
+      rerere.autoupdate
+      git-shell: accept "git foo" form
+      Prepare execv_git_cmd() for removal of builtins from the filesystem
+      pre-rebase hook update
+      Ship sample hooks with .sample suffix
+      Keep some git-* programs in $(bindir)
+      Start draft release notes for 1.6.0
+      diff --check: explain why we do not care whether old side is binary
+      check_and_emit_line(): rename and refactor
+      checkdiff: pass diff_options to the callback
+      Teach "diff --check" about new blank lines at end
+      diff --check: detect leftover conflict markers
+      Update sample pre-commit hook to use "diff --check"
+      Document the double-dash "rev -- path" disambiguator
+      t9700: skip when Test::More is not available
+      Update draft release notes for 1.6.0
+      Introduce get_merge_bases_many()
+      Introduce reduce_heads()
+      Update draft release notes for 1.6.0
+      apply --root: thinkofix.
+      Refactor "tracking statistics" code used by "git checkout"
+      git-status: show the remote tracking statistics
+      git-branch -v: show the remote tracking statistics
+      fast-export --export-marks: fix off by one error
+      stat_tracking_info(): clear object flags used during counting
+      branch -r -v: do not spit out garbage
+      git-apply --directory: make --root more similar to GNU diff
+      Update draft release notes for 1.6.0
+      Teach "am" and "rebase" to mark the original position with ORIG_HEAD
+      Tone down warning about GNU Interactive Tools
+      Documentation: update sections on naming revisions and revision ranges
+      branch --contains: default to HEAD
+      branch --merged/--no-merged: allow specifying arbitrary commit
+      apply: fix copy/rename breakage
+      Teach merge.log to "git-merge" again
+      Update draft release notes for 1.6.0
+      reduce_heads(): protect from duplicate input
+      git-rebase: report checkout failure
+      tutorial: clarify "pull" is "fetch + merge"
+      Update draft release notes to 1.6.0
+      t/aggregate-results: whitespace fix
+      Update draft release notes for 1.6.0
+      read-cache.c: typofix
+      mailinfo: off-by-one fix for [PATCH (foobar)] removal from Subject: line
+      rerere.autoupdate: change the message when autoupdate is in effect
+      builtin-remote.c: fix earlier "skip_prefix()" conversion
+      t9001 (send-email): Do not use hardcoded /bin/sh in test
+      .mailmap update
+      Getting closer to 1.6.0-rc0
+      builtin-add.c: restructure the code for maintainability
+      git-add --all: add all files
+      git-add --all: tests
+      git-add --all: documentation
+      Link shell with compat layer functions
+      Move read_in_full() and write_in_full() to wrapper.c
+      "needs update" considered harmful
+
+Karl Wiberg (2):
+      Clean up builtin-update-ref's option parsing
+      Make old sha1 optional with git update-ref -d
+
+Kevin Ballard (1):
+      git-send-email: Accept fifos as well as files
+
+Lars Noschinski (3):
+      cvsserver: Add support for packed refs
+      cvsserver: Add cvs co -c support
+      cvsserver: Add testsuite for packed refs
+
+Lea Wiemann (6):
+      test-lib.sh: add --long-tests option
+      t/test-lib.sh: add test_external and test_external_without_stderr
+      Git.pm: add test suite
+      gitweb: standarize HTTP status codes
+      test-lib.sh: show git init output when in verbose mode
+      GIT-VERSION-GEN: do not fail if a 'HEAD' file exists in the working copy
+
+Linus Torvalds (1):
+      Shrink the git binary a bit by avoiding unnecessary inline functions
+
+Lukas Sandström (4):
+      Add a helper script to send patches with Mozilla Thunderbird
+      Make some strbuf_*() struct strbuf arguments const.
+      Add some useful functions for strbuf manipulation.
+      git-mailinfo: use strbuf's instead of fixed buffers
+
+Marius Storm-Olsen (4):
+      Add an optional <mode> argument to commit/status -u|--untracked-files option
+      Add argument 'no' commit/status option -u|--untracked-files
+      Add configuration option for default untracked files mode
+      Windows: Add a new lstat and fstat implementation based on Win32 API.
+
+Mark Levedahl (3):
+      install-doc-quick - use git --exec-path to find git-sh-setup
+      git-submodule - make "submodule add" more strict, and document it
+      git-submodule - register submodule URL if adding in place
+
+Michele Ballabio (3):
+      t9301-fast-export.sh: Remove debug line
+      builtin-merge.c: Fix option parsing
+      builtin-push.c: Cleanup - use OPT_BIT() and remove some variables
+
+Mike Hommey (4):
+      Catch failures from t5540-http-push
+      Fix http-push test
+      Skip t5540-http-push test when USE_CURL_MULTI is undefined
+      Avoid apache complaining about lack of server's FQDN
+
+Mike Pape (1):
+      We need to check for msys as well as Windows in add--interactive.
+
+Miklos Vajna (27):
+      A simple script to parse the results from the testcases
+      Move split_cmdline() to alias.c
+      Move commit_list_count() to commit.c
+      Move parse-options's skip_prefix() to git-compat-util.h
+      Add new test to ensure git-merge handles pull.twohead and pull.octopus
+      Move read_cache_unmerged() to read-cache.c
+      git-fmt-merge-msg: make it usable from other builtins
+      Introduce get_octopus_merge_bases() in commit.c
+      Add new test to ensure git-merge handles more than 25 refs.
+      Add new test case to ensure git-merge reduces octopus parents when possible
+      Retire 'stupid' merge strategy
+      INSTALL: Update section about git-frotz form.
+      hg-to-git: avoid raising a string exception
+      hg-to-git: abort if the project directory is not a hg repo
+      hg-to-git: rewrite "git-frotz" to "git frotz"
+      hg-to-git: use git init instead of git init-db
+      Add new test case to ensure git-merge prepends the custom merge message
+      git-commit-tree: make it usable from other builtins
+      Fix t7601-merge-pull-config.sh on AIX
+      Build in merge
+      t0001-init.sh: change confusing directory name
+      t1007-hash-object.sh: use quotes for the test description
+      git-bisect: use dash-less form on git bisect log
+      make remove-dashes: apply to scripts and programs as well, not just to builtins
+      t6021: add a new test for git-merge-resolve
+      Add a new test for git-merge-resolve
+      Teach 'git merge' that some merge strategies no longer exist
+
+Nanako Shiraishi (7):
+      environment.c: remove unused function
+      config.c: make git_env_bool() static
+      gitcli: Document meaning of --cached and --index
+      cache-tree.c: make cache_tree_find() static
+      builtin-describe.c: make a global variable "pattern" static
+      parse-options.c: make check_typos() static
+      git am --abort
+
+Nguyễn Thái Ngọc Duy (1):
+      Move all dashed-form commands to libexecdir
+
+Nicolas Pitre (11):
+      call init_pack_revindex() lazily
+      implement some resilience against pack corruptions
+      test case for pack resilience against corruptions
+      refactor pack structure allocation
+      optimize verify-pack a bit
+      move show_pack_info() where it belongs
+      verify-pack: check packed object CRC when using index version 2
+      verify-pack: test for detection of index v2 object CRC mismatch
+      repack.usedeltabaseoffset config option now defaults to "true"
+      pack.indexversion config option now defaults to 2
+      restore legacy behavior for read_sha1_file()
+
+Olivier Marin (3):
+      Documentation: remove {show,whatchanged}.difftree config options
+      show_stats(): fix stats width calculation
+      builtin-rerere: more carefully find conflict markers
+
+Patrick Higgins (1):
+      Remove the use of '--' in merge program invocation
+
+Pavel Roskin (1):
+      t9600: allow testing with cvsps 2.2, including beta versions
+
+Peter Harris (1):
+      Add ANSI control code emulation for the Windows console
+
+Petr Baudis (6):
+      Git.pm: Add remote_refs() git-ls-remote frontend
+      Documentation/git-submodule.txt: Add Description section
+      Documentation/RelNotes-1.6.0.txt: Expand on the incompatible packfiles
+      Documentation/git-submodule.txt: Further clarify the description
+      Documentation: How to ignore local changes in tracked files
+      Documentation/git-merge.txt: Partial rewrite of How Merge Works
+
+Pierre Habouzit (13):
+      parse-opt: have parse_options_{start,end}.
+      parse-opt: Export a non NORETURN usage dumper.
+      parse-opt: create parse_options_step.
+      parse-opt: do not print errors on unknown options, return -2 intead.
+      parse-opt: fake short strings for callers to believe in.
+      parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
+      revisions: split handle_revision_opt() from setup_revisions()
+      git-blame: migrate to incremental parse-option [1/2]
+      git-blame: migrate to incremental parse-option [2/2]
+      parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
+      git-blame: fix lapsus
+      git-shortlog: migrate to parse-options partially.
+      revisions: refactor handle_revision_opt into parse_revision_opt.
+
+Pieter de Bie (1):
+      builtin-fast-export: Add importing and exporting of revision marks
+
+Rafael Garcia-Suarez (1):
+      gitweb: remove git_blame and rename git_blame2 to git_blame
+
+Ramsay Jones (4):
+      Fix some warnings (on cygwin) to allow -Werror
+      t9113-*.sh: provide user feedback when test skipped
+      t9100-git-svn-basic.sh: Fix determination of utf-8 locale
+      git-request-pull: replace call to deprecated peek-remote
+
+René Scharfe (9):
+      Teach new attribute 'export-ignore' to git-archive
+      archive: remove args member from struct archiver
+      add context pointer to read_tree_recursive()
+      archive: add baselen member to struct archiver_args
+      archive: centralize archive entry writing
+      archive: unify file attribute handling
+      archive: remove extra arguments parsing code
+      archive: make zip compression level independent from core git
+      archive: remove unused headers
+
+Richard Quirk (1):
+      git-gui: Fix accidental staged state toggle when clicking top pixel row
+
+Robert Shearman (1):
+      git-send-email: Fix authenticating on some servers when using TLS.
+
+SZEDER Gábor (1):
+      stash: introduce 'stash save --keep-index' option
+
+Shawn O. Pearce (2):
+      Correct documentation for git-push --mirror
+      bash completion: Remove dashed command completion support
+
+Soeren Finster (1):
+      git-gui: Exit shortcut in MacOSX repaired
+
+Steffen Prohaska (5):
+      Windows: Fix ntohl() related warnings about printf formatting
+      compat/pread.c: Add a forward declaration to fix a warning
+      Move code interpreting path relative to exec-dir to new function system_path()
+      help.c: Add support for htmldir relative to git_exec_path()
+      help (Windows): Display HTML in default browser using Windows' shell API
+
+Stephan Beyer (10):
+      api-builtin.txt: update and fix typo
+      t3404: stricter tests for git-rebase--interactive
+      rerere: Separate libgit and builtin functions
+      t/test-lib.sh: exit with small negagive int is ok with test_must_fail
+      t/: Use "test_must_fail git" instead of "! git"
+      Make usage strings dash-less
+      git-am/git-mailsplit: correct synopsis for reading from stdin
+      t3404: test two "preserve merges with -p" cases
+      Make rebase--interactive use OPTIONS_SPEC
+      Link git-shell only to a subset of libgit.a
+
+SungHyun Nam (1):
+      t/Makefile: use specified shell when running aggregation script
+
+Sverre Hvammen Johansen (1):
+      reduce_heads(): thinkofix
+
+Sverre Rabbelier (2):
+      Modify test-lib.sh to output stats to t/test-results/*
+      Hook up the result aggregation in the test makefile.
+
+Ted Percival (1):
+      Don't use dash commands (git-foo) in tutorial-2
+
+Teemu Likonen (3):
+      bash: Add more option completions for 'git log'
+      Add target "install-html" the the top level Makefile
+      bash: Add long option completion for 'git send-email'
+
+Thomas Rast (7):
+      git-send-email: add support for TLS via Net::SMTP::SSL
+      git-send-email: prevent undefined variable warnings if no encryption is set
+      git-add--interactive: replace hunk recounting with apply --recount
+      git-add--interactive: remove hunk coalescing
+      git-add--interactive: manual hunk editing mode
+      git-send-email: Do not attempt to STARTTLS more than once
+      Fix apply --recount handling of no-EOL line
+
+
+Version v1.5.6.6; changes since v1.5.6.5:
+-----------------------------------------
+
+Alexander Gavrilov (1):
+      Fix quadratic performance in rewrite_one.
+
+Brandon Casey (1):
+      t5304-prune: adjust file mtime based on system time rather than file mtime
+
+Francis Moreau (1):
+      git-bisect: fix wrong usage of read(1)
+
+Ivan Stankovic (1):
+      Documentation: fix invalid reference to 'mybranch' in user manual
+
+Junio C Hamano (8):
+      Per-ref reflog expiry configuration
+      Make default expiration period of reflog used for stash infinite
+      asciidoc markup fixes
+      Fix deleting reflog entries from HEAD reflog
+      Re-fix rev-list-options documentation
+      Do not talk about "diff" in rev-list documentation.
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+Kevin Ballard (1):
+      Fix escaping of glob special characters in pathspecs
+
+Linus Torvalds (4):
+      Split up default "core" config parsing into helper routine
+      Split up default "user" config parsing into helper routine
+      Split up default "i18n" and "branch" config parsing into helper routines
+      Add config option to enable 'fsync()' of object files
+
+Petr Baudis (1):
+      Fail properly when cloning from invalid HTTP URL
+
+Pieter de Bie (1):
+      reflog test: add more tests for 'reflog delete'
+
+Thomas Rast (1):
+      Documentation: rev-list-options: Fix -g paragraph formatting
+
+
+Version v1.5.6.5; changes since v1.5.6.4:
+-----------------------------------------
+
+Anders Melchiorsen (1):
+      Documentation: fix diff.external example
+
+Björn Steinbrink (1):
+      index-pack.c: correctly initialize appended objects
+
+Brandon Casey (1):
+      t/t4202-log.sh: add newline at end of file
+
+Ciaran McCreesh (1):
+      Make git-add -i accept ranges like 7-
+
+Jeff King (1):
+      init: handle empty "template" parameter
+
+Jim Meyering (1):
+      git-cvsimport.perl: Print "UNKNOWN LINE..." on stderr, not stdout.
+
+Johannes Schindelin (1):
+      sort_in_topological_order(): avoid setting a commit flag
+
+Jonathan Nieder (2):
+      fix usage string for git grep
+      git-diff(1): "--c" -> "--cc" typo fix
+
+Junio C Hamano (12):
+      refresh-index: fix bitmask assignment
+      tests: propagate $(TAR) down from the toplevel Makefile
+      Makefile: fix shell quoting
+      make sure parsed wildcard refspec ends with slash
+      Documentation: clarify diff --cc
+      Update my e-mail address
+      Start 1.5.6.5 RelNotes to describe accumulated fixes
+      builtin-name-rev.c: split deeply nested part from the main function
+      RelNotes 1.5.6.5 updates
+      fix diff-tree --stdin documentation
+      Files given on the command line are relative to $cwd
+      GIT 1.5.6.5
+
+Linus Torvalds (1):
+      diff.renamelimit is a basic diff configuration
+
+Mike Ralphson (1):
+      Documentation: typos / spelling fixes in older RelNotes
+
+Peter Valdemar Mørch (1):
+      send-email: find body-encoding correctly
+
+Pierre Habouzit (2):
+      git-checkout: fix command line parsing.
+      git-submodule: move ill placed shift.
+
+Pieter de Bie (1):
+      git-name-rev: allow --name-only in combination with --stdin
+
+René Scharfe (1):
+      git-name-rev: don't use printf without format
+
+Stephan Beyer (1):
+      builtin-revert.c: typofix
+
+Steve Haslam (1):
+      Propagate -u/--upload-pack option of "git clone" to transport.
+
+
+Version v1.5.6.4; changes since v1.5.6.3:
+-----------------------------------------
+
+Dmitry Potapov (3):
+      Fix buffer overflow in git-grep
+      Fix buffer overflow in git diff
+      Fix buffer overflow in prepare_attr_stack
+
+Johannes Schindelin (3):
+      git daemon: avoid calling syslog() from a signal handler
+      Add pretty format %aN which gives the author name, respecting .mailmap
+      git fetch-pack: do not complain about "no common commits" in an empty repo
+
+Johannes Sixt (1):
+      t7600-merge: Use test_expect_failure to test option parsing
+
+Junio C Hamano (4):
+      Start preparing 1.5.6.4 release notes
+      rev-list: honor --quiet option
+      http-fetch: do not SEGV after fetching a bad pack idx file
+      GIT 1.5.6.4
+
+Lars Noschinski (1):
+      git-cvsserver: fix call to nonexistant cleanupWorkDir()
+
+Lukas Sandström (1):
+      git-mailinfo: Fix getting the subject from the in-body [PATCH] line
+
+Olivier Marin (1):
+      builtin-rm: fix index lock file path
+
+Petr Baudis (1):
+      Documentation/git-cherry-pick.txt et al.: Fix misleading -n description
+
+Shawn O. Pearce (9):
+      Correct pack memory leak causing git gc to try to exceed ulimit
+      bash completion: Improve responsiveness of git-log completion
+      bash completion: Don't offer "a.." as a completion for "a."
+      bash completion: Append space after file names have been completed
+      bash completion: Resolve git show ref:path<tab> losing ref: portion
+      index-pack: Refactor base arguments of resolve_delta into a struct
+      index-pack: Chain the struct base_data on the stack for traversal
+      index-pack: Track the object_entry that creates each base_data
+      index-pack: Honor core.deltaBaseCacheLimit when resolving deltas
+
+Stephan Beyer (2):
+      rebase-i: keep old parents when preserving merges
+      api-run-command.txt: typofix
+
+
+Version v1.5.6.3; changes since v1.5.6.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      git-clone: remove leftover debugging fprintf().
+
+Brian Hetro (5):
+      builtin-log.c: Use 'git_config_string' to get 'format.subjectprefix' and 'format.suffix'
+      convert.c: Use 'git_config_string' to get 'smudge' and 'clean'
+      diff.c: Use 'git_config_string' to get 'diff.external'
+      http.c: Use 'git_config_string' to clean up SSL config.
+      builtin-commit.c: Use 'git_config_string' to get 'commit.template'
+
+Christian Couder (1):
+      Fix "config_error_nonbool" used with value instead of key
+
+Gerrit Pape (1):
+      git-svn.perl: workaround assertions in svn library 1.5.0
+
+Jeff King (1):
+      make deleting a missing ref more quiet
+
+Johannes Schindelin (1):
+      run_command(): respect GIT_TRACE
+
+Junio C Hamano (6):
+      attribute documentation: keep EXAMPLE at end
+      clone -q: honor "quiet" option over native transports.
+      mailinfo: feed the correct line length to decode_transfer_encoding()
+      Start preparing release notes for 1.5.6.3
+      t0004: fix timing bug
+      GIT 1.5.6.3
+
+Linus Torvalds (1):
+      racy-git: an empty blob has a fixed object name
+
+Lukas Sandström (1):
+      git-mailinfo: document the -n option
+
+Mark Levedahl (1):
+      git-submodule - Fix bugs in adding an existing repo as a module
+
+Matthew Ogilvie (1):
+      Documentation cvs: Clarify when a bare repository is needed
+
+Mikael Magnusson (1):
+      Fix grammar in git-rev-parse(1).
+
+Nikolaus Schulz (1):
+      Documentation: be precise about which date --pretty uses
+
+Petr Baudis (1):
+      Fix backwards-incompatible handling of core.sharedRepository
+
+SZEDER Gábor (1):
+      bash: offer only paths after '--'
+
+Shawn O. Pearce (1):
+      Remove unnecessary pack-*.keep file after successful git-clone
+
+Stephan Beyer (1):
+      git-am: Do not exit silently if committer is unset
+
+
+Version v1.5.6.2; changes since v1.5.6.1:
+-----------------------------------------
+
+Avery Pennarun (1):
+      git-svn: avoid filling up the disk with temp files.
+
+Björn Steinbrink (1):
+      git cat-file: Fix memory leak in batch mode
+
+Eric Wong (1):
+      git-svn: don't sanitize remote names in config
+
+Jeff King (3):
+      fetch: report local storage errors in status table
+      doc/rev-parse: clarify reflog vs --until for specifying revisions
+      fetch: give a hint to the user when local refs fail to update
+
+Jochen Voss (1):
+      avoid off-by-one error in run_upload_archive
+
+Joey Hess (1):
+      fix git config example syntax
+
+Johannes Schindelin (2):
+      clone: respect url.insteadOf setting in global configs
+      clone: respect the settings in $HOME/.gitconfig and /etc/gitconfig
+
+Junio C Hamano (9):
+      Allow "git-reset path" when unambiguous
+      diff --check: do not discard error status upon seeing a good line
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+      GIT 1.5.5.5
+      Start draft release notes for 1.5.6.2
+      Work around gcc warnings from curl headers
+      Fix executable bits in t/ scripts
+      GIT 1.5.6.2
+
+Shawn O. Pearce (1):
+      Fix describe --tags --long so it does not segfault
+
+Thomas Rast (1):
+      Fix 'git show' on signed tag of signed tag of commit
+
+
+Version v1.5.6.1; changes since v1.5.6:
+---------------------------------------
+
+Brandon Casey (2):
+      git-merge.sh: fix typo in usage message: sucesses --> succeeds
+      t7502-commit.sh: test_must_fail doesn't work with inline environment variables
+
+Dan McGee (1):
+      completion: add --graph to log command completion
+
+Dmitry Potapov (1):
+      fix update-hook-example to work with packed tag references
+
+Jan Krüger (2):
+      Documentation: fix formatting in git-svn
+      git-svn: make rebuild respect rewriteRoot option
+
+Jeff King (2):
+      for-each-ref: implement missing tag values
+      clone: create intermediate directories of destination repo
+
+Junio C Hamano (2):
+      diff -c/--cc: do not include uninteresting deletion before leading context
+      GIT 1.5.6.1
+
+Linus Torvalds (1):
+      Make git_dir a path relative to work_tree in setup_work_tree()
+
+Michele Ballabio (1):
+      parse-options.c: fix documentation syntax of optional arguments
+
+Patrick Higgins (1):
+      Workaround for AIX mkstemp()
+
+Stephan Beyer (4):
+      git-rebase.sh: Add check if rebase is in progress
+      api-builtin.txt: update and fix typo
+      api-parse-options.txt: Introduce documentation for parse options API
+      Extend parse-options test suite
+
+
+Version v1.5.6; changes since v1.5.6-rc3:
+-----------------------------------------
+
+Alejandro Mery (1):
+      git-am: head -1 is obsolete and doesn't work on some new systems
+
+Christian Couder (1):
+      Documentation: RelNotes-1.5.6: talk about renamed HTML files
+
+Jeff King (1):
+      clean up error conventions of remote.c:match_explicit
+
+Johan Herland (3):
+      cpio is no longer used by git-clone
+      Consistency: Use "libcurl" instead of "cURL library" and "curl"
+      The "curl" executable is no longer required
+
+Junio C Hamano (7):
+      Makefile: update check-docs target
+      Update RPM spec to drop curl executable requirement
+      diff.c: fix emit_line() again not to add extra line
+      create_tempfile: make sure that leading directories can be accessible by peers
+      sha1_file.c: simplify parse_pack_index()
+      builtin-rerere: fix a small leak
+      GIT 1.5.6
+
+Lea Wiemann (2):
+      gitweb: quote commands properly when calling the shell
+      gitweb: remove unused parse_ref method
+
+Linus Torvalds (1):
+      write_loose_object: don't bother trying to read an old object
+
+Miklos Vajna (2):
+      run-command documentation: fix "memset()" parameter
+      path-list documentation: document all functions and data structures
+
+Olivier Marin (1):
+      Fix approxidate("never") to always return 0
+
+Pierre Habouzit (1):
+      Make git reflog expire honour core.sharedRepository.
+
+SZEDER Gábor (1):
+      diff: reset color before printing newline
+
+
+Version v1.5.6-rc3; changes since v1.5.6-rc2:
+---------------------------------------------
+
+Ask Bjørn Hansen (2):
+      gitweb setup instruction: rewrite HEAD and root as well
+      send-email: Allow the envelope sender to be set via configuration
+
+Avery Pennarun (2):
+      git-svn: don't append extra newlines at the end of commit messages.
+      git-svn: test that extra blank lines aren't inserted in commit messages.
+
+Boyd Lynn Gerber (2):
+      progress.c: avoid use of dynamic-sized array
+      Port to 12 other Platforms.
+
+Chris Ridd (1):
+      Improve sed portability
+
+Christian Couder (1):
+      documentation: bisect: remove bits talking about a bisection branch
+
+Flavio Poletti (1):
+      git-instaweb: improve auto-discovery of httpd and call conventions.
+
+Fred Maranhão (1):
+      fix typo in tutorial
+
+Geoffrey Irving (1):
+      doc: adding gitman.info and *.texi to .gitignore
+
+Jakub Narębski (2):
+      gitweb: Make it work with $GIT containing spaces
+      Use 'trash directory' thoroughly in t/test-lib.sh
+
+Jeff King (1):
+      document --pretty=tformat: option
+
+Johannes Schindelin (1):
+      merge-recursive: respect core.autocrlf when writing out the result
+
+Johannes Sixt (2):
+      make_nonrelative_path: Use is_absolute_path()
+      Remove exec bit from builtin-fast-export.c
+
+Junio C Hamano (8):
+      http-push.c: remove duplicated code
+      "remote prune": be quiet when there is nothing to prune
+      Documentation/git-pull.txt: Use more standard [NOTE] markup
+      Documentation: exclude @pxref{[REMOTES]} from texinfo intermediate output
+      user-manual: describe how higher stages are set during a merge
+      t4126: fix test that happened to work due to timing
+      sha1_file.c: dead code removal
+      GIT 1.5.6-rc3
+
+Lea Wiemann (4):
+      t1006-cat-file.sh: typo
+      cat-file --batch / --batch-check: do not exit if hashes are missing
+      Documentation/git-cat-file.txt: add missing line break
+      t/.gitattributes: only ignore whitespace errors in test files
+
+Linus Torvalds (4):
+      Consolidate SHA1 object file close
+      Avoid cross-directory renames and linking on object creation
+      Make loose object file reading more careful
+      Simplify and rename find_sha1_file()
+
+Marius Storm-Olsen (1):
+      Add testcase for merging in a CRLF repo
+
+Mark Levedahl (1):
+      git-submodule - Fix errors regarding resolve_relative_url
+
+Mikael Magnusson (1):
+      Typo in RelNotes.
+
+Mike Hommey (1):
+      Don't allocate too much memory in quote_ref_url
+
+Miklos Vajna (3):
+      Remove unused code in parse_commit_buffer()
+      git-rebase -i: mention the short command aliases in the todo list
+      git-read-tree: document -v option.
+
+Olivier Marin (4):
+      remote show: fix the -n option
+      builtin-remote: split show_or_prune() in two separate functions
+      remote prune: print the list of pruned branches
+      remote show: list tracked remote branches with -n
+
+Paul Mackerras (1):
+      gitk: Handle detached heads better
+
+Philippe Bruhat (1):
+      git-cvsimport: do not fail when CVSROOT is /
+
+Pieter de Bie (1):
+      git-send-email: allow whitespace in addressee list
+
+René Scharfe (1):
+      Ignore .gitattributes in bare repositories
+
+SZEDER Gábor (2):
+      git add: add long equivalents of '-u' and '-f' options
+      completion: add more 'git add' options
+
+Shawn O. Pearce (1):
+      fast-export: Correctly generate initial commits with no parents
+
+Stephan Beyer (6):
+      git-commit.txt: Correct option alternatives
+      git-commit.txt: Add missing long/short options
+      Docs: Use "-l::\n--long\n" format in OPTIONS sections
+      Docs: add some long/short options
+      git-describe.txt: document --always
+      git-name-rev.txt: document --no-undefined and --always
+
+
+Version v1.5.6-rc2; changes since v1.5.6-rc1:
+---------------------------------------------
+
+Adam Simpkins (2):
+      graph API: fix "git log --graph --first-parent"
+      git log --graph: print '*' for all commits, including merges
+
+Alex Riesen (1):
+      Fix t5516 on cygwin: it does not like double slashes at the beginning of a path
+
+Björn Steinbrink (1):
+      name-rev: Fix segmentation fault when using --all
+
+Christian Couder (2):
+      documentation: convert "diffcore" and "repository-layout" to man pages
+      documentation: move git(7) to git(1)
+
+Daniel Barkalow (1):
+      Use nonrelative paths instead of absolute paths for cloned repositories
+
+Dirk Süsserott (1):
+      Documentation/git-mailsplit: Enhanced description of -o option
+
+Jakub Narębski (1):
+      gitweb: Add charset info to "raw" output of 'text/plain' blobs
+
+Jeff King (1):
+      Fix "git clone http://$URL" to check out the worktree when asked
+
+Junio C Hamano (6):
+      t7502: do not globally unset GIT_COMMITTER_* environment variables
+      t7502: tighten loosely written test sequence
+      Documentation: git-log cannot use rev-list specific options
+      t7502: honor SHELL_PATH
+      GIT 1.5.5.4
+      GIT 1.5.6-rc2
+
+Lea Wiemann (2):
+      cat-file --batch: flush stdout also when objects are missing
+      git-for-each-ref.txt: minor improvements
+
+Michael Dressel (1):
+      describe: match pattern for lightweight tags too
+
+Miklos Vajna (1):
+      Strbuf documentation: document most functions
+
+Teemu Likonen (1):
+      Print info about "git help COMMAND" on git's main usage pages
+
+
+Version v1.5.6-rc1; changes since v1.5.6-rc0:
+---------------------------------------------
+
+Adam Simpkins (2):
+      graph API: improve display of merge commits
+      graph API: avoid printing unnecessary padding before some octopus merges
+
+Christian Couder (2):
+      bisect: use "$GIT_DIR/BISECT_START" to check if we are bisecting
+      Documentation: convert "glossary" and "core-tutorial" to man pages
+
+Christian Engwer (1):
+      git-svn fails in prop_walk if $self->{path} is not empty
+
+Dmitry V. Levin (1):
+      builtin-fetch.c (store_updated_refs): Honor update_local_ref() return value
+
+Gerrit Pape (2):
+      Documentation/git-bundle.txt: fix synopsis
+      commit --interactive: properly update the index before commiting
+
+Jakub Narębski (2):
+      gitweb: Remove gitweb/test/ directory
+      gitweb: Fix "next" link on bottom of page
+
+Jamis Buck (1):
+      git-reset: honor -q and do not show progress message
+
+Jeff King (1):
+      clone: make sure we support the transport type
+
+Johannes Schindelin (1):
+      hg-to-git: add --verbose option
+
+Johannes Sixt (3):
+      t5700-clone-reference: Quote $U
+      Revert "filter-branch: subdirectory filter needs --full-history"
+      rebase --interactive: Compute upstream SHA1 before switching branches
+
+John J. Franey (1):
+      Clarify description of <repository> argument to pull/fetch for naming remotes.
+
+Junio C Hamano (25):
+      tests: do not use implicit "git diff --no-index"
+      diff-files: do not play --no-index games
+      "git diff": do not ignore index without --no-index
+      Update draft release notes for 1.5.6
+      log --graph: do not accept log --graphbogus
+      log --pretty: do not accept bogus "--prettyshort"
+      Release Notes for 1.5.5.2
+      Documentation/git.txt: link to 1.5.5.2 documentation.
+      Makefile: fix dependency on wt-status.h
+      show-branch --current: do not barf on detached HEAD
+      git-diff: allow  --no-index semantics a bit more
+      git diff --no-index: default to page like other diff frontends
+      GIT 1.5.5.3
+      t5100: Avoid filename "nul"
+      Git::cat_blob: allow using an empty blob to fix git-svn breakage
+      fix sha1_pack_index_name()
+      Manual subsection to refer to other pages is SEE ALSO
+      Documentation: git-cherry uses git-patch-id
+      "git checkout -- paths..." should error out when paths cannot be written
+      checkout: make reset_clean_to_new() not die by itself
+      checkout: consolidate reset_{to_new,clean_to_new}()
+      unpack_trees(): allow callers to differentiate worktree errors from merge errors
+      checkout: "best effort" checkout
+      commit: drop duplicated parents
+      GIT v1.5.6-rc1
+
+Karl Wiberg (3):
+      Add some tests for git update-ref -d
+      Fix path duplication in git svn commit-diff
+      Revert "git.el: Set process-environment instead of invoking env"
+
+Kevin Ballard (1):
+      Documentation/git-filter-branch.txt: Fix description of --commit-filter
+
+Lea Wiemann (5):
+      gitweb: only display "next" links in logs if there is a next page
+      t/test-lib.sh: resolve symlinks in working directory, for pathname comparisons
+      Git.pm: fix documentation of hash_object
+      glossary: improve a few links
+      Git.pm: fix return value of config method
+
+Linus Torvalds (2):
+      Make pack creation always fsync() the result
+      Remove now unnecessary 'sync()' calls
+
+Luciano Rocha (1):
+      git-init: accept --bare option
+
+Marius Storm-Olsen (2):
+      Clearify the documentation for core.ignoreStat
+      Add shortcut in refresh_cache_ent() for marked entries.
+
+Michele Ballabio (1):
+      Documentation: fix graph in git-rev-parse.txt
+
+Miklos Vajna (1):
+      Revision walking documentation: document most important functions
+
+Nicolas Pitre (1):
+      make verify-pack a bit more useful with bad packs
+
+Paolo Bonzini (1):
+      rollback lock files on more signals than just SIGINT
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+Seth Falcon (1):
+      Add a --dry-run option to git-svn rebase
+
+Shawn O. Pearce (8):
+      git-gui: Add a --trace command line option
+      git-gui: Handle workdir detection when CYGWIN=nowinsymlinks
+      Don't diff empty tree on branch creation in paranoid update hook
+      Don't load missing ACL files in paranoid update hook
+      Ignore no-op changes in paranoid update hook
+      Remove unused remote_prefix member in builtin-remote
+      Make "git-remote prune" delete refs according to fetch specs
+      Make "git-remote rm" delete refs acccording to fetch specs
+
+Stephan Beyer (2):
+      Add test cases for git-am
+      Merge t4150-am-subdir.sh and t4151-am.sh into t4150-am.sh
+
+Twiinz (1):
+      git-gui: Vertically align textboxes with labels
+
+
+Version v1.5.6-rc0; changes since v1.5.5.6:
+-------------------------------------------
+
+Adam Roben (11):
+      Add tests for git cat-file
+      git-cat-file: Small refactor of cmd_cat_file
+      git-cat-file: Make option parsing a little more flexible
+      git-cat-file: Add --batch-check option
+      git-cat-file: Add --batch option
+      Move git-hash-object tests from t5303 to t1007
+      Add more tests for git hash-object
+      git-hash-object: Add --stdin-paths option
+      Git.pm: Add command_bidi_pipe and command_close_bidi_pipe
+      Git.pm: Add hash_and_insert_object and cat_blob
+      git-svn: Speed up fetch
+
+Adam Simpkins (11):
+      Remove dead code: show_log() sep argument and diff_options.msg_sep
+      log: print log entry terminator even if the message is empty
+      revision API: split parent rewriting and parent printing options
+      Add history graph API
+      log and rev-list: add --graph option
+      graph API: eliminate unnecessary indentation
+      graph API: fix graph mis-alignment after uninteresting commits
+      graph API: don't print branch lines for uninteresting merge parents
+      log --graph --left-right: show left/right information in place of '*'
+      Fix output of "git log --graph --boundary"
+      get_revision(): honor the topo_order flag for boundary commits
+
+Alex Riesen (10):
+      Use the modern syntax of git-diff-files in t2002-checkout-cache-u.sh
+      Improve reporting of errors in config file routines
+      Make the exit code of add_file_to_index actually useful
+      Extend interface of add_files_to_cache to allow ignore indexing errors
+      Add --ignore-errors to git-add to allow it to skip files with read errors
+      Add a test for git-add --ignore-errors
+      Add a config option to ignore errors for git-add
+      Ensure that a test is run in the trash directory
+      Fix t6031 on filesystems without working exec bit
+      Fix t3701 if core.filemode disabled
+
+Anders Waldenborg (1):
+      gitweb: Convert string to internal form before chopping in chop_str
+
+Avery Pennarun (3):
+      git-svn: add documentation for --use-log-author option.
+      git-svn: Add --add-author-from option.
+      git-svn: add documentation for --add-author-from option.
+
+Bart Trojanowski (1):
+      make git-status use a pager
+
+Brandon Casey (7):
+      filter-branch.sh: support nearly proper tag name filtering
+      compat/fopen.c: avoid clobbering the system defined fopen macro
+      repack: modify behavior of -A option to leave unreferenced objects unpacked
+      git-gc: always use -A when manually repacking
+      builtin-gc.c: deprecate --prune, it now really has no effect
+      builtin-clone.c: Need to closedir() in copy_or_link_directory()
+      t/Makefile: "trash" directory was renamed recently
+
+Bryan Donlan (10):
+      git-rebase.sh: Fix --merge --abort failures when path contains whitespace
+      config.c: Escape backslashes in section names properly
+      git-send-email.perl: Handle shell metacharacters in $EDITOR properly
+      test-lib.sh: Add a test_set_editor function to safely set $VISUAL
+      Use test_set_editor in t9001-send-email.sh
+      test-lib.sh: Fix some missing path quoting
+      lib-git-svn.sh: Fix quoting issues with paths containing shell metacharacters
+      Don't use the 'export NAME=value' in the test scripts.
+      Fix tests breaking when checkout path contains shell metacharacters
+      Rename the test trash directory to contain spaces.
+
+Caio Marcelo de Oliveira Filho (1):
+      git-format-patch: add --no-binary to omit binary changes in the patch.
+
+Chris Frey (2):
+      Documentation/git-prune.txt: document unpacked logic
+      Documentation/git-repack.txt: document new -A behaviour
+
+Chris Parsons (1):
+      Updated status to show 'Not currently on any branch' in red
+
+Christian Couder (21):
+      bisect: add "git bisect help" subcommand to get a long usage string
+      help: use man viewer path from "man.<tool>.path" config var
+      documentation: help: add "man.<tool>.path" config variable
+      help: use "man.<tool>.cmd" as custom man viewer command
+      documentation: help: add info about "man.<tool>.cmd" config var
+      documentation: web--browse: add a note about konqueror
+      rev-parse: teach "--verify" to be quiet when using "-q" or "--quiet"
+      rev-parse: fix --verify to error out when passed junk after a good rev
+      Documentation: hooks: fix missing verb in pre-applypatch description
+      Documentation: rename "hooks.txt" to "githooks.txt" and make it a man page
+      Documentation: improve "add", "pull" and "format-patch" examples
+      Documentation: bisect: add a few "git bisect run" examples
+      rev-parse: add test script for "--verify"
+      rev-parse: fix using "--default" with "--verify"
+      rev-parse --verify: do not output anything on error
+      Documentation: rev-parse: add a few "--verify" and "--default" examples
+      bisect: add test cases to check that "git bisect start" is atomic
+      bisect: fix left over "BISECT_START" file when starting with junk rev
+      bisect: trap critical errors in "bisect_start"
+      bisect: use a detached HEAD to bisect
+      Documentation: convert tutorials to man pages
+
+Christian Stimming (3):
+      git-gui: Update German translation
+      gitk: Update German translation
+      gitk: German translation again updated
+
+Clemens Buchacher (2):
+      Reset the signal being handled
+      http-push: remove remote locks on exit signals
+
+Clifford Caoile (1):
+      git.el: Set process-environment instead of invoking env
+
+Dan McGee (3):
+      completion: allow 'git remote' subcommand completion
+      completion: remove use of dashed git commands
+      Allow cherry-pick (and revert) to add signoff line
+
+Daniel Barkalow (12):
+      Make walker.fetch_ref() take a struct ref.
+      Make ls-remote http://... list HEAD, like for git://...
+      Mark the list of refs to fetch as const
+      Add a lockfile function to append to a file
+      Add a library function to add an alternate to the alternates file
+      Have a constant extern refspec for "--tags"
+      Allow for having for_each_ref() list extra refs
+      Add a function to set a non-default work tree
+      Provide API access to init_db()
+      Build in clone
+      clone: fall back to copying if hardlinking fails
+      Test that --reference actually suppresses fetching referenced objects
+
+Dmitry Potapov (1):
+      git-init: autodetect core.ignorecase
+
+Dustin Sallings (2):
+      Allow tracking branches to set up rebase by default.
+      Allow tracking branches to set up rebase by default.
+
+Eric Wong (1):
+      git-svn: fix cloning of HTTP URLs with '+' in their path
+
+Frank Lichtenheld (4):
+      var: Don't require to be in a git repository.
+      Git.pm: Don't require a repository instance for config
+      Git.pm: Don't require repository instance for ident
+      send-email: Don't require to be called in a repository
+
+Gerrit Pape (3):
+      gitweb: fallback to system-wide config file if default config does not exist
+      gitweb: fallback to system-wide config file (fixup)
+      gitk: Makefile/install: force permissions when installing files and dirs
+
+Govind Salinas (1):
+      pretty.c: add %x00 format specifier.
+
+Gustaf Hendeby (6):
+      git-svn: Make create-ignore use git add -f
+      Documentation: Add create-ignore to git svn manual
+      Documentation/config.txt: Add git-gui options
+      Documentation: Add missing git svn commands
+      Documentation: Fix skipped section level
+      Make git add -n and git -u -n output consistent
+
+Heikki Orsila (7):
+      Make core.sharedRepository more generic
+      Document functions xmemdupz(), xread() and xwrite()
+      Die for an early EOF in a file reading loop
+      Make read_in_full() and write_in_full() consistent with xread() and xwrite()
+      Cleanup xread() loops to use read_in_full()
+      Add log.date config variable
+      Remove redundant code, eliminate one static variable
+
+Imran M Yousuf (1):
+      Use '-f' option to point to the .gitmodules file
+
+Jakub Narębski (1):
+      gitweb: Use feed link according to current view
+
+Jeff King (12):
+      add--interactive: ignore mode change in 'p'atch command
+      add--interactive: allow user to choose mode update
+      git-fetch: always show status of non-tracking-ref fetches
+      git-remote: show all remotes with "git remote show"
+      Documentation: point git-prune users to git-gc
+      add merge.renamelimit config option
+      bump rename limit defaults
+      diff: make "too many files" rename warning optional
+      fix bsd shell negation
+      t5000: tar portability fix
+      clone: bsd shell portability fix
+      filter-branch: fix variable export logic
+
+Johan Herland (2):
+      Add a test for another combination of --reference
+      Add test for cloning with "--reference" repo being a subset of source repo
+
+Johannes Schindelin (10):
+      Provide git_config with a callback-data parameter
+      builtin-clone: fix initial checkout
+      cvsexportcommit: chomp only removes trailing whitespace
+      diff options: Introduce --ignore-submodules
+      Teach update-index about --ignore-submodules
+      Ignore dirty submodule states during rebase and stash
+      cvsexportcommit: introduce -W for shared working trees (between Git and CVS)
+      submodule update: add convenience option --init
+      pull --rebase: exit early when the working directory is dirty
+      mailsplit and mailinfo: gracefully handle NUL characters
+
+Johannes Sixt (3):
+      builtin-commit.c: Remove a redundant assignment.
+      git-gui: Report less precise object estimates for database compression
+      compat-util: avoid macro redefinition warning
+
+Jon Loeliger (1):
+      Add otherwise missing --strict option to unpack-objects summary.
+
+Junio C Hamano (24):
+      Optimize rename detection for a huge diff
+      t5300: add test for "unpack-objects --strict"
+      unpack-objects: fix --strict handling
+      rebase [--onto O] A B: omit needless checkout
+      sha1-lookup: more memory efficient search in sorted list of SHA-1
+      diff: make --dirstat binary-file safe
+      sha1-lookup: make selection of 'middle' less aggressive
+      log: teach "terminator" vs "separator" mode to "--pretty=format"
+      git_config_bool_or_int()
+      write_index(): optimize ce_smudge_racily_clean_entry() calls with CE_UPTODATE
+      diff-files: mark an index entry we know is up-to-date as such
+      Fix git_config_bool_or_int
+      First batch of post 1.5.5 updates
+      diff: a submodule not checked out is not modified
+      diff-lib.c: rename check_work_tree_entity()
+      is_racy_timestamp(): do not check timestamp for gitlinks
+      git-svn: add test for --add-author-from and --use-log-author
+      builtin-apply: typofix
+      builtin-apply: accept patch to an empty file
+      builtin-apply: do not declare patch is creation when we do not know it
+      unpack-trees: allow Porcelain to give different error messages
+      "git-add -n -u" should not add but just report
+      mailinfo: apply the same fix not to lose NULs in BASE64 and QP codepaths
+      mailsplit: minor clean-up in read_line_with_nul()
+
+Jörg Sommer (1):
+      post-merge: Add it's not executed if merge failed.
+
+Krzysztof Kowalczyk (1):
+      alloc_ref_from_str(): factor out a common pattern of alloc_ref from string
+
+Lars Hjemli (8):
+      Add platform-independent .git "symlink"
+      Teach resolve_gitlink_ref() about the .git file
+      Teach git-submodule.sh about the .git file
+      Teach GIT-VERSION-GEN about the .git file
+      git-branch: add support for --merged and --no-merged
+      git-branch.txt: compare --contains, --merged and --no-merged
+      Add tests for `branch --[no-]merged`
+      revision.c: really honor --first-parent
+
+Linus Torvalds (12):
+      Make unpack_trees_options bit flags actual bitfields
+      Move name hashing functions into a file of its own
+      Make "index_name_exists()" return the cache_entry it found
+      Make hash_name_lookup able to do case-independent lookups
+      Add 'core.ignorecase' option
+      Make branch merging aware of underlying case-insensitive filsystems
+      Make unpack-tree update removed files before any updated files
+      When adding files to the index, add support for case-independent matches
+      Make git-add behave more sensibly in a case-insensitive environment
+      Optimize match_pathspec() to avoid fnmatch()
+      Avoid some unnecessary lstat() calls
+      Optimize symlink/directory detection
+
+Liu Yubao (1):
+      Documentation on --git-dir and --work-tree
+
+Marcel Koeppen (2):
+      Replace in-place sed in t7502-commit
+      Fix prepare-commit-msg hook and replace in-place sed
+
+Mark Hills (1):
+      Be more careful with objects directory permissions on clone
+
+Martin Koegler (3):
+      unpack-objects: prevent writing of inconsistent objects
+      receive-pack: allow using --strict mode for unpacking objects
+      t5300: add test for "index-pack --strict"
+
+Matthew Ogilvie (3):
+      git-cvsserver: add mechanism for managing working tree and current directory
+      implement gitcvs.usecrlfattr
+      git-cvsserver: add ability to guess -kb from contents
+
+Matthias Kestenholz (1):
+      Use color.ui variable in scripts too
+
+Matthieu Moy (1):
+      git-svn: detect and fail gracefully when dcommitting to a void
+
+Michele Ballabio (4):
+      gitk: Disable "Reset %s branch to here" when on a detached head
+      gitk: Move es.po where it belongs
+      builtin-cat-file.c: use parse_options()
+      change quoting in test t1006-cat-file.sh
+
+Mike Ralphson (1):
+      Makefile: update the default build options for AIX
+
+Miklos Vajna (11):
+      git-gc --auto: add pre-auto-gc hook
+      Documentation/hooks: add pre-auto-gc hook
+      contrib/hooks: add an example pre-auto-gc hook
+      git checkout: add -t alias for --track
+      git-format-patch: add a new format.cc configuration variable
+      git-send-email: add a new sendemail.cc configuration variable
+      Add tests for sendemail.cc configuration variable
+      INSTALL: add a note about GNU interactive tools has been renamed
+      git-fast-import: rename cmd_*() functions to parse_*()
+      git-merge: exclude unnecessary options from OPTIONS_SPEC
+      CodingGuidelines: Add a note to avoid assignments inside if()
+
+Nicolas Pitre (9):
+      pack-objects: small cleanup
+      pack-objects: remove some double negative logic
+      pack-objects: simplify the condition associated with --all-progress
+      pack-objects: clean up write_object() a bit
+      pack-objects: move compression code in a separate function
+      pack-objects: allow for early delta deflating
+      pack-objects: fix early eviction for max depth delta objects
+      add a force_object_loose() function
+      let pack-objects do the writing of unreachable objects as loose objects
+
+Paolo Bonzini (2):
+      Add a remote.*.mirror configuration option
+      add special "matching refs" refspec
+
+Paul Mackerras (40):
+      gitk: Use git log without --topo-order and reorganize the commits ourselves
+      gitk: Fix bug in assigning row numbers to arcs
+      gitk: Fix bug in parsing multiple revision arguments
+      gitk: Compute row numbers and order tokens lazily
+      gitk: Fix a couple of bugs
+      gitk: Fix more bugs resulting in Tcl "no such element in array" errors
+      gitk: More bug fixes and cleanups
+      gitk: Implement date mode in the new framework
+      gitk: Fix another collection of bugs
+      gitk: Don't try to show local changes from a head that isn't shown
+      gitk: Keep the same commits visible as other commits come in
+      gitk: Fix some corner cases in the targetid/targetrow stuff
+      gitk: Fix a couple of bugs in the find function
+      gitk: Fix potential bug with fake commit IDs in renumbervarc
+      gitk: Index [fnvr]highlights by id rather than row
+      gitk: Fix handling of flag arguments
+      gitk: Fix a bug in make_disporder
+      gitk: Select head of current branch by default
+      gitk: Select something appropriate on cherry-pick, branch reset and checkout
+      gitk: Fix bug where editing an existing view would cause an infinite loop
+      gitk: Fix bug causing Tcl error when no commits are selected
+      gitk: Fix cherry-picking to insert a real row not a fake row
+      gitk: Cope better with getting commits that we have already seen
+      gitk: Fix bug where arcs could get lost
+      gitk: Handle updating with path limiting better
+      gitk: Fix problems with target row stuff
+      gitk: Don't filter view arguments through git rev-parse
+      gitk: Correct a few strings and comments to say "git log"
+      gitk: Fix some corner cases in computing vrowmod and displayorder
+      gitk: Avoid a crash in selectline if commitinfo($id) isn't set
+      gitk: Fix problem with target row not being in scroll region
+      gitk: Reorganize processing of arguments for git log
+      gitk: Fix handling of tree file list with special chars in names
+      gitk: Make updates go faster
+      gitk: Synchronize highlighting in file view for 'f' and 'b' commands
+      gitk: Show current row number and total number of rows
+      gitk: Add a progress bar for checking out a head
+      gitk: Fix "wrong # coordinates" error on reload
+      gitk: Fix bug where current row number display stops working
+      gitk: Fix bug introduced by "gitk: Fix "wrong # coordinates" error on reload"
+
+Paul Oliver (1):
+      Make git-cvsimport remove ['s from tags, as bad_ref_char doesn't allow them.
+
+Peter Krefting (1):
+      gitk: Initial Swedish translation.
+
+Ping Yin (5):
+      git-submodule summary: --for-status option
+      builtin-status: submodule summary support
+      builtin-status: Add tests for submodule summary
+      t4027: test diff for submodule with empty directory
+      Add t7506 to test submodule related functions for git-status
+
+Rafael Garcia-Suarez (1):
+      Spelling fixes in the gitweb documentation
+
+Richard Quirk (2):
+      bash: Add completion for gitk --merge
+      Documentation gitk: Describe what --merge does
+
+SZEDER Gábor (5):
+      doc: moved merge.* config variables into separate merge-config.txt
+      merge, pull: introduce '--(no-)stat' option
+      add 'merge.stat' config variable
+      fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable
+      merge, pull: add '--(no-)log' command line option
+
+Santi Béjar (3):
+      Preparation to call determine_author_info from prepare_to_commit
+      commit: Show author if different from committer
+      commit: Show committer if automatic
+
+Santiago Gala (1):
+      gitk: Spanish translation of gitk
+
+Sebastian Schuberth (1):
+      mergetool: Make ECMerge use the settings as specified by the user in the GUI
+
+Shawn O. Pearce (3):
+      git-gui: Don't use '$$cr master' with aspell earlier than 0.60
+      git-gui: Setup branch.remote,merge for shorthand git-pull
+      git-gui: Delete branches with 'git branch -D' to clear config
+
+Steffen Prohaska (4):
+      t0050: Test autodetect core.ignorecase
+      t0050: Set core.ignorecase case to activate case insensitivity
+      t0050: Add test for case insensitive add
+      t0050: Fix merge test on case sensitive file systems
+
+Stephan Beyer (1):
+      builtin-apply.c: use git_config_string() to get apply_default_whitespace
+
+Stephen R. van den Berg (2):
+      Simplify and fix --first-parent implementation
+      git-svn: Same default as cvsimport when using --use-log-author
+
+Steven Grimm (1):
+      Add svn-compatible "blame" output format to git-svn
+
+Teemu Likonen (1):
+      Documentation/git-web--browse.txt: fix small typo
+
+Thomas Arcila (1):
+      gitk: Allow users to view diffs in external diff viewer
+
+Trent Piepho (1):
+      cvsexportcommit: Create config option for CVS dir
+
+
+Version v1.5.5.6; changes since v1.5.5.5:
+-----------------------------------------
+
+Junio C Hamano (2):
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+
+Version v1.5.5.5; changes since v1.5.5.4:
+-----------------------------------------
+
+Fred Maranhão (1):
+      fix typo in tutorial
+
+Johannes Sixt (1):
+      Remove exec bit from builtin-fast-export.c
+
+Junio C Hamano (4):
+      diff.c: fix emit_line() again not to add extra line
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+      GIT 1.5.5.5
+
+Miklos Vajna (1):
+      git-read-tree: document -v option.
+
+SZEDER Gábor (1):
+      diff: reset color before printing newline
+
+
+Version v1.5.5.4; changes since v1.5.5.3:
+-----------------------------------------
+
+Björn Steinbrink (1):
+      name-rev: Fix segmentation fault when using --all
+
+Junio C Hamano (1):
+      GIT 1.5.5.4
+
+Lea Wiemann (1):
+      git-for-each-ref.txt: minor improvements
+
+Michael Dressel (1):
+      describe: match pattern for lightweight tags too
+
+
+Version v1.5.5.3; changes since v1.5.5.2:
+-----------------------------------------
+
+Christian Couder (1):
+      bisect: print an error message when "git rev-list --bisect-vars" fails
+
+Gerrit Pape (3):
+      git-bisect.sh: don't accidentally override existing branch "bisect"
+      Documentation/git-bundle.txt: fix synopsis
+      commit --interactive: properly update the index before commiting
+
+Horst H. von Brand (1):
+      Fix recipient santitization
+
+Jeff King (2):
+      send-email: specify content-type of --compose body
+      send-email: rfc2047-quote subject lines with non-ascii characters
+
+Johannes Sixt (1):
+      Revert "filter-branch: subdirectory filter needs --full-history"
+
+Junio C Hamano (3):
+      Release Notes for 1.5.5.2
+      show-branch --current: do not barf on detached HEAD
+      GIT 1.5.5.3
+
+Lea Wiemann (1):
+      gitweb: only display "next" links in logs if there is a next page
+
+Michele Ballabio (1):
+      Documentation: fix graph in git-rev-parse.txt
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+
+Version v1.5.5.2; changes since v1.5.5.1:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      git-repack: re-enable parsing of -n command line option
+
+Alex Riesen (2):
+      Use "=" instead of "==" in condition as it is more portable
+      Fix use after free() in builtin-fetch
+
+Andy Parkins (1):
+      post-receive-email: fix accidental removal of a trailing space in signature line
+
+Ariel Badichi (2):
+      copy.c: copy_fd - correctly report write errors
+      archive.c: format_subst - fixed bogus argument to memchr
+
+Brandon Casey (1):
+      git-clone.txt: Adjust note to --shared for new pruning behavior of git-gc
+
+Dan McGee (1):
+      Remove 'header' from --signoff option description
+
+Dmitry Potapov (1):
+      git-gc --prune is deprecated
+
+Dustin Sallings (1):
+      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"
+
+Florian Ragwitz (1):
+      filter-branch: Documentation fix.
+
+Gerrit Pape (1):
+      diff-options.txt: document the new "--dirstat" option
+
+Heikki Orsila (1):
+      Add missing "short" alternative to --date in rev-list-options.txt
+
+Ian Hilt (1):
+      Documentation/git-describe.txt: make description more readable
+
+Jeff King (11):
+      Don't force imap.host to be set when imap.tunnel is set
+      t5516: remove ambiguity test (1)
+      doc/git-gc: add a note about what is collected
+      push: allow unqualified dest refspecs to DWIM
+      remote: create fetch config lines with '+'
+      fix reflog approxidate parsing bug
+      cvsimport: always pass user data to "system" as a list
+      checkout: don't rfc2047-encode oneline on detached HEAD
+      doc: clarify definition of "update" for git-add -u
+      doc/git-daemon: s/uploadarchive/uploadarch/
+      git-am: fix typo in usage message
+
+Johannes Sixt (2):
+      wt-status.h: declare global variables as extern
+      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
+
+Jon Loeliger (2):
+      git-filter-branch: Clarify file removal example.
+      git-show.txt: Not very stubby these days.
+
+Junio C Hamano (3):
+      write-tree: properly detect failure to write tree objects
+      clone: detect and fail on excess parameters
+      fetch-pack: brown paper bag fix
+
+Linus Torvalds (1):
+      fetch-pack: do not stop traversing an already parsed commit
+
+Matt Graham (1):
+      Linked glossary from cvs-migration page
+
+Matthew Ogilvie (1):
+      gitattributes: Fix subdirectory attributes specified from root directory
+
+Michael Weber (1):
+      svn-git: Use binmode for reading/writing binary rev maps
+
+Miklos Vajna (1):
+      diff options documentation: refer to --diff-filter in --name-status
+
+Sam Vilain (1):
+      Amend git-push refspec documentation
+
+Shawn O. Pearce (1):
+      Clarify repack -n documentation
+
+Sitaram Chamarty (1):
+      builtin-commit.c: add -u as short name for --untracked-files
+
+Teemu Likonen (1):
+      bash: Add completion for git diff --base --ours --theirs
+
+Thomas Guyot-Sionnest (1):
+      git-svn bug with blank commits and author file
+
+martin f. krafft (2):
+      Escape project name in regexp
+      Escape project names before creating pathinfo URLs
+
+
+Version v1.5.5.1; changes since v1.5.5:
+---------------------------------------
+
+Alberto Bertogli (1):
+      builtin-apply: Show a more descriptive error on failure when opening a patch
+
+Björn Steinbrink (1):
+      Fix section about backdating tags in the git-tag docs
+
+Carlos Rica (2):
+      Fix documentation syntax of optional arguments in short options.
+      core-tutorial.txt: Fix showing the current behaviour.
+
+Christian Couder (4):
+      bisect: fix bad rev checking in "git bisect good"
+      bisect: report bad rev better
+      bisect: squelch "fatal: ref HEAD not a symref" misleading message
+      git-bisect: make "start", "good" and "skip" succeed or fail atomically
+
+Clifford Caoile (1):
+      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)
+
+Daniel Barkalow (1):
+      Fix config key miscount in url.*.insteadOf
+
+Dirk Süsserott (1):
+      Documentation/git-request-pull: Fixed a typo ("send" -> "end")
+
+Jakub Narębski (1):
+      gitweb: Fix 'history' view for deleted files with history
+
+Jeff King (1):
+      git-fetch: fix status output when not storing tracking ref
+
+Johannes Sixt (1):
+      Document option --only of git commit
+
+Jon Loeliger (1):
+      Clarify and fix English in "git-rm" documentation
+
+Jonas Fonseca (1):
+      git-remote: reject adding remotes with invalid names
+
+Junio C Hamano (7):
+      Document -w option to shortlog
+      Documentation/git-submodule: typofix
+      t7401: squelch garbage output
+      rebase: do not munge commit log message
+      git-am: minor cleanup
+      am: POSIX portability fix
+      GIT 1.5.5.1
+
+Linus Torvalds (2):
+      Ignore leading empty lines while summarizing merges
+      git-am: cope better with an empty Subject: line
+
+Mark Levedahl (1):
+      git-submodule - possibly use branch name to describe a module
+
+Matthieu Moy (1):
+      Document that WebDAV doesn't need git on the server, and works over SSL
+
+Michele Ballabio (1):
+      revision.c: make --date-order overriddable
+
+Pedro Melo (1):
+      Force the medium pretty format on calls to git log
+
+Ping Yin (1):
+      git-submodule: Avoid 'fatal: cannot describe' message
+
+René Scharfe (1):
+      git-archive: ignore prefix when checking file attribute
+
+Scott Collins (1):
+      Clarify documentation of git-cvsserver, particularly in relation to git-shell
+
+Shawn Bohrer (2):
+      git clean: Don't automatically remove directories when run within subdirectory
+      git clean: Add test to verify directories aren't removed with a prefix
+
+
+Version v1.5.5; changes since v1.5.5-rc3:
+-----------------------------------------
+
+Christian Couder (2):
+      git-gui: Update french translation
+      test suite: remove useless TERM cruft in "t7005-editor.sh"
+
+Eric Wong (1):
+      git-svn: fix following renamed paths when tracking a single path
+
+Gerrit Pape (1):
+      gitk: Fix changing colors through Edit->Preferences
+
+Jakub Narębski (1):
+      Revert "gitweb: Add 'status_str' to parse_difftree_raw_line output"
+
+Junio C Hamano (2):
+      Fix "git apply" to correctly enforce "match at the beginning"
+      GIT 1.5.5
+
+Kevin Ballard (1):
+      git-fetch: Don't trigger a bus error when given the refspec "tag"
+
+Michele Ballabio (1):
+      git-gui: use +/- instead of ]/[ to show more/less context in diff
+
+Pascal Obry (2):
+      Add interactive option in rebase command completion list.
+      Add prefix oriented completions for diff and format-patch commands.
+
+Peter Eriksen (2):
+      git-pack-objects.txt: Make wording slightly less ambiguous
+      Add description of OFS_DELTA to the pack format description
+
+Shawn O. Pearce (1):
+      git-gui: Switch keybindings for [ and ] to bracketleft and bracketright
+
+
+Version v1.5.5-rc3; changes since v1.5.5-rc2:
+---------------------------------------------
+
+Brandon Casey (2):
+      mktag.c: improve verification of tagger field and tests
+      mktag.c: tweak validation of tagger field and adjust test script
+
+Bryan Donlan (1):
+      Silence cpio's "N blocks" output when cloning locally
+
+Christian Couder (1):
+      help: Add a missing OPT_END().
+
+Damien Diederen (7):
+      cvsserver: Respond to the 'editors' and 'watchers' commands
+      cvsserver: Only print the file part of the filename in status header
+      cvsserver: Do not include status output for subdirectories if -l is passed
+      cvsserver: Add a few tests for 'status' command
+      cvsserver: Implement update -p (print to stdout)
+      cvsserver: Add test for update -p
+      cvsserver: Use the user part of the email in log and annotate results
+
+Eric Wong (1):
+      git-svn: remove redundant slashes from show-ignore
+
+Johannes Sixt (3):
+      filter-branch: Test renaming directories in a tree-filter
+      verify-tag: Clean up the temporary file if gpg cannot be started.
+      t7004-tag: Skip more tests if gpg is not available.
+
+Jonathan del Strother (1):
+      git-gui: Add shortcut keys for Show More/Less Context
+
+Josh Elsasser (1):
+      Allow git-cvsserver database table name prefix to be specified.
+
+Junio C Hamano (5):
+      Add corner case tests for diff-index and diff-files
+      diff-index: careful when inspecting work tree items
+      diff-files: careful when inspecting work tree items
+      Accept git aliases outside a git repository
+      GIT 1.5.5-rc3
+
+Marius Storm-Olsen (1):
+      git-p4: Handle Windows EOLs properly after removal of p4 submit template handling.
+
+Paolo Bonzini (1):
+      git-cvsserver: handle change type T
+
+Shawn O. Pearce (1):
+      git-gui 0.10
+
+Teemu Likonen (1):
+      Describe the bug in handling filenames with funny characters in 'git add -i'
+
+veillette@yahoo.ca (1):
+      filter-branch: Fix renaming a directory in the tree-filter
+
+
+Version v1.5.5-rc2; changes since v1.5.5-rc1:
+---------------------------------------------
+
+Brandon Casey (1):
+      t/t3800-mktag.sh: use test_must_fail rather than '!'
+
+Daniel Barkalow (2):
+      Tighten refspec processing
+      Fix branches file configuration
+
+Dirk Süsserott (1):
+      Documentation: git-tag '-m'/'-F' implies '-a'
+
+Frank Lichtenheld (1):
+      t9600-cvsimport.sh: set HOME before checking for cvsps availability
+
+Gerrit Pape (1):
+      imap-send: properly error out if imap.host is not set in config
+
+Guanqun Lu (2):
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+
+Jeff King (1):
+      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*
+
+Johannes Schindelin (2):
+      RelNotes: mention checkout/branch's --track option, too
+      init: show "Reinit" message even in an (existing) empty repository
+
+Johannes Sixt (1):
+      builtin-remote: Fix missing newline at end of listing of pushed branches
+
+Julian Phillips (1):
+      Documentation/git-checkout: Update summary to reflect current abilities
+
+Junio C Hamano (7):
+      refspec: allow colon-less wildcard "refs/category/*"
+      git-fetch test: test tracking fetch results, not just FETCH_HEAD
+      test_must_fail: 129 is a valid error code from usage()
+      Update draft release notes for 1.5.4.5
+      Update draft release notes for 1.5.5
+      builtin-prune: protect objects listed on the command line
+      GIT 1.5.4.5
+
+Michele Ballabio (3):
+      parse-options.c: introduce OPT_DATE
+      Add tests for git-prune
+      builtin-prune.c: use parse_options()
+
+SZEDER Gábor (1):
+      Always set *nongit_ok in setup_git_directory_gently()
+
+
+Version v1.5.5-rc1; changes since v1.5.5-rc0:
+---------------------------------------------
+
+Brandon Casey (2):
+      builtin-gc.c: allow disabling all auto-gc'ing by assigning 0 to gc.auto
+      t/t7003-filter-branch.sh: use test_must_fail rather than '!'
+
+Daniel Barkalow (3):
+      Tighten refspec processing
+      Fix t3200 config
+      Fix tag following
+
+Eyvind Bernhardsen (2):
+      fast-import: Allow "reset" to delete a new branch without error
+      fast-import: Document the effect of "merge" with no "from" in a commit
+
+Johannes Schindelin (1):
+      remote show: do not show symbolic refs
+
+Junio C Hamano (10):
+      Makefile: DIFF_OBJS is not special at all these days
+      Makefile: flatten enumeration of headers, objects and programs
+      t1000: use "test_must_fail git frotz", not "! git frotz"
+      git-merge-one-file: fix longstanding stupid thinko
+      Test: catch if trash cannot be removed
+      Add tests to catch problems with un-unlinkable symlinks
+      Fix read-tree not to discard errors
+      remote.c: Fix overtight refspec validation
+      gc --auto: raise default auto pack limit from 20 to 50
+      GIT 1.5.5-rc1
+
+Kevin Ballard (4):
+      Add --reverse to the git-rev-list usage string
+      Document the sendemail.smtpserverport config variable
+      Don't try and percent-escape existing percent escapes in git-svn URIs
+      Make git-svn tests behave better on OS X
+
+Linus Torvalds (3):
+      Don't update unchanged merge entries
+      Fix possible Solaris problem in 'checkout_entry()'
+      Make revision limiting more robust against occasional bad commit dates
+
+Marius Storm-Olsen (1):
+      git-p4: Optimize the fetching of data from perforce.
+
+Miklos Vajna (1):
+      Documentation/git-merge: document subtree strategy.
+
+Nicolas Pitre (1):
+      make it easier for people who just want to get rid of 'git gc --auto'
+
+Ralf Wildenhues (1):
+      Improve description of git filter-branch.
+
+Shawn Bohrer (2):
+      git-p4: Unset P4DIFF environment variable when using 'p4 -du diff'
+      git-p4: Use P4EDITOR environment variable when set
+
+
+Version v1.5.5-rc0; changes since v1.5.4.7:
+-------------------------------------------
+
+Adam Piątyszek (1):
+      git-gui: Add option for changing the width of the commit message text box
+
+Alex Riesen (4):
+      Fix builtin checkout crashing when given an invalid path
+      Fix test for cleanup failure in t7300 on Windows
+      Do not use GUID on dir in git init --shared=all on FreeBSD
+      git-gui: update russian translation
+
+Alexandre Julliard (5):
+      git.el: Support for showing unknown/ignored directories.
+      git.el: Added a command to amend a commit.
+      git.el: Check for existing buffers on revert.
+      git.el: Better handling of subprocess errors.
+      git.el: Do not display empty directories.
+
+Andreas Ericsson (1):
+      pack-objects: Add runtime detection of online CPU's
+
+Brandon Casey (13):
+      builtin-reflog.c: fix typo that accesses an unset variable
+      Add compat/fopen.c which returns NULL on attempt to open directory
+      builtin-reflog.c: don't install new reflog on write failure
+      reflog-delete: parse standard reflog options
+      git-reflog: add option --rewrite to update reflog entries while expiring
+      refs.c: make close_ref() and commit_ref() non-static
+      git-reflog: add option --updateref to write the last reflog sha1 into the ref
+      git-stash: add new 'drop' subcommand
+      git-stash: add new 'pop' subcommand
+      pack-objects: Print a message describing the number of threads for packing
+      t3903-stash.sh: Add missing '&&' to body of testcase
+      git-reflog.txt: Document new commands --updateref and --rewrite
+      t3903-stash.sh: Add tests for new stash commands drop and pop
+
+Brian Downing (1):
+      compat: Add simplified merge sort implementation from glibc
+
+Bruno Ribas (2):
+      gitweb: Make use of the $git_dir variable at sub git_get_project_url_list
+      gitweb: Use the config file to set repository owner's name.
+
+Carl Worth (1):
+      Eliminate confusing "won't bisect on seeked tree" failure
+
+Carlos Rica (1):
+      Make builtin-reset.c use parse_options.
+
+Charles Bailey (6):
+      Tidy up git mergetool's backup file behaviour
+      Changed an internal variable of mergetool to support custom commands
+      Teach git mergetool to use custom commands defined at config time
+      Add a very basic test script for git mergetool
+      git-mergetool documentaiton: show toolnames in typewriter font
+      merge-tool documentation: describe custom command usage
+
+Cheng Renquan (4):
+      cleanup: remove unused git_checkout_config
+      whatchanged documentation: share description of --pretty with others
+      specify explicit "--pretty=medium" with `git log/show/whatchanged`
+      log/show/whatchanged: introduce format.pretty configuration
+
+Christian Couder (17):
+      help: make 'git-help--browse' usable outside 'git-help'.
+      help--browse: add '--config' option to check a config option for a browser.
+      Rename 'git-help--browse.sh' to 'git-web--browse.sh'.
+      instaweb: use 'git-web--browse' to launch browser.
+      config: add test cases for empty value and no value config variables.
+      Documentation: instaweb: add 'git-web--browse' information.
+      web--browse: Add a few quotes in 'init_browser_path'.
+      Documentation: add 'git-web--browse.txt' and simplify other docs.
+      help.c: use 'git_config_string' to get 'help_default_format'.
+      run-command: Redirect stderr to a pipe before redirecting stdout to stderr
+      help: add "man.viewer" config var to use "woman" or "konqueror"
+      Documentation: help: describe 'man.viewer' config variable
+      help: implement multi-valued "man.viewer" config option
+      Documentation: help: explain 'man.viewer' multiple values
+      help: warn if specified 'man.viewer' is unsupported, instead of erroring out
+      web--browse: use custom commands defined at config time
+      Documention: web--browse: add info about "browser.<tool>.cmd" config var
+
+Christian Stimming (4):
+      git-gui: (i18n) Fix a bunch of still untranslated strings.
+      git-gui: Update German translation.
+      git-gui: (i18n) Add newly added translation strings to template.
+      git-gui: Update German translation.
+
+Clemens Buchacher (2):
+      http-push: push <remote> :<branch> deletes remote branch
+      http-push: add regression tests
+
+Daniel Barkalow (33):
+      Test :/string form for checkout
+      Reduce the number of connects when fetching
+      Allow callers of unpack_trees() to handle failure
+      Add flag to make unpack_trees() not print errors.
+      Send unpack-trees debugging output to stderr
+      Discard "deleted" cache entries after using them to update the working tree
+      Add "skip_unmerged" option to unpack_trees.
+      Build-in merge-recursive
+      Move create_branch into a library file
+      Use diff -u instead of diff in t7201
+      Library function to check for unmerged index entries
+      Move code to clean up after a branch change to branch.c
+      Build in checkout
+      Clean up reporting differences on branch switch
+      API documentation for remote.h
+      Add more tests for format-patch
+      Improve message-id generation flow control for format-patch
+      Export some email and pretty-printing functions
+      Use ALLOC_GROW in remote.{c,h}
+      Add a --cover-letter option to format-patch
+      Add tests for extra headers in format-patch
+      Fix format.headers not ending with a newline
+      Combine To: and Cc: headers
+      Support a --cc=<email> option in format-patch
+      Resolve value supplied for no-colon push refspecs
+      builtin-checkout.c: Remove unused prefix arguments in switch_branches path
+      Add support for url aliases in config files
+      Add API access to shortlog
+      Improve collection of information for format-patch --cover-letter
+      Always use the current connection's remote ref list in git protocol
+      Use diff_tree() directly in making cover letter
+      Write index file on any checkout of files
+      Write diff output to a file in struct diff_options
+
+David Aguilar (1):
+      gitk: Don't show local changes when we there is no work tree
+
+David Brown (1):
+      git-send-email: Generalize auto-cc recipient mechanism.
+
+David Kågedal (1):
+      git.el: Set process-environment instead of invoking env
+
+Dmitry Potapov (3):
+      git-web--browse: do not start the browser with nohup
+      Make private quote_path() in wt-status.c available as quote_path_relative()
+      git-clean: correct printing relative path
+
+Eric Wong (1):
+      git-svn: improve repository URL matching when following parents
+
+Florian La Roche (1):
+      gitweb: Make feed entries point to commitdiff view
+
+Frank Lichtenheld (1):
+      gc: Add --quiet option
+
+Gerrit Pape (4):
+      gitk: properly deal with tag names containing / (slash)
+      git-merge-index documentation: clarify synopsis
+      builtin-tag.c: remove cruft
+      hash-object: cleanup handling of command line options
+
+Jakub Narębski (11):
+      gitweb: Fix displaying unchopped argument in chop_and_escape_str
+      gitweb: Add new option -nohtml to quot_xxx subroutines
+      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form
+      gitweb: Fix bugs in git_search_grep_body: it's length(), not len()
+      gitweb: Better cutting matched string and its context
+      Add '--fixed-strings' option to "git log --grep" and friends
+      gitweb: Change parse_commits signature to allow for multiple options
+      gitweb: Simplify fixed string search
+      Documentation: Remove --{min,max}-age option from git-log(1)
+      gitweb: Mark first match when searching commit messages
+      gitweb: Fix and simplify pickaxe search
+
+James Bowes (1):
+      Add a BuildRequires for gettext in the spec file.
+
+Jason McMullan (1):
+      Remove $Id: ..$ $Header: ..$ etc from +ko and +k files during import
+
+Jay Soffian (8):
+      git-web--browse: fix misplaced quote in init_browser_path()
+      git-help--browse: improve browser support under OS X
+      builtin-checkout.c: fix possible usage segfault
+      branch: optionally setup branch.*.merge from upstream local branches
+      doc: documentation update for the branch track changes
+      Correct git-pull documentation
+      send-email: fix In-Reply-To regression
+      pull: pass --strategy along to to rebase
+
+Jean-Luc Herren (1):
+      fast-import: exit with proper message if not a git dir
+
+Jeff King (31):
+      allow suppressing of global and system config
+      fix config reading in tests
+      hard-code the empty tree object
+      add--interactive: handle initial commit better
+      git_config_*: don't assume we are parsing a config file
+      t3404: use configured shell instead of /bin/sh
+      diff: fix java funcname pattern for solaris
+      t9001: enhance fake sendmail test harness
+      send-email: test compose functionality
+      help: use parseopt
+      make alias lookup a public, procedural function
+      help: respect aliases
+      use build-time SHELL_PATH in test scripts
+      rename: warn user when we have turned off rename detection
+      allow git-am to run in a subdirectory
+      Add a test for read-tree -u --reset with a D/F conflict
+      gitk: make autoselect optional
+      tr portability fixes
+      t0050: perl portability fix
+      more tr portability test script fixes
+      grep portability fix: don't use "-e" or "-q"
+      remove use of "tail -n 1" and "tail -1"
+      add test_cmp function for test scripts
+      t4020: don't use grep -a
+      t6000lib: tr portability fix
+      add NO_EXTERNAL_GREP build option
+      filter-branch: don't use xargs -0
+      filter-branch: use $SHELL_PATH instead of 'sh'
+      t9112: add missing #!/bin/sh header
+      t7505: use SHELL_PATH in hook
+      t6000lib: re-fix tr portability
+
+Jim Meyering (1):
+      Avoid unnecessary "if-before-free" tests.
+
+Johan Herland (2):
+      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
+      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR
+
+Johannes Schindelin (21):
+      Teach "git reflog" a subcommand to delete single entries
+      Also use unpack_trees() in do_diff_cache()
+      Fix "git clone" for git:// protocol
+      Adjust .gitignore for 5884f1(Rename 'git-help--browse.sh'...)
+      Introduce the config variable pack.packSizeLimit
+      bisect view: check for MinGW32 and MacOSX in addition to X11
+      xdl_merge(): make XDL_MERGE_ZEALOUS output simpler
+      xdl_merge(): introduce XDL_MERGE_ZEALOUS_ALNUM
+      completion: support format-patch's --cover-letter option
+      path-list: add functions to work with unsorted lists
+      parseopt: add flag to stop on first non option
+      Test "git remote show" and "git remote prune"
+      Make git-remote a builtin
+      builtin-remote: prune remotes correctly that were added with --mirror
+      Fix make_absolute_path() for parameters without a slash
+      format-patch: use the diff options for the cover letter, too
+      format-patch: wrap cover-letter's shortlog sensibly
+      remote show: Clean up connection correctly if object fetch wasn't done
+      remote: fix "update [group...]"
+      builtin remote rm: remove symbolic refs, too
+      gc: call "prune --expire 2.weeks.ago" by default
+
+Johannes Sixt (7):
+      Fix misuse of prefix_path()
+      gitk: Heed the lines of context in merge commits
+      Technical documentation of the run-command API.
+      prefix_path: use is_absolute_path() instead of *orig == '/'
+      start_command(), .in/.out/.err = -1: Callers must close the file descriptor
+      start_command(), if .in/.out > 0, closes file descriptors, not the callers
+      git-submodule summary: fix that some "wc" flavors produce leading spaces
+
+Jonas Fonseca (2):
+      man pages are littered with .ft C and others
+      shortlog: do not require to run from inside a git repository
+
+Junichi Uekawa (1):
+      git-blame.el: show the when, who and what in the minibuffer.
+
+Junio C Hamano (93):
+      index: be careful when handling long names
+      Avoid running lstat(2) on the same cache entry.
+      read-cache.c: fix a couple more CE_REMOVE conversion
+      read-cache.c: introduce is_racy_timestamp() helper
+      lazy index hashing
+      Sane use of test_expect_failure
+      test: reword the final message of tests with known breakages
+      known breakage: revision range computation with clock skew
+      fix misuse of prefix_path()
+      builtin-apply.c: refactor small part that matches context
+      builtin-apply.c: restructure "offset" matching
+      builtin-apply.c: push match-beginning/end logic down
+      builtin-apply.c: make it more line oriented
+      builtin-apply.c: optimize match_beginning/end processing a bit.
+      builtin-apply.c: mark common context lines in lineinfo structure.
+      builtin-apply.c: clean-up apply_one_fragment()
+      builtin-apply.c: simplify calling site to apply_line()
+      builtin-apply.c: do not feed copy_wsfix() leading '+'
+      builtin-apply.c: move copy_wsfix() function a bit higher.
+      builtin-apply.c: pass ws_rule down to match_fragment()
+      git-apply --whitespace=fix: fix whitespace fuzz introduced by previous run
+      core.whitespace: cr-at-eol
+      Documentation/SubmittingPatches: Instruct how to use [PATCH] Subject header
+      Documentation/SubmittingPatches: discuss first then submit
+      Documentation/SubmittingPatches: What's Acked-by and Tested-by?
+      Make error messages from cherry-pick/revert more sensible
+      setup: sanitize absolute and funny paths in get_pathspec()
+      git-add: adjust to the get_pathspec() changes.
+      builtin-mv: minimum fix to avoid losing files
+      gitignore(5): Allow "foo/" in ignore list to match directory "foo"
+      gitignore: lazily find dtype
+      Define the project whitespace policy
+      apply: do not barf on patch with too large an offset
+      Update the main documentation (stale notes section)
+      .mailmap: adjust to a recent patch application glitch.
+      diff --relative: output paths as relative to the current subdirectory
+      diff --relative: help working in a bare repository
+      checkout: notice when the switched branch is behind or forked
+      Documentation/SubmittingPatches - a suggested patch flow
+      Sync with 1.5.4.2 and start 1.5.5 Release Notes
+      sending errors to stdout under $PAGER
+      merge-recursive: split low-level merge functions out.
+      expose a helper function peel_to_type().
+      checkout: tone down the "forked status" diagnostic messages
+      checkout: work from a subdirectory
+      git-reset --hard and git-read-tree --reset: fix read_cache_unmerged()
+      checkout: updates to tracking report
+      gitweb: Better chopping in commit search results
+      Add merge-subtree back
+      checkout: show progress when checkout takes long time while switching branches
+      ws_fix_copy(): move the whitespace fixing function to ws.c
+      checkout: error out when index is unmerged even with -m
+      diff --dirstat: saner handling of binary and unmerged files
+      url rewriting: take longest and first match
+      git-apply --whitespace=fix: fix off by one thinko
+      Revert "pack-objects: Print a message describing the number of threads for packing"
+      git-remote: do not complain on multiple URLs for a remote
+      format-patch: remove a leftover debugging message
+      tests: introduce test_must_fail
+      Update draft release notes for 1.5.5
+      t6024: move "git reset" to prepare for a test inside the test itself
+      CodingGuidelines: spell out how we use grep in our scripts
+      find_unique_abbrev(): redefine semantics
+      Clean up find_unique_abbrev() callers
+      diff-lib.c: constness strengthening
+      diff: make sure work tree side is shown as 0{40} when different
+      Update draft release notes for 1.5.5
+      describe --always: fall back to showing an abbreviated object name
+      git-describe: use tags found in packed-refs correctly
+      describe: fix --long output
+      describe: re-fix display_name()
+      t6120 (describe): check --long properly
+      Revert "receive-pack: use strict mode for unpacking objects"
+      Revert "unpack-objects: prevent writing of inconsistent objects"
+      fsck.c: fix bogus "empty tree" check
+      am: read from the right mailbox when started from a subdirectory
+      am: remove support for -d .dotest
+      am: --rebasing
+      get_pathspec(): die when an out-of-tree path is given
+      Revert part of 744dacd (builtin-mv: minimum fix to avoid losing files)
+      Revert part of 1abf095 (git-add: adjust to the get_pathspec() changes)
+      Revert part of d089eba (setup: sanitize absolute and funny paths in get_pathspec())
+      git-clean: add tests for relative path
+      send-email: --no-signed-off-cc should suppress 'sob' cc
+      traverse_trees_recursive(): propagate merge errors up
+      git-gui: Simplify MSGFMT setting in Makefile
+      Documentation/config: typofix
+      Documentation/git-help: typofix
+      read-tree() and unpack_trees(): use consistent limit
+      Redo "add test_cmp function for test scripts"
+      git-gui: Improve directions regarding POT update in po/README
+      Resurrect git-rerere to contrib/examples
+      Update draft release notes for 1.5.5
+
+Karl Wiberg (2):
+      git-svn: Don't call git-repack anymore
+      Let "git svn" run "git gc --auto" occasionally
+
+Kevin Ballard (1):
+      bash: Properly quote the GIT_DIR at all times to fix subdirectory paths with spaces
+
+Kristian Høgsberg (1):
+      wt-status.c: no need for dup() dance anymore
+
+Lars Hjemli (1):
+      Simplify setup of $GIT_DIR in git-sh-setup.sh
+
+Linus Torvalds (22):
+      Make on-disk index representation separate from in-core one
+      Make run_diff_index() use unpack_trees(), not read_tree()
+      Create pathname-based hash-table lookup into index
+      Add "--dirstat" for some directory statistics
+      gitk: learn --show-all output
+      Add "--show-all" revision walker flag for debugging
+      Fix name re-hashing semantics
+      Name hash fixups: export (and rename) remove_hash_entry
+      Use helper function for copying index entry information
+      Be more verbose when checkout takes a long time
+      Add 'df_name_compare()' helper function
+      Make 'traverse_tree()' use linked structure rather than 'const char *base'
+      Add return value to 'traverse_tree()' callback
+      Make 'traverse_trees()' traverse conflicting DF entries in parallel
+      Move 'unpack_trees()' over to 'traverse_trees()' interface
+      Fix tree-walking compare_entry() in the presense of --prefix
+      Add 'const' where appropriate to index handling functions
+      Make 'unpack_trees()' take the index to work on as an argument
+      Make 'unpack_trees()' have a separate source and destination index
+      unpack_trees(): minor memory leak fix in unused destination index
+      unpack_trees(): fix diff-index regression.
+      Fix recent 'unpack_trees()'-related changes breaking 'git stash'
+
+Marco Costalba (1):
+      Avoid a useless prefix lookup in strbuf_expand()
+
+Mark Levedahl (1):
+      git-submodule - Allow adding a submodule in-place
+
+Martin Koegler (28):
+      git-fsck: report missing author/commit line in a commit as an error
+      parse_object_buffer: don't ignore errors from the object specific parsing functions
+      deref_tag: handle return value NULL
+      deref_tag: handle tag->tagged = NULL
+      check return code of prepare_revision_walk
+      read_object_with_reference: don't read beyond the buffer
+      get_sha1_oneline: check return value of parse_object
+      mark_blob/tree_uninteresting: check for NULL
+      reachable.c::add_one_tree: handle NULL from lookup_tree
+      list-objects.c::process_tree/blob: check for NULL
+      check results of parse_commit in merge_bases
+      process_tag: handle tag->tagged == NULL
+      reachable.c::process_tree/blob: check for NULL
+      revision.c: handle tag->tagged == NULL
+      parse_commit: don't fail, if object is NULL
+      check return value from parse_commit() in various functions
+      peel_onion: handle NULL
+      add generic, type aware object chain walker
+      builtin-fsck: move away from object-refs to fsck_walk
+      Remove unused object-ref code
+      builtin-fsck: reports missing parent commits
+      builtin-fsck: move common object checking code to fsck.c
+      add common fsck error printing function
+      unpack-object: cache for non written objects
+      unpack-objects: prevent writing of inconsistent objects
+      index-pack: introduce checking mode
+      receive-pack: use strict mode for unpacking objects
+      fetch-pack: check parse_commit/object results
+
+Matthias Kestenholz (1):
+      Add color.ui variable which globally enables colorization if set
+
+Michael Witten (3):
+      git-send-email: ssh/login style password requests
+      git-send-email: SIG{TERM,INT} handlers
+      git-send-email: Better handling of EOF
+
+Michal Rokos (2):
+      Add compat/snprintf.c for systems that return bogus
+      autoconf: Test FREAD_READS_DIRECTORIES
+
+Michele Ballabio (7):
+      gitk: Fix "Key bindings" message
+      git-gui: fix typo in lib/spellcheck.tcl
+      builtin-for-each-ref.c: fix typo in error message
+      gitk: Mark another string for translation
+      git-gui: update Italian translation
+      gitk: initial Italian translation
+      git-gui: remove spurious "fuzzy" attributes in po/it.po
+
+Mike Hommey (5):
+      Work around curl-gnutls not liking to be reinitialized
+      Add test for git rebase --abort
+      Documentation/git-rebase.txt: Add --strategy to synopsys
+      git rebase --abort: always restore the right commit
+      t3407-rebase-abort.sh: Enhance existing tests, and add test for rebase --merge
+
+Miklos Vajna (4):
+      git-clean: handle errors if removing files fails
+      Improve t6029 to check the real "subtree" case
+      Update Hungarian translation. 100% completed.
+      git-gui: Updated Hungarian translation (e5fba18)
+
+Nanako Shiraishi (2):
+      git-gui: Update Japanese translation
+      git-gui: Update Japanese translation
+
+Nicolas Pitre (5):
+      factorize revindex code out of builtin-pack-objects.c
+      make verify_one_pack() a bit less wrong wrt packed_git structure
+      fix unimplemented packed_object_info_detail() features
+      add storage size output to 'git verify-pack -v'
+      pack-objects: proper pack time stamping with --max-pack-size
+
+Paolo Bonzini (4):
+      git-commit: support variable number of hook arguments
+      git-commit: set GIT_EDITOR=: if editor will not be launched
+      git-commit: Refactor creation of log message.
+      git-commit: add a prepare-commit-msg hook
+
+Paul Mackerras (3):
+      gitk: Only restore window size from ~/.gitk, not position
+      gitk: Avoid Tcl error when switching views
+      gitk: Default to using po2msg.sh if msgfmt doesn't grok --tcl, -l and -d
+
+Pekka Kaitaniemi (1):
+      gitk: Add horizontal scrollbar to the diff view
+
+Peter Krefting (2):
+      git-gui: Regenerated po template and merged translations with it
+      git-gui: updated Swedish translation
+
+Petr Baudis (1):
+      gitweb: Clearly distinguish regexp / exact match searches
+
+Philipp A. Hartmann (1):
+      git-gui: if a background colour is set, set foreground colour as well
+
+Philippe Bruhat (3):
+      cvsimport: have default merge regex allow for dashes in the branch name
+      cvsimport: allow for multiple -M options
+      cvsimport: document that -M can be used multiple times
+
+Pierre Habouzit (4):
+      git-describe: Add a --match option to limit considered tags.
+      git-name-rev: add a --(no-)undefined option.
+      parse-opt: bring PARSE_OPT_HIDDEN and NONEG to git-rev-parse --parseopt
+      parse-options: new option type to treat an option-like parameter as an argument.
+
+Ping Yin (5):
+      git-submodule summary: code framework
+      git-submodule summary: show commit summary
+      git-submodule summary: limit summary size
+      git-submodule summary: documentation
+      git-submodule summary: test
+
+Rafael Garcia-Suarez (1):
+      Make git-remote.perl "use strict" compliant
+
+Ralf Wildenhues (1):
+      Fix doc typos.
+
+Robin Rosenberg (2):
+      Make blame accept absolute paths
+      Improve bash prompt to detect various states like an unfinished merge
+
+SZEDER Gábor (9):
+      bash: add git-branch options
+      bash: git-branch -d and -m lists only local branches
+      bash: remove unnecessary conditions when checking for subcommands
+      bash: refactor searching for subcommands on the command line
+      bash: add new 'git stash' subcommands
+      bash: add 'git svn' subcommands and options
+      bash: use __gitdir when completing 'git rebase' options
+      bash: fix long option with argument double completion
+      update 'git rebase' documentation
+
+Samuel Tardieu (1):
+      "remote update": print remote name being fetched from
+
+Santi Béjar (3):
+      git-bundle.txt: Add different strategies to create the bundle
+      git-describe: --long shows the object name even for a tagged commit
+      clone: support cloning full bundles
+
+Sebastian Noack (1):
+      git-svn: Don't prompt for client cert password everytime.
+
+Shawn O. Pearce (37):
+      git-gui: Automatically spell check commit messages as the user types
+      git-gui: Paper bag fix bad string length call in spellchecker
+      git-gui: Correct size of dictionary name widget in options dialog
+      Include annotated tags in fast-import crash reports
+      Include the fast-import marks table in crash reports
+      Finish current packfile during fast-import crash handler
+      Update fast-import documentation to discuss crash reports
+      Teach git-grep --name-only as synonym for -l
+      git-gui: Ensure all spellchecker 'class' variables are initialized
+      git-gui: Remove explicit references to 'aspell' in message strings
+      git-gui: Only bind the spellcheck popup suggestion hook once
+      git-gui: Catch and display aspell startup failures to the user
+      git-gui: Gracefully display non-aspell version errors to users
+      git-gui: Shorten Aspell version strings to just Aspell version number
+      Optimize peel_ref for the current ref of a for_each_ref callback
+      Teach git-describe to use peeled ref information when scanning tags
+      Avoid accessing non-tag refs in git-describe unless --all is requested
+      Teach git-describe --exact-match to avoid expensive tag searches
+      Use git-describe --exact-match in bash prompt on detached HEAD
+      Teach git-describe to verify annotated tag names before output
+      Remove unused variable in builtin-fetch find_non_local_tags
+      Remove unnecessary delaying of free_refs(ref_map) in builtin-fetch
+      Ensure tail pointer gets setup correctly when we fetch HEAD only
+      Allow builtin-fetch's find_non_local_tags to append onto a list
+      Free the path_lists used to find non-local tags in git-fetch
+      Teach upload-pack to log the received need lines to an fd
+      Make git-fetch follow tags we already have objects for sooner
+      Teach git-fetch to grab a tag at the same time as a commit
+      Don't allow git-describe failures to go unnoticed in t6120
+      Test for packed tags in git-describe output
+      Add git-describe test for "verify annotated tag names on output"
+      git-pack-objects: Automatically pack annotated tags if object was packed
+      Teach fetch-pack/upload-pack about --include-tag
+      Teach git-fetch to exploit server side automatic tag following
+      bash: Remove completion of core.legacyheaders option
+      git-gui: Don't translate the special Apple menu
+      git-gui: Adjusted Japanese translation to updated POT
+
+Simon Hausmann (7):
+      git-p4: Fix submit user-interface.
+      git-p4: Ensure the working directory and the index are clean before "git-p4 rebase"
+      git-p4: Remove --log-substitutions feature.
+      git-p4: Clean up git-p4 submit's log message handling.
+      git-p4: Removed git-p4 submit --direct.
+      git-p4: git-p4 submit cleanups.
+      git-p4: Fix import of changesets with file deletions
+
+Steffen Prohaska (4):
+      safecrlf: Add mechanism to warn about irreversible crlf conversions
+      gitk: Add checkbutton to ignore space changes
+      t4014: Replace sed's non-standard 'Q' by standard 'q'
+      Add tests for filesystem challenges (case and unicode normalization)
+
+Teemu Likonen (1):
+      bash: Add more long options to be completed with "git --<TAB>"
+
+Tim Stoakes (1):
+      Add `git svn blame' command
+
+Toby Allsopp (1):
+      git-p4: Fix indentation from tab to spaces
+
+Tommy Thorn (2):
+      git-p4: Fix an obvious typo
+      git-p4: support exclude paths
+
+Tor Arvid Lund (1):
+      git-p4: Support usage of perforce client spec
+
+Uwe Kleine-König (1):
+      rev-list: add --branches, --tags and --remotes
+
+Yann Dirson (1):
+      Add an --argscmd flag to get the list of refs to show
+
+eric miao (1):
+      git-gui: translate the remaining messages in zh_cn.po to chinese
+
+
+Version v1.5.4.7; changes since v1.5.4.6:
+-----------------------------------------
+
+Junio C Hamano (2):
+      gitweb: do not run "git diff" that is Porcelain
+      GIT 1.5.4.7
+
+
+Version v1.5.4.6; changes since v1.5.4.5:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      git-repack: re-enable parsing of -n command line option
+
+Alberto Bertogli (1):
+      builtin-apply: Show a more descriptive error on failure when opening a patch
+
+Ariel Badichi (2):
+      copy.c: copy_fd - correctly report write errors
+      archive.c: format_subst - fixed bogus argument to memchr
+
+Björn Steinbrink (1):
+      Fix section about backdating tags in the git-tag docs
+
+Carlos Rica (2):
+      Fix documentation syntax of optional arguments in short options.
+      core-tutorial.txt: Fix showing the current behaviour.
+
+Christian Couder (4):
+      bisect: fix bad rev checking in "git bisect good"
+      bisect: report bad rev better
+      bisect: squelch "fatal: ref HEAD not a symref" misleading message
+      git-bisect: make "start", "good" and "skip" succeed or fail atomically
+
+Clifford Caoile (1):
+      Docs gitk: Explicitly mention the files that gitk uses (~/.gitk)
+
+Dan McGee (1):
+      Remove 'header' from --signoff option description
+
+Dirk Süsserott (1):
+      Documentation/git-request-pull: Fixed a typo ("send" -> "end")
+
+Dustin Sallings (1):
+      Documentation/config.txt: Mention branch.<name>.rebase applies to "git pull"
+
+Florian Ragwitz (1):
+      filter-branch: Documentation fix.
+
+Ian Hilt (1):
+      Documentation/git-describe.txt: make description more readable
+
+Jeff King (6):
+      t5516: remove ambiguity test (1)
+      fix reflog approxidate parsing bug
+      cvsimport: always pass user data to "system" as a list
+      doc: clarify definition of "update" for git-add -u
+      doc/git-daemon: s/uploadarchive/uploadarch/
+      git-am: fix typo in usage message
+
+Johannes Sixt (3):
+      Document option --only of git commit
+      wt-status.h: declare global variables as extern
+      rev-parse --symbolic-full-name: don't print '^' if SHA1 is not a ref
+
+Jon Loeliger (1):
+      Clarify and fix English in "git-rm" documentation
+
+Junio C Hamano (7):
+      Fix "git apply" to correctly enforce "match at the beginning"
+      Document -w option to shortlog
+      git-am: minor cleanup
+      am: POSIX portability fix
+      write-tree: properly detect failure to write tree objects
+      git-shell: accept "git foo" form
+      GIT 1.5.4.6
+
+Linus Torvalds (2):
+      Ignore leading empty lines while summarizing merges
+      git-am: cope better with an empty Subject: line
+
+Matt Graham (1):
+      Linked glossary from cvs-migration page
+
+Matthew Ogilvie (1):
+      gitattributes: Fix subdirectory attributes specified from root directory
+
+Michael Weber (1):
+      svn-git: Use binmode for reading/writing binary rev maps
+
+Michele Ballabio (1):
+      revision.c: make --date-order overriddable
+
+Miklos Vajna (1):
+      diff options documentation: refer to --diff-filter in --name-status
+
+Pieter de Bie (1):
+      builtin-fast-export: Only output a single parent per line
+
+René Scharfe (1):
+      git-archive: ignore prefix when checking file attribute
+
+Scott Collins (1):
+      Clarify documentation of git-cvsserver, particularly in relation to git-shell
+
+Sitaram Chamarty (1):
+      builtin-commit.c: add -u as short name for --untracked-files
+
+Thomas Guyot-Sionnest (1):
+      git-svn bug with blank commits and author file
+
+
+Version v1.5.4.5; changes since v1.5.4.4:
+-----------------------------------------
+
+Andy Whitcroft (1):
+      shortlog: take the first populated line of the description
+
+Bernt Hansen (1):
+      git-new-workdir: Share SVN meta data between work dirs and the repository
+
+Brandon Casey (1):
+      t/t3800-mktag.sh: use test_must_fail rather than '!'
+
+Clemens Buchacher (1):
+      merge-recursive: handle file mode changes
+
+Daniel Barkalow (2):
+      Tighten refspec processing
+      Fix branches file configuration
+
+Eric Wong (1):
+      git-svn: don't blindly append '*' to branch/tags config
+
+Guanqun Lu (1):
+      Fix the wrong output of `git-show v1.3.0~155^2~4` in documentation.
+
+Jakub Narębski (1):
+      gitweb: Fix bug in href(..., -replay=>1) when using 'pathinfo' form
+
+Jeff King (2):
+      t0021: tr portability fix for Solaris
+      Documentation: clarify use of .git{ignore,attributes} versus .git/info/*
+
+Johannes Schindelin (3):
+      launch_editor(): allow spaces in the filename
+      git fetch: Take '-n' to mean '--no-tags'
+      merge-file: handle empty files gracefully
+
+Jonas Fonseca (1):
+      Make man page building quiet when DOCBOOK_XSL_172 is defined
+
+Junio C Hamano (9):
+      filter-branch: handle "disappearing tree" case correctly in subdir filter
+      git-pull documentation: warn about the option order
+      quiltimport: fix misquoting of parsed -p<num> parameter
+      format-patch: generate MIME header as needed even when there is format.header
+      rebase -m: do not trigger pre-commit verification
+      Start draft ReleaseNotes for 1.5.4.5
+      git-fetch test: test tracking fetch results, not just FETCH_HEAD
+      Update draft release notes for 1.5.4.5
+      GIT 1.5.4.5
+
+Linus Torvalds (1):
+      rev-parse: fix meaning of rev~ vs rev~0.
+
+Marc-André Lureau (2):
+      git-svn: fix find-rev error message when missing arg
+      git-cvsimport: fix merging with remote parent branch
+
+Mike Hommey (1):
+      git rebase --abort: always restore the right commit
+
+Pierre Habouzit (1):
+      git-quiltimport: better parser to grok "enhanced" series files.
+
+Vineet Kumar (1):
+      Minor wording changes in the keyboard descriptions in git-add --interactive.
+
+
+Version v1.5.4.4; changes since v1.5.4.3:
+-----------------------------------------
+
+Adeodato Simó (1):
+      Really make the LF after reset in fast-import optional
+
+Björn Steinbrink (1):
+      receive-pack: Initialize PATH to include exec-dir.
+
+Brandon Casey (1):
+      builtin-reflog.c: don't install new reflog on write failure
+
+Bryan Donlan (1):
+      Documentation/git-am.txt: Pass -r in the example invocation of rm -f .dotest
+
+Caio Marcelo de Oliveira Filho (1):
+      filter-branch documentation: non-zero exit status in command abort the filter
+
+Carl Worth (1):
+      Eliminate confusing "won't bisect on seeked tree" failure
+
+Daniel Barkalow (3):
+      Use a single implementation and API for copy_file()
+      Don't use GIT_CONFIG in t5505-remote
+      Correct name of diff_flush() in API documentation
+
+Gerrit Pape (2):
+      templates/Makefile: don't depend on local umask setting
+      git-merge.sh: better handling of combined --squash,--no-ff,--no-commit options
+
+Jay Soffian (2):
+      rev-parse: fix potential bus error with --parseopt option spec handling
+      send-email: fix In-Reply-To regression
+
+Jeff King (1):
+      revert: actually check for a dirty index
+
+Johan Herland (2):
+      Add testcase for 'git cvsexportcommit -w $cvsdir ...' with relative $GIT_DIR
+      Fix 'git cvsexportcommit -w $cvsdir ...' when used with relative $GIT_DIR
+
+Johannes Schindelin (4):
+      http-push: avoid invalid memory accesses
+      http-push: do not get confused by submodules
+      http-push: avoid a needless goto
+      cvsexportcommit: be graceful when "cvs status" reorders the arguments
+
+Johannes Sixt (2):
+      daemon: send more error messages to the syslog
+      daemon: ensure that base-path is an existing directory
+
+John Goerzen (1):
+      Fix dcommit, rebase when rewriteRoot is in use
+
+Jonathan del Strother (1):
+      Prompt to continue when editing during rebase --interactive
+
+Junio C Hamano (6):
+      Fix "git log --merge --left-right"
+      Start preparing for 1.5.4.4
+      tests: introduce test_must_fail
+      Update draft release notes for 1.5.4.4
+      test-lib: fix TERM to dumb for test repeatability
+      GIT 1.5.4.4
+
+Matthieu Moy (1):
+      Fix incorrect wording in git-merge.txt.
+
+Mike Hommey (2):
+      Set proxy override with http_init()
+      Fix random crashes in http_cleanup()
+
+Mike Ralphson (1):
+      Documentation cherry-pick: Fix cut-and-paste error
+
+Miklos Vajna (2):
+      Documentation/git-filter-branch: add a new msg-filter example
+      Documentation/git svn log: add a note about timezones.
+
+Pierre Habouzit (1):
+      unquote_c_style: fix off-by-one.
+
+Ping Yin (1):
+      git-submodule: Fix typo 'url' which should be '$url'
+
+Rémi Vanicat (1):
+      git.el: find the git-status buffer whatever its name is
+
+Santi Béjar (1):
+      ident.c: reword error message when the user name cannot be determined
+
+Sebastian Noack (1):
+      git-svn: Don't prompt for client cert password everytime.
+
+Shawn O. Pearce (6):
+      Ensure 'make dist' compiles git-archive.exe on Cygwin
+      Protect peel_ref fallback case from NULL parse_object result
+      Correct fast-export file mode strings to match fast-import standard
+      git-gui: Paper bag fix info dialog when no files are staged at commit
+      Fix 'git remote show' regression on empty repository in 1.5.4
+      git-gui: Gracefully fall back to po2msg.sh if msgfmt --tcl fails
+
+Steven Drake (1):
+      timezone_names[]: fixed the tz offset for New Zealand.
+
+Uwe Kleine-König (1):
+      config.txt: refer to --upload-pack and --receive-pack instead of --exec
+
+
+Version v1.5.4.3; changes since v1.5.4.2:
+-----------------------------------------
+
+Gerrit Pape (1):
+      git-clone.sh: properly configure remote even if remote's head is dangling
+
+Jay Soffian (2):
+      git-gui: support Git Gui.app under OS X 10.5
+      send-email: squelch warning due to comparing undefined $_ to ""
+
+Jeff King (4):
+      push: indicate partialness of error message
+      Documentation/push: clarify matching refspec behavior
+      push: document the status output
+      hash: fix lookup_hash semantics
+
+Junio C Hamano (1):
+      GIT 1.5.4.3
+
+Kristian Høgsberg (1):
+      Rename git-core rpm to just git and rename the meta-pacakge to git-all.
+
+Miklos Vajna (1):
+      Documentation/git-stash: document options for git stash list
+
+Pekka Kaitaniemi (1):
+      Clarified the meaning of git-add -u in the documentation
+
+Shawn O. Pearce (5):
+      git-gui: Ensure error dialogs always appear over all other windows
+      git-gui: Paper bag fix error dialogs opening over the main window
+      git-gui: Default TCL_PATH to same location as TCLTK_PATH
+      git-gui: Avoid hardcoded Windows paths in Cygwin package files
+      git-gui: Focus insertion point at end of strings in repository chooser
+
+Wincent Colaiuta (1):
+      git-gui: relax "dirty" version detection
+
+
+Version v1.5.4.2; changes since v1.5.4.1:
+-----------------------------------------
+
+Christian Couder (8):
+      config: add test cases for empty value and no value config variables.
+      diff.c: replace a 'strdup' with 'xstrdup'.
+      diff.c: remove useless check for value != NULL
+      config: add 'git_config_string' to refactor string config variables.
+      Add "const" qualifier to "char *pager_program".
+      Add "const" qualifier to "char *editor_program".
+      Add "const" qualifier to "char *excludes_file".
+      diff.c: add "const" qualifier to "char *cmd" member of "struct ll_diff_driver"
+
+Daniel Barkalow (1):
+      Validate nicknames of remote branches to prohibit confusing ones
+
+David Steven Tweed (1):
+      Make git prune remove temporary packs that look like write failures
+
+Frank Lichtenheld (1):
+      config: Fix --unset for continuation lines
+
+Gerrit Pape (2):
+      builtin-commit: remove .git/SQUASH_MSG upon successful commit
+      cvsimport: have default merge regex also match beginning of commit message
+
+James Bowes (1):
+      Add a BuildRequires for gettext in the spec file.
+
+Jay Soffian (1):
+      mailinfo: feed only one line to handle_filter() for QP input
+
+Jeff King (2):
+      status: suggest "git rm --cached" to unstage for initial commit
+      commit: discard index after setting up partial commit
+
+Johannes Schindelin (3):
+      bisect: allow starting with a detached HEAD
+      Document that the default of branch.autosetupmerge is true
+      bisect: use verbatim commit subject in the bisect log
+
+Johannes Sixt (1):
+      upload-pack: Initialize the exec-path.
+
+Jonas Fonseca (1):
+      man pages are littered with .ft C and others
+
+Junio C Hamano (31):
+      git-pull documentation: fix markup
+      archive-tar.c: guard config parser from value=NULL
+      Add config_error_nonbool() helper function
+      builtin-apply.c: guard config parser from value=NULL
+      builtin-branch.c: guard config parser from value=NULL
+      builtin-commit.c: guard config parser from value=NULL
+      builtin-config.c: guard config parser from value=NULL
+      builtin-log.c: guard config parser from value=NULL
+      builtin-reflog.c: guard config parser from value=NULL
+      builtin-show-branch.c: guard config parser from value=NULL
+      builtin-tag.c: guard config parser from value=NULL
+      connect.c: guard config parser from value=NULL
+      convert.c: guard config parser from value=NULL
+      diff.c: guard config parser from value=NULL
+      git.c: guard config parser from value=NULL
+      help.c: guard config parser from value=NULL
+      http.c: guard config parser from value=NULL
+      merge-recursive.c: guard config parser from value=NULL
+      remote.c: guard config parser from value=NULL
+      setup.c: guard config parser from value=NULL
+      wt-status.c: guard config parser from value=NULL
+      imap-send.c: guard config parser from value=NULL
+      builtin-log.c: guard config parser from value=NULL
+      config.c: guard config parser from value=NULL
+      Revert "pack-objects: only throw away data during memory pressure"
+      Protect get_author_ident_from_commit() from filenames in work tree
+      diff.c: fixup garding of config parser from value=NULL
+      diff: Fix miscounting of --check output
+      filter-branch: handle filenames that need quoting
+      Documentation/git-reset:
+      GIT 1.5.4.2
+
+Martin Koegler (1):
+      pack-objects: only throw away data during memory pressure
+
+Mike Hommey (1):
+      Work around curl-gnutls not liking to be reinitialized
+
+Miklos Vajna (2):
+      builtin-gc.c: guard config parser from value=NULL
+      git clone -s documentation: force a new paragraph for the NOTE
+
+Pieter de Bie (2):
+      Documentation/git-reset: don't mention --mixed for selected-paths reset
+      Documentation/git-reset: Add an example of resetting selected paths
+
+Sergei Organov (1):
+      git-cvsimport.txt: fix '-M' description.
+
+Shawn O. Pearce (1):
+      fast-import: check return value from unpack_entry()
+
+Stelian Pop (1):
+      hg-to-git: fix parent analysis
+
+Uwe Kleine-König (1):
+      rebase -i: accept -m as advertised in the man page
+
+
+Version v1.5.4.1; changes since v1.5.4:
+---------------------------------------
+
+Gerrit Pape (1):
+      INSTALL: git-merge no longer uses cpio
+
+Jari Aalto (1):
+      Documentation/git-stash.txt: Adjust SYNOPSIS command syntax (2)
+
+Junio C Hamano (3):
+      Update stale documentation links from the main documentation.
+      Fix "git-commit -C $tag"
+      gitattributes: fix relative path matching
+
+Jörg Sommer (2):
+      git-am: fix type in its usage string
+      git-remote documentation: fix synopsis to match description
+
+Tim Stoakes (1):
+      Fix typo in 'blame' documentation.
+
+Timo Hirvonen (1):
+      Fix parsing numeric color values
+
+
+Version v1.5.4; changes since v1.5.4-rc5:
+-----------------------------------------
+
+Brandon Casey (4):
+      git-relink: avoid hard linking in objects/info directory
+      filter-branch.sh: remove temporary directory on failure
+      filter-branch docs: remove brackets so not to imply revision arg is optional
+      filter-branch: assume HEAD if no revision supplied
+
+Bruno Ribas (1):
+      gitweb: Make use of the $git_dir variable at sub git_get_project_description
+
+Christian Couder (3):
+      Documentation: config: add "browser.<tool>.path".
+      Documentation: help: specify supported html browsers.
+      instaweb: use 'browser.<tool>.path' config option if it's set.
+
+Jakub Narębski (1):
+      gitweb: Add info about $projectroot and $projects_list to gitweb/README
+
+Jean-Luc Herren (1):
+      Documentation/git-cvsserver: Fix typo
+
+Jeff King (1):
+      t9001: add missing && operators
+
+Jim Meyering (1):
+      fix doc typos
+
+Johannes Schindelin (1):
+      Add test for rebase -i with commits that do not pass pre-commit
+
+Junio C Hamano (4):
+      reflog-expire: Avoid creating new files in a directory inside readdir(3) loop
+      Revert "filter-branch docs: remove brackets so not to imply revision arg is optional"
+      Fix "git checkout -b foo ':/substring'"
+      GIT 1.5.4
+
+Michele Ballabio (1):
+      Fix typo in a comment in t/test-lib.sh
+
+Miklos Vajna (1):
+      git rev-parse manpage: spelling fix
+
+Shawn O. Pearce (1):
+      Use 'printf %s $x' notation in t5401
+
+Yasushi SHOJI (1):
+      gitweb: Convert generated contents to utf8 in commitdiff_plain
+
+
+Version v1.5.4-rc5; changes since v1.5.4-rc4:
+---------------------------------------------
+
+Alex Riesen (1):
+      Make t5710 more strict when creating nested repos
+
+Brandon Casey (1):
+      git-commit: exit non-zero if we fail to commit the index
+
+Eric Wong (1):
+      git-svn: default to repacking every 1000 commits
+
+Gustaf Hendeby (1):
+      send-email, fix breakage in combination with --compose
+
+Jakub Narębski (1):
+      autoconf: define NO_SYS_SELECT_H on systems without <sys/select.h>.
+
+Johannes Schindelin (1):
+      pull --rebase: be cleverer with rebased upstream branches
+
+Junio C Hamano (5):
+      git-submodule: rename shell functions for consistency
+      git-submodule: fix subcommand parser
+      git-submodule: add test for the subcommand parser fix
+      Clarify that http-push being temporarily disabled with older cURL
+      GIT 1.5.4-rc5
+
+Mike Hommey (2):
+      Add a missing dependency on http.h
+      Documentation: add a bit about sendemail.to configuration
+
+Miklos Vajna (2):
+      git-clone -s: document problems with git gc --prune
+      git pull manpage: don't include -n from fetch-options.txt
+
+Nicolas Pitre (1):
+      pack-objects: Fix segfault when object count is less than thread count
+
+Pierre Habouzit (1):
+      parse-options: catch likely typo in presense of aggregated options.
+
+Robert Schiele (2):
+      pre-POSIX.1-2001 systems do not have <sys/select.h>
+      Makefile: customization for supporting HP-UX
+
+Sam Vilain (1):
+      git-svn(1): update instructions for resuming a git-svn clone
+
+Shawn O. Pearce (10):
+      git-gui: Honor the standard commit-msg hook
+      git-gui: Correct window title for hook failure dialogs
+      git-gui: Consolidate hook execution code into a single function
+      git-gui: Correct encoding of glossary/fr.po to UTF-8
+      Teach fast-import to honor pack.compression and pack.depth
+      Document the hairy gfi_unpack_entry part of fast-import
+      git-gui: Work around random missing scrollbar in revision list
+      git-gui: Fallback to Tcl based po2msg.sh if msgfmt isn't available
+      git-gui: Make the statistics of po2msg match those of msgfmt
+      git-gui: Correctly cleanup msgfmt '1 message untranslated' output
+
+Steffen Prohaska (3):
+      submodule: Document the details of the command line syntax
+      t9400-git-cvsserver-server: Wrap setup into test case
+      cvsserver: Fix for histories with multiple roots
+
+
+Version v1.5.4-rc4; changes since v1.5.4-rc3:
+---------------------------------------------
+
+Bill Lear (1):
+      Correct spelling in diff.c comment
+
+Brandon Casey (4):
+      close_lock_file(): new function in the lockfile API
+      Improve use of lockfile API
+      refs.c: rework ref_locks by abstracting from underlying struct lock_file
+      fast-import.c: don't try to commit marks file if write failed
+
+Christian Couder (2):
+      git-gui: Initial french translation
+      git-gui: add french glossary: glossary/fr.po
+
+Christian Stimming (4):
+      git-gui: Update glossary: add term "hunk"
+      git-gui: Update German translation
+      git-gui: Fix broken revert confirmation.
+      git-gui: Improve German translation.
+
+Dan McGee (3):
+      Remove usage of git- (dash) commands from email hook
+      cvsimport: remove last use of repo-config from git standard tools
+      Update git-completion for new 'remote rm' option
+
+Dave Peticolas (1):
+      Documentation: fix and clarify grammar in git-merge docs.
+
+Dmitry Potapov (1):
+      treat any file with NUL as binary
+
+Eric Wong (1):
+      git-svn: handle leading/trailing whitespace from svnsync revprops
+
+Grégoire Barbier (4):
+      http-push: disable http-push without USE_CURL_MULTI
+      http-push: fix webdav lock leak.
+      http-push: fail when info/refs exists and is already locked
+      http-push and http-fetch: handle URLs without trailing /
+
+Jakub Narębski (1):
+      autoconf: Add checking for unsetenv function
+
+Jean-Luc Herren (1):
+      Make default pre-commit hook less noisy
+
+Jeff King (5):
+      git-clean: fix off-by-one memory access when given no arguments
+      color unchanged lines as "plain" in "diff --color-words"
+      send-email: detect invocation errors earlier
+      send-email: validate patches before sending anything
+      send-email: add no-validate option
+
+Jim Meyering (2):
+      fast-import: Don't use a maybe-clobbered errno value
+      doc typo: s/prior committing/prior to committing/
+
+Johannes Schindelin (1):
+      gitk: make Ctrl "+" really increase the font size
+
+Junio C Hamano (8):
+      builtin-commit.c: remove useless check added by faulty cut and paste
+      Revert "builtin-commit.c: remove useless check added by faulty cut and paste"
+      Fix git-rerere documentation
+      Squelch bogus progress output from git-rebase--interactive
+      Document lockfile API
+      Officially deprecate repo-config.
+      http-push: clarify the reason of error from the initial PROPFIND request
+      GIT 1.5.4-rc4
+
+Kristian Høgsberg (1):
+      git-commit: fix double close(2) that can close a wrong file descriptor
+
+Lars Hjemli (1):
+      Move sha1_file_to_archive into libgit
+
+Linus Torvalds (4):
+      Fix performance regression for partial commits
+      Make builtin-commit.c more careful about parenthood
+      Make 'git fsck' complain about non-commit branches
+      Be more careful about updating refs
+
+Mark Drago (1):
+      hg-to-git: improve popen calls
+
+Mark Levedahl (1):
+      git-gui: Makefile - Handle $DESTDIR on Cygwin
+
+Martin Koegler (1):
+      parse_commit_buffer: tighten checks while parsing
+
+Miklos Vajna (3):
+      Add using merge subtree How-To
+      ls-remote: add -t and -h options.
+      Include rev-list options in git-log manpage.
+
+Peter Krefting (1):
+      git-gui: Updated Swedish translation after mailing list review.
+
+Shawn O. Pearce (3):
+      git-gui: Allow 'Create New Repository' on existing directories
+      git-gui: Refresh file status description after hunk application
+      Fix random fast-import errors when compiled with NO_MMAP
+
+Thomas Zander (1):
+      core-tutorial typofix
+
+
+Version v1.5.4-rc3; changes since v1.5.4-rc2:
+---------------------------------------------
+
+Alexandre Julliard (6):
+      git.el: Support for getting diffs from inside the log-edit buffer.
+      git.el: Retrieve the permissions for up-to-date files.
+      git.el: Display file types and type changes.
+      git.el: Make sure we never insert the same file twice.
+      git.el: Refresh files from their real state upon commit.
+      git.el: Make status refresh faster.
+
+Bernt Hansen (1):
+      git-gui: Make commit log messages end with a newline
+
+Brandon Casey (1):
+      git-relink.txt: describe more clearly how hard linking occurs
+
+Charles Bailey (1):
+      gitk: Fix the Makefile to cope with systems lacking msgfmt
+
+Christian Couder (1):
+      Documentation: config: add 'help.*' and 'instaweb.*' variables.
+
+Christian Stimming (10):
+      gitk i18n: Add Makefile with rules for po file creation and installation
+      gitk i18n: Import msgcat for message string translation; load translation catalogs
+      gitk i18n: Markup several strings for translation
+      gitk i18n: Initial German translation
+      gitk i18n: More markup -- various options menus
+      gitk i18n: Recode gitk from latin1 to utf8 so that the (c) copyright character is valid utf8.
+      gitk: Update and fix Makefile
+      gitk: Update German translation
+      gitk: Fix typo in user message.
+      gitk: Update German translation.
+
+Dan McGee (1):
+      Documentation: rename gitlink macro to linkgit
+
+Eric Wong (4):
+      git-svn: allow dcommit --no-rebase to commit multiple, dependent changes
+      git-svn: unlink index files that were globbed, too
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: clarify the "Ignoring error from SVN" piece
+
+Florian La Roche (1):
+      Change git-gc documentation to reflect gc.packrefs implementation.
+
+Gerrit Pape (1):
+      gitk: use user-configured background in view definition dialog
+
+Grégoire Barbier (1):
+      Fix double-free() in http-push.c:remote_exists()
+
+Gustaf Hendeby (1):
+      Documentation/user-manual.txt: fix typo
+
+J. Bruce Fields (1):
+      Documentation: fix remote.<name>.skipDefaultUpdate description
+
+James Bowes (1):
+      Make the git metapackage require the same version of the subpackages.
+
+Jeff King (8):
+      config: handle lack of newline at end of file better
+      git-reset: refuse to do hard reset in a bare repository
+      add a "basic" diff config callback
+      diff: load funcname patterns in "basic" config
+      diff: remove lazy config loading
+      add--interactive: remove unused diff colors
+      add--interactive: allow diff colors without interactive colors
+      Document the color.interactive semantics
+
+Jim Meyering (3):
+      Fix grammar nits in documentation and in code comments.
+      Don't access line[-1] for a zero-length "line" from fgets.
+      bundle, fast-import: detect write failure
+
+Johannes Schindelin (2):
+      Optimize prefixcmp()
+      shortlog: mention the "-e" option in the usage
+
+Johannes Sixt (2):
+      git-gui: Move frequently used commands to the top of the context menu.
+      recv_sideband: Do not use ANSI escape sequence on dumb terminals.
+
+Junio C Hamano (27):
+      Documentation/git-submodule.txt: typofix
+      "git pull --tags": error out with a better message.
+      git-rebase -i behaves better on commits with incomplete messages
+      git-rebase -i: clean-up error check codepath.
+      lock_any_ref_for_update(): reject wildcard return from check_ref_format
+      Update callers of check_ref_format()
+      Uninline prefixcmp()
+      git-clean: make "Would remove ..." path relative to cwd again
+      t/t7600: avoid GNUism in grep
+      t/t{3600,3800,5401}: do not use egrep when grep would do
+      t/t3800: do not use a temporary file to hold expected result.
+      Update draft release notes for 1.5.4
+      git-stash clear: refuse to work with extra parameter for now
+      git-rev-parse --symbolic-full-name
+      filter-branch: work correctly with ambiguous refnames
+      custom pretty format: tolerate empty e-mail address
+      Documentation: remove gitman.info with "make clean"
+      Documentation: fix "gitlink::foobar[s]"
+      utf8: pick_one_utf8_char()
+      utf8_width(): allow non NUL-terminated input
+      diff: do not chomp hunk-header in the middle of a character
+      Update draft release notes for 1.5.4
+      GIT 1.5.3.8
+      "git-apply --check" should not report "fixed"
+      pack-objects: remove redundant and wrong call to deflateEnd()
+      RPM spec: include gitk message files.
+      GIT 1.5.4-rc3
+
+Kevin Ballard (1):
+      Trim leading / off of paths in git-svn prop_walk
+
+Marco Costalba (2):
+      Document git-reset defaults to HEAD if no commit is given
+      git-stash: use stdout instead of stderr for non error messages
+
+Mark Levedahl (2):
+      git-gui: Unconditionally use absolute paths with Cygwin
+      Documentation/Makefile - honor $DESTDIR for quick-install target
+
+Martin Koegler (4):
+      receive-pack: check object type of sha1 before using them as commits
+      receive-pack: reject invalid refnames
+      parse_tag_buffer: don't parse invalid tags
+      tree-walk: don't parse incorrect entries
+
+Michael Stefaniuc (1):
+      git-am: Run git gc only once and not for every patch.
+
+Michele Ballabio (1):
+      Document some default values in config.txt
+
+Miklos Vajna (2):
+      git-sh-setup: document git_editor() and get_author_ident_from_commit()
+      t/t7001: avoid unnecessary ERE when using grep
+
+Nicolas Pitre (1):
+      slightly better auto gc message
+
+Paul Mackerras (2):
+      gitk: Recode de.po to UTF-8
+      gitk: Restore some widget options whose defaults changed in Tk 8.5
+
+Peter Krefting (1):
+      Added Swedish translation.
+
+Ralf Wildenhues (1):
+      Documentation: typofix
+
+Rogan Dawes (1):
+      Allow git-mergetool to handle paths with a leading space
+
+Shawn O. Pearce (1):
+      git-gui: Handle file mode changes (644->755) in diff viewer
+
+
+Version v1.5.4-rc2; changes since v1.5.4-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Allow selection of different cleanup modes for commit messages
+
+Arjen Laarhoven (1):
+      Fix "git log --diff-filter" bug
+
+Charles Bailey (1):
+      Remove old generated files from .gitignore.
+
+Gustaf Hendeby (2):
+      Make git send-email accept $EDITOR with arguments
+      shortlog manpage documentation: work around asciidoc markup issues
+
+Jakub Narębski (1):
+      gitweb: fix whitespace in config_to_multi (indent with tab)
+
+Jeff King (2):
+      clean up 1.5.4 release notes
+      cvsimport: die on cvsps errors
+
+Jim Meyering (1):
+      Don't dereference NULL upon lookup failure.
+
+Johannes Schindelin (2):
+      Teach diff machinery to display other prefixes than "a/" and "b/"
+      Mention git-shell's "cvs" substitution in the RelNotes
+
+Junio C Hamano (14):
+      t4024: fix test script to use simpler sed pattern
+      fix git commit --amend -m "new message"
+      shell-scripts usage(): consistently exit with non-zero
+      Documentation: ls-files -v is about "assume unchanged".
+      Fix $EDITOR regression introduced by rewrite in C.
+      t7005: do not exit inside test.
+      builtin-commit: fix amending of the initial commit
+      builtin-commit: avoid double-negation in the code.
+      Documentation: describe 'union' low-level merge driver
+      Fix documentation of --first-parent in git-log and copy it to git-rev-list
+      combine-diff: Fix path quoting
+      Fix rewrite_diff() name quoting.
+      contrib: resurrect scripted git-revert.
+      GIT 1.5.4-rc2
+
+Linus Torvalds (1):
+      Re(-re)*fix trim_common_tail()
+
+Miklos Vajna (1):
+      everyday: replace 'prune' and 'repack' with 'gc'
+
+Pierre Habouzit (3):
+      git-tag: fix -l switch handling regression.
+      Force the sticked form for options with optional arguments.
+      parse-options: Add a gitcli(5) man page.
+
+René Scharfe (1):
+      Make "--pretty=format" parser a bit more careful.
+
+Shawn O. Pearce (2):
+      Reallow git-rebase --interactive --continue if commit is unnecessary
+      Improve error messages when int/long cannot be parsed from config
+
+Stefan Sperling (1):
+      Small comment fix for git-cvsimport.
+
+Wincent Colaiuta (1):
+      Emit helpful status for accidental "git stash" save
+
+
+Version v1.5.4-rc1; changes since v1.5.4-rc0:
+---------------------------------------------
+
+Andy Whitcroft (1):
+      git-svn: expand handling of From: and Signed-off-by:
+
+Charles Bailey (1):
+      Fix git-instaweb breakage on MacOS X due to the limited sed functionality
+
+Christian Couder (1):
+      git-help: add "help.format" config variable.
+
+David S. Miller (1):
+      fast-import: fix unalinged allocation and access
+
+Eric Wong (5):
+      git-svn: unlink internal index files after operations
+      git-svn: handle our top-level path being deleted and later re-added
+      git-svn: avoid leaving leftover committer/author info in rebase
+      git-svn: workaround a for broken symlinks in SVN
+      git-svn: avoid warning when run without arguments
+
+Finn Arne Gangstad (1):
+      Improved submodule merge support
+
+H. Merijn Brand (1):
+      the use of 'tr' in the test suite isn't really portable
+
+J. Bruce Fields (8):
+      whitespace: fix off-by-one error in non-space-in-indent checking
+      whitespace: reorganize initial-indent check
+      whitespace: minor cleanup
+      whitespace: fix initial-indent checking
+      whitespace: more accurate initial-indent highlighting
+      whitespace: fix config.txt description of indent-with-non-tab
+      builtin-apply: minor cleanup of whitespace detection
+      builtin-apply: stronger indent-with-on-tab fixing
+
+Jakub Narębski (2):
+      gitweb: disambiguate heads and tags withs the same name
+      gitweb: Teach "a=blob" action to be more lenient about blob/file mime type
+
+Jeff King (7):
+      cvsexportcommit: fix massive commits
+      trim_common_tail: brown paper bag fix.
+      teach bash completion to treat commands with "--" as a helper
+      rename git-browse--help to git-help--browse
+      clone: correctly report http_fetch errors
+      git-send-email: avoid duplicate message-ids
+      test "git clone -o"
+
+Jim Meyering (1):
+      git-filter-branch.sh: more portable tr usage: use \012, not \n.
+
+Johannes Schindelin (4):
+      Support config variable diff.external
+      Document diff.external and mergetool.<tool>.path
+      rebase -p -i: handle "no changes" gracefully
+      git show <tag>: show the tagger
+
+Johannes Sixt (4):
+      threaded pack-objects: Use condition variables for thread communication.
+      Plug a resource leak in threaded pack-objects code.
+      Clean up documentation that references deprecated 'git peek-remote'.
+      filter-branch: Remove broken and unnecessary summary of rewritten refs.
+
+Junio C Hamano (18):
+      git-commit: squelch needless message during an empty merge
+      xdl_diff: identify call sites.
+      xdi_diff: trim common trailing lines
+      diff --check: minor fixups
+      Add tests for "git diff --check" with core.whitespace options
+      xdiff tail trimming: use correct type.
+      commit: allow --amend to reuse message from another commit
+      remote: Fix bogus make_branch() call in configuration reader.
+      Rename git-browse-help helper to git-browse--help
+      Retire git-runstatus for real.
+      Start preparing the API documents.
+      Update draft release notes for 1.5.4
+      Re-re-re-fix common tail optimization
+      builtin-commit: fix summary output.
+      builtin-commit: make summary output consistent with status
+      Documentation/git-submodule: refer to gitmodules(5)
+      builtin-blame.c: remove unneeded memclr()
+      GIT 1.5.4-rc1
+
+Kristian Høgsberg (1):
+      Use a strbuf for building up section header and key/value pair strings.
+
+Li Hong (1):
+      Fix a memory leak
+
+Linus Torvalds (1):
+      unpack-trees: FLEX_ARRAY fix
+
+Marco Roeland (1):
+      clone: fix options '-o' and '--origin' to be recognised again
+
+Mike Hommey (8):
+      Fix some more memory leaks in http-push.c
+      Fix random sha1 in error message in http-fetch and http-push
+      Remove the default_headers variable from http-push.c
+      Remove a CURLOPT_HTTPHEADER (un)setting
+      Avoid redundant declaration of missing_target()
+      Use strbuf in http code
+      Fix various memory leaks in http-push.c and http-walker.c
+      Move fetch_ref from http-push.c and http-walker.c to http.c
+
+Nicolas Pitre (3):
+      provide advance warning of some future pack default changes
+      fix style of a few comments in diff-delta.c
+      make 'git describe --all --contains' work
+
+Petr Baudis (1):
+      gitweb: Make config_to_multi return [] instead of [undef]
+
+Pierre Habouzit (1):
+      Fix segfault in diff-delta.c when FLEX_ARRAY is 1
+
+Ralf Wildenhues (1):
+      Fix some documentation typos.
+
+Sam Vilain (1):
+      Clarify error response from 'git fetch' for bad responses
+
+Sean Estabrooks (1):
+      Fix interactive rebase to preserve author email address
+
+Shawn Bohrer (1):
+      Fix spelling mistakes in user manual
+
+Shawn O. Pearce (2):
+      Avoid update hook during git-rebase --interactive
+      Catch and handle git-commit failures in git-rebase --interactive
+
+Wincent Colaiuta (5):
+      "diff --check" should affect exit status
+      Unify whitespace checking
+      Make "diff --check" output match "git apply"
+      Use shorter error messages for whitespace problems
+      Test interaction between diff --check and --exit-code
+
+anonymous (1):
+      Documentation: describe pack idx v2
+
+
+Version v1.5.4-rc0; changes since v1.5.3.8:
+-------------------------------------------
+
+Alex Riesen (12):
+      fix t5403-post-checkout-hook.sh: built-in test in dash does not have "=="
+      Fix a crash in ls-remote when refspec expands into nothing
+      More updates and corrections to the russian translation of git-gui
+      Rework make_usage to print the usage message immediately
+      Updated russian translation of git-gui
+      Do no colorify test output if stdout is not a terminal
+      Add a test checking if send-pack updated local tracking branches correctly
+      Update the tracking references only if they were succesfully updated on remote
+      Fix dependencies of parse-options test program
+      Do not generate full commit log message if it is not going to be used
+      Simplify crud() in ident.c
+      Fix git-fast-export for zero-sized blobs
+
+Alexandre Julliard (12):
+      git.el: Keep the status buffer sorted by filename.
+      git.el: Allow selecting whether to display uptodate/unknown/ignored files.
+      git.el: Allow the add and remove commands to be applied to ignored files.
+      git.el: Preserve file marks when doing a full refresh.
+      git.el: Do not print a status message on every git command.
+      git.el: Update a file status in the git buffer upon save.
+      git.el: Reset the permission flags when changing a file state.
+      git.el: Fix typo in "Reverted file" message.
+      git.el: Fix typo in git-update-saved-file error handling.
+      git.el: Refresh only the changed file marks when marking/unmarking all.
+      git.el: Run git-gc --auto after commits.
+      git.el: Added a menu for git-status-mode.
+
+Andreas Ericsson (1):
+      Simplify strchrnul() compat code
+
+André Goddard Rosa (2):
+      Print the real filename that we failed to open.
+      Error out when user doesn't have access permission to the repository
+
+Andy Parkins (4):
+      parse_date_format(): convert a format name to an enum date_mode
+      Make for-each-ref allow atom names like "<name>:<something>"
+      Make for-each-ref's grab_date() support per-atom formatting
+      Add a test script for for-each-ref, including test of date formatting
+
+Andy Whitcroft (6):
+      Teach send-pack a mirror mode
+      git-push: plumb in --mirror mode
+      Add tests for git push'es mirror mode
+      git-push: add documentation for the newly added --mirror mode
+      git-quiltimport.sh fix --patches handling
+      git-svn: add support for pulling author from From: and Signed-off-by:
+
+Anton Gyllenberg (1):
+      gitview: import only one of gtksourceview and gtksourceview2
+
+Ask Bjørn Hansen (1):
+      send-email: Don't add To: recipients to the Cc: header
+
+Benoit Sigoure (7):
+      git-svn: add a generic tree traversal to fetch SVN properties
+      git-svn: implement git svn create-ignore
+      git-svn: add git svn propget
+      git-svn: add git svn proplist
+      git-svn: simplify the handling of fatal errors
+      core-tutorial: Catch up with current Git
+      git-svn: sort the options in the --help message.
+
+Björn Steinbrink (1):
+      git config: Don't rely on regexec() returning 1 on non-match
+
+Blake Ramsdell (1):
+      transport.c: squelch a gcc 4.0.1 complaint about an uninitialized variable
+
+Brandon Casey (2):
+      git-gc: by default use safer "-A" option to repack when not --prune'ing
+      git-gc --auto: simplify "repack" command line building
+
+Brian Ewins (2):
+      Add a --dry-run option to git-send-pack.
+      Add a --dry-run option to git-push.
+
+Brian Gernhardt (3):
+      format-patch: Add configuration and off switch for --numbered
+      format-patch: Test --[no-]numbered and format.numbered
+      t3502: Disambiguate between file and rev by adding --
+
+Carlos Rica (5):
+      Function for updating refs.
+      Add tests for documented features of "git reset".
+      Move make_cache_entry() from merge-recursive.c into read-cache.c
+      Make "git reset" a builtin.
+      Make builtin-tag.c use parse_options.
+
+Charles Bailey (1):
+      Fix clone not to ignore depth when performing a local clone
+
+Cheng Renquan (1):
+      gitweb: the commitdiff is very commonly used, it's needed on search page, too
+
+Chris Pettitt (3):
+      git-p4 support for perforce renames.
+      git-p4: Add a helper function to parse the full git diff-tree output.
+      git-p4: Detect changes to executable bit and include them in p4 submit.
+
+Christian Couder (27):
+      rev-list --bisect: Move finding bisection into do_find_bisection.
+      rev-list --bisect: Move some bisection code into best_bisection.
+      rev-list --bisect: Bisection "distance" clean up.
+      rev-list --bisect: Fix best == NULL case.
+      Test suite: reset TERM to its previous value after testing.
+      rev-list: implement --bisect-all
+      rev-list documentation: add "--bisect-all".
+      Bisect: fix some white spaces and empty lines breakages.
+      Bisect: implement "bisect skip" to mark untestable revisions.
+      Bisect: refactor "bisect_write_*" functions.
+      Bisect: refactor some logging into "bisect_write".
+      Bisect: refactor "bisect_{bad,good,skip}" into "bisect_state".
+      Bisect: add "bisect skip" to the documentation.
+      Bisect: add a "bisect replay" test case.
+      Bisect run: "skip" current commit if script exit code is 125.
+      Bisect: add "skip" to the short usage string.
+      Bisect reset: remove bisect refs that may have been packed.
+      Bisect visualize: use "for-each-ref" to list all good refs.
+      Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.
+      Bisect reset: do nothing when not bisecting.
+      Documentation: add a new man page for "git-help"
+      Trace and quote with argv: get rid of unneeded count argument.
+      git-help: add -i|--info option to display info page.
+      Documentation: describe -i/--info option to "git-help"
+      git-help: add -w|--web option to display html man page in a browser.
+      Use {web,instaweb,help}.browser config options.
+      Documentation: describe -w/--web option to "git-help".
+
+Christian Stimming (14):
+      Mark strings for translation.
+      Makefile rules for translation catalog generation and installation.
+      Add glossary that can be converted into a po file for each language.
+      Add glossary translation template into git.
+      German translation for git-gui
+      German glossary for translation
+      git-gui: Add more words to translation glossary
+      git-gui: Update German glossary according to mailing list discussion
+      git-gui: Incorporate glossary changes into existing German translation
+      git-gui: Update German translation, including latest glossary changes
+      git-gui: Add more terms to glossary.
+      git-gui: Update German translation
+      Update git-gui.pot with latest (few) string additions and changes.
+      Update German translation. 100% completed.
+
+Dan McGee (1):
+      Remove outdated references to cogito in documentation
+
+Daniel Barkalow (23):
+      Refactor http.h USE_CURL_MULTI fill_active_slots().
+      Make function to refill http queue a callback
+      Remove obsolete commit-walkers
+      Modularize commit-walker
+      Add uploadpack configuration info to remote.
+      Report information on branches from remote.h
+      Make fetch-pack a builtin with an internal API
+      Push code for transport library
+      Add matching and parsing for fetch-side refspec rules
+      Add fetch methods to transport library.
+      Make fetch a builtin
+      Allow abbreviations in the first refspec to be merged
+      Fix adding a submodule with a remote url
+      Restore default verbosity for http fetches.
+      Remove duplicate ref matches in fetch
+      Correct handling of upload-pack in builtin-fetch-pack
+      Miscellaneous const changes and utilities
+      Build-in peek-remote, using transport infrastructure.
+      Use built-in send-pack.
+      Build-in send-pack, with an API for other programs to call.
+      Build in ls-remote
+      Use parseopts in builtin-push
+      Add more checkout tests
+
+David D. Kilzer (8):
+      git-svn log: fix ascending revision ranges
+      git-svn log: include commit log for the smallest revision in a range
+      git-svn log: handle unreachable revisions like "svn log"
+      git-send-email: show all headers when sending mail
+      git-svn: extract reusable code into utility functions
+      git-svn info: implement info command
+      git-svn: info --url [path]
+      git-svn: Remove unnecessary Git::SVN::Util package
+
+David Kastrup (3):
+      diff-delta.c: pack the index structure
+      diff-delta.c: Rationalize culling of hash buckets
+      git-commit.sh: Shell script cleanup
+
+David Reiss (1):
+      git-svn: Fix a typo and add a comma in an error message in git-svn
+
+David Symonds (7):
+      gitweb: Provide title attributes for abbreviated author names.
+      gitweb: Refactor abbreviation-with-title-attribute code.
+      gitweb: Use chop_and_escape_str in more places.
+      Rearrange git-format-patch synopsis to improve clarity.
+      git-checkout: Support relative paths containing "..".
+      git-checkout: Test for relative path use.
+      Mention that git-rm can be an appropriate resolution as well as git-add.
+
+Dmitry Potapov (1):
+      preserve executable bits in zip archives
+
+Douglas Stockwell (1):
+      send-email: Add support for SSL and SMTP-AUTH
+
+Emil Medve (2):
+      Fixed a command line option type for builtin-fsck.c
+      git-stash: Fix listing stashes
+
+Eric Wong (6):
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: add tests for command-line usage of init and clone commands
+      t9106: fix a race condition that caused svn to miss modifications
+      git-svn: allow `info' command to work offline
+      git-svn: replace .rev_db with a more space-efficient .rev_map format
+      git-svn: reinstate old rev_db optimization in new rev_map
+
+Eygene Ryabinkin (2):
+      git-svn: respect Subversion's [auth] section configuration values
+      git-svn: use "no warnings 'once'" to disable false-positives
+
+Eyvind Bernhardsen (1):
+      Fix mis-markup of the -p, --patch option in git-add(1)
+
+Frederick Akalin (1):
+      gtksourceview2 support for gitview
+
+Gerrit Pape (9):
+      No longer install git-svnimport, move to contrib/examples
+      git-reset: add -q option to operate quietly
+      contrib/hooks/post-receive-email: fix typo
+      contrib/hooks/post-receive-email: reformat to wrap comments at 76 chars
+      contrib/hooks/post-receive-email: make subject prefix configurable
+      hooks--update: fix test for properly set up project description file
+      hooks--update: decline deleting tags or branches by default, add config options
+      contrib/hooks/post-receive-email: remove cruft, $committer is not used
+      Don't cache DESTDIR in perl/perl.mak.
+
+Gordon Hopper (1):
+      git-cvsimport: fix handling of user name when it is not set in CVSROOT
+
+Guido Ostkamp (2):
+      Remove unreachable statements
+      Use compat mkdtemp() on Solaris boxes
+
+Gustaf Hendeby (1):
+      git-svn now reads settings even if called in subdirectory
+
+H. Merijn Brand (1):
+      Do not rely on the exit status of "unset" for unset variables
+
+Harri Ilari Tapio Liusvaara (1):
+      git-gui: Disambiguate "commit"
+
+Heikki Orsila (1):
+      git-clone: honor "--" to end argument parsing
+
+Irina Riesen (1):
+      git-gui: initial version of russian translation
+
+J. Bruce Fields (3):
+      git-rebase: support --whitespace=<option>
+      git-rebase: fix -C option
+      errors: "strict subset" -> "ancestor"
+
+Jakub Narębski (18):
+      gitweb: Fix and simplify "split patch" detection
+      gitweb: Always set 'from_file' and 'to_file' in parse_difftree_raw_line
+      gitweb: Add 'status_str' to parse_difftree_raw_line output
+      gitweb: Remove CGI::Carp::set_programname() call from t9500 gitweb test
+      gitweb: Easier adding/changing parameters to current URL
+      gitweb: Use href(-replay=>1, page=>...) to generate pagination links
+      gitweb: Use href(-replay=>1, action=>...) to generate alternate views
+      gitweb: Add tests for overriding gitweb config with repo config
+      gitweb: Read repo config using 'git config -z -l'
+      gitweb: Use config file for repository description and URLs
+      gitweb: Style all tables using CSS
+      gitweb: Put project README in div.readme, fix its padding
+      autoconf: Add tests for memmem, strtoumax and mkdtemp functions
+      Add config_int() method to the Git perl module
+      gitweb: Update and improve gitweb/README file
+      contrib: Make remotes2config.sh script more robust
+      autoconf: Add test for OLD_ICONV (squelching compiler warning)
+      autoconf: Check asciidoc version to automatically set ASCIIDOC8
+
+James Bowes (3):
+      remote: add 'rm' subcommand
+      remote: document the 'rm' subcommand
+      gc: use parse_options
+
+Jari Aalto (2):
+      git-remote: exit with non-zero status after detecting error in "rm".
+      On error, do not list all commands, but point to --help option
+
+Jeff King (36):
+      contrib/fast-import: add perl version of simple example
+      diffcore-rename: cache file deltas
+      git-rebase: document suppression of duplicate commits
+      send-pack: don't update tracking refs on error
+      t5516: test update of local refs on push
+      git-gc: improve wording of --auto notification
+      Documentation/git-gc: explain --auto in description
+      Documentation/git-gc: improve description of --auto
+      more terse push output
+      receive-pack: don't mention successful updates
+      send-pack: require --verbose to show update of tracking refs
+      git-ls-files: add --exclude-standard
+      send-pack: track errors for each ref
+      send-pack: check ref->status before updating tracking refs
+      send-pack: assign remote errors to each ref
+      make "find_ref_by_name" a public function
+      send-pack: tighten remote error reporting
+      send-pack: fix "everything up-to-date" message
+      avoid "defined but not used" warning for fetch_objs_via_walker
+      send-pack: cluster ref status reporting
+      git-tag: test that -s implies an annotated tag
+      Revert "t5516: test update of local refs on push"
+      git-commit: clean up die messages
+      Enable rewrite as well as rename detection in git-status
+      quote_path: fix collapsing of relative paths
+      t9600: require cvsps 2.1 to perform tests
+      t7300: add test for clean with wildcard pathspec
+      wt-status.c:quote_path(): convert empty path to "./"
+      add status.relativePaths config variable
+      git-status: documentation improvements
+      don't mention index refreshing side effect in git-status docs
+      Add git-browse-help to .gitignore
+      Support GIT_PAGER_IN_USE environment variable
+      git-svn: get color config from --get-colorbool
+      shortlog: document -e option
+      git-clone: print an error message when trying to clone empty repo
+
+Jeff Muizelaar (1):
+      fix contrib/hooks/post-receive-email hooks.recipients error message
+
+Jim Meyering (1):
+      hooks-pre-commit: use \t, rather than a literal TAB in regexp
+
+Johannes Schindelin (57):
+      Add po/git-gui.pot
+      Ignore po/*.msg
+      Teach "git remote" a mirror mode
+      verify-tag: also grok CR/LFs in the tag signature
+      apply: get rid of --index-info in favor of --build-fake-ancestor
+      Move bundle specific stuff into bundle.[ch]
+      Add bundle transport
+      git-gui: Deiconify startup wizard so it raises to the top
+      git-gui: add a simple msgfmt replacement
+      rebase -i: commit when continuing after "edit"
+      rebase -i: style fixes and minor cleanups
+      rebase -i: Fix numbers in progress report
+      rebase -i: avoid exporting GIT_AUTHOR_* variables
+      rebase -i: work on a detached HEAD
+      rebase -i: support single-letter abbreviations for the actions
+      Introduce remove_dir_recursively()
+      fetch/push: readd rsync support
+      Support cvs via git-shell
+      Fix compilation when NO_CURL is defined
+      cvsexportcommit: get rid of temporary directory
+      fetch: if not fetching from default remote, ignore default merge
+      Deduce exec_path also from calls to git with a relative path
+      Add tests for parse-options.c
+      parse-options: Allow abbreviated options when unambiguous
+      po2msg: ignore entries marked with "fuzzy"
+      po2msg: ignore untranslated messages
+      po2msg: actually output statistics
+      git-reset: do not be confused if there is nothing to reset
+      Split off the pretty print stuff into its own file
+      parse-options: abbreviation engine fix.
+      builtin-reset: do not call "ls-files --unmerged"
+      builtin-reset: avoid forking "update-index --refresh"
+      Deprecate git-lost-found
+      rebase: operate on a detached HEAD
+      builtin-blame: set up the work_tree before the first file access
+      rebase: fix "rebase --continue" breakage
+      Close files opened by lock_file() before unlinking.
+      rebase -i: move help to end of todo file
+      launch_editor(): read the file, even when EDITOR=:
+      builtin-commit: fix reflog message generation
+      git status: show relative paths when run in a subdirectory
+      builtin-commit: fix --signoff
+      builtin-commit --s: add a newline if the last line was not a S-o-b
+      builtin-commit: resurrect behavior for multiple -m options
+      builtin-commit: Add newline when showing which commit was created
+      Replace "runstatus" with "status" in the tests
+      filter-branch: fix dirty way to provide the helpers to commit filters
+      git checkout's reflog: even when detaching the HEAD, say from where
+      bash completion: add diff options
+      Replace instances of export VAR=VAL with VAR=VAL; export VAR
+      Teach 'git pull' about --rebase
+      rebase -i: give rerere a chance
+      receive-pack: allow deletion of corrupt refs
+      Add "--expire <time>" option to 'git prune'
+      Add 'git fast-export', the sister of 'git fast-import'
+      fast-export: rename the signed tag mode 'ignore' to 'verbatim'
+      Allow ':/<oneline-prefix>' syntax to work with save_commit_buffer == 0
+
+Johannes Sixt (38):
+      git-gui: Change main window layout to support wider screens
+      gitk: Do not pick up file names of "copy from" lines
+      Change git_connect() to return a struct child_process instead of a pid_t.
+      Use start_command() in git_connect() instead of explicit fork/exec.
+      Use start_command() to run content filters instead of explicit fork/exec.
+      Use run_command() to spawn external diff programs instead of fork/exec.
+      Use start_comand() in builtin-fetch-pack.c instead of explicit fork/exec.
+      Have start_command() create a pipe to read the stderr of the child.
+      upload-pack: Use start_command() to run pack-objects in create_pack_file().
+      Add infrastructure to run a function asynchronously.
+      Use the asyncronous function infrastructure in builtin-fetch-pack.c.
+      upload-pack: Move the revision walker into a separate function.
+      upload-pack: Run rev-list in an asynchronous function.
+      t0021-conversion.sh: Test that the clean filter really cleans content.
+      Avoid a dup2(2) in apply_filter() - start_command() can do it for us.
+      Use the asyncronous function infrastructure to run the content filter.
+      Fix an infinite loop in sq_quote_buf().
+      upload-pack: Use finish_{command,async}() instead of waitpid().
+      Give git-am back the ability to add Signed-off-by lines.
+      git-clean: Fix error message if clean.requireForce is not set.
+      Fix preprocessor logic that determines the availablity of strchrnul().
+      t5300-pack-object.sh: Split the big verify-pack test into smaller parts.
+      t7501-commit.sh: Not all seds understand option -i
+      t5302-pack-index: Skip tests of 64-bit offsets if necessary.
+      Skip t3902-quoted.sh if the file system does not support funny names.
+      Use is_absolute_path() in sha1_file.c.
+      Move #include <sys/select.h> and <sys/ioctl.h> to git-compat-util.h.
+      builtin run_command: do not exit with -1.
+      Allow a relative builtin template directory.
+      Introduce git_etc_gitconfig() that encapsulates access of ETC_GITCONFIG.
+      Allow ETC_GITCONFIG to be a relative path.
+      refs.c: Remove unused get_ref_sha1()
+      fetch-pack: Prepare for a side-band demultiplexer in a thread.
+      Flush progress message buffer in display().
+      git-gui: Improve the application icon on Windows.
+      git-commit: Allow to amend a merge commit that does not change the tree
+      for-each-ref: Fix quoting style constants.
+      Fix a typo in checkout.sh and cleanup one-line help messages
+
+Jonas Fonseca (2):
+      Update manpages to reflect new short and long option aliases
+      Documentation: Fix references to deprecated commands
+
+Jonathan del Strother (2):
+      Fixing path quoting in git-rebase
+      gitk: Add support for OS X mouse wheel
+
+Josh England (4):
+      Add post-merge hook, related documentation, and tests.
+      Added example hook script to save/restore permissions/ownership.
+      post-checkout hook, tests, and docs
+      Minor usage update in setgitperms.perl
+
+Junio C Hamano (157):
+      Keep last used delta base in the delta window
+      git-gui po/README: Guide to translators
+      Start 1.5.4 cycle
+      Implement git gc --auto
+      Invoke "git gc --auto" from commit, merge, am and rebase.
+      archive - leakfix for format_subst()
+      git-commit: Allow partial commit of file removal.
+      An additional test for "git-reset -- path"
+      Simplify cache API
+      git-commit: partial commit of paths only removed from the index
+      Document ls-files --with-tree=<tree-ish>
+      builtin-pack-objects.c: avoid bogus gcc warnings
+      stash: implement "stash create"
+      rebase: allow starting from a dirty tree.
+      Export matches_pack_name() and fix its return value
+      pack-objects --keep-unreachable
+      repack -A -d: use --keep-unreachable when repacking
+      git-gc --auto: move threshold check to need_to_gc() function.
+      git-gc --auto: add documentation.
+      git-gc --auto: protect ourselves from accumulated cruft
+      git-gc --auto: restructure the way "repack" command line is built.
+      git-gc --auto: run "repack -A -d -l" as necessary.
+      builtin-apply.c: fix a tiny leak introduced during xmemdupz() conversion.
+      builtin-for-each-ref.c::copy_name() - do not overstep the buffer.
+      git-remote rm: add tests and minor fix-ups
+      Start RelNotes for 1.5.4
+      strbuf_setlen(): do not barf on setting length of an empty buffer to 0
+      send-email --smtp-server-port: allow overriding the default port
+      rerere: Fix use of an empty strbuf.buf
+      git-am: make the output quieter.
+      bundle transport: fix an alloc_ref() call
+      Update stale documentation link in the k.org site
+      git-am: fix typo in the previous one.
+      dateformat: parse %(xxdate) %(yydate:format) correctly
+      builtin-apply: fix conversion error in strbuf series
+      Update state documentation link for 1.5.3.4
+      k.org git toppage: Add link to 1.5.3 release notes.
+      help: remove extra blank line after "See 'git --help'" message
+      revert/cherry-pick: work on merge commits as well
+      git-fetch: do not fail when remote branch disappears
+      RelNotes-1.5.4: describe recent updates
+      git-gui: Update Japanese strings (part 2)
+      Revert "rebase: allow starting from a dirty tree."
+      git-merge: no reason to use cpio anymore
+      format-patch -s: add MIME encoding header if signer's name requires so
+      cherry-pick/revert -m: add tests
+      test format-patch -s: make sure MIME content type is shown as needed
+      War on whitespace: first, a bit of retreat.
+      git-diff: complain about >=8 consecutive spaces in initial indent
+      core.whitespace: add test for diff whitespace error highlighting
+      clean: require -f to do damage by default
+      gc: --prune prunes unreferenced objects.
+      scripts: Add placeholders for OPTIONS_SPEC
+      git-rev-parse --parseopt
+      git-sh-setup: fix parseopt `eval` string underquoting
+      send-pack: segfault fix on forced push
+      Style: place opening brace of a function definition at column 1
+      git-am: -i does not take a string parameter.
+      Update draft release notes for 1.5.4
+      Documentation: lost-found is now deprecated.
+      Make check-docs target detect removed commands
+      Documentation: remove documentation for removed tools.
+      git-commit: a bit more tests
+      Resurrect git-revert.sh example and add comment to builtin-revert.c
+      core.excludesfile clean-up
+      Fix per-directory exclude handing for "git add"
+      git-bisect: war on "sed"
+      git-bisect: use update-ref to mark good/bad commits
+      git-bisect: modernize branch shuffling hack
+      Update draft release notes for 1.5.4
+      Draft release notes: fix clean.requireForce description
+      Update draft release notes for 1.5.4
+      Move gitk to its own subdirectory
+      git-clean: Fix error message if clean.requireForce is not set.
+      git-compat-util.h: auto-adjust to compiler support of FLEX_ARRAY a bit better
+      Fix "quote" misconversion for rewrite diff output.
+      Make test scripts executable.
+      file_exists(): dangling symlinks do exist
+      builtin-commit: do not color status output shown in the message template
+      builtin-commit: run commit-msg hook with correct message file
+      Export three helper functions from ls-files
+      Fix add_files_to_cache() to take pathspec, not user specified list of files
+      builtin-commit: fix partial-commit support
+      Addendum to "MaintNotes"
+      git-add -i: allow multiple selection in patch subcommand
+      git-branch --contains=commit
+      git-branch --contains: doc and test
+      builtin-tag: accept and process multiple -m just like git-commit
+      Add a few more tests for git-commit
+      builtin-apply: rename "whitespace" variables and fix styles
+      t4119: correct overeager war-on-whitespace
+      builtin-apply: teach whitespace_rules
+      core.whitespace: documentation updates.
+      Deprecate peek-remote
+      Update draft release notes for 1.5.4
+      builtin-add: fix command line building to call interactive
+      add -i: Fix running from a subdirectory
+      "git-tag -s" should create a signed annotated tag
+      revert/cherry-pick: do not mention the original ref
+      "color.diff = true" is not "always" anymore.
+      git-config --get-color: get configured color
+      dir.c: minor clean-up
+      per-directory-exclude: lazily read .gitignore files
+      Update draft release notes for 1.5.4
+      Resurrect peek-remote
+      Consolidate command list to one.
+      Update draft release notes for 1.5.4
+      rename: Break filepairs with different types.
+      git-am: catch missing author date early.
+      Fix --signoff in builtin-commit differently.
+      git-commit: Allow to amend a merge commit that does not change the tree
+      git-commit --allow-empty
+      git-commit --allow-empty
+      git-commit documentation: fix unfinished sentence.
+      Add git-fast-export to list of commands.
+      Update draft release notes for 1.5.4
+      Run the specified perl in Documentation/
+      Formatting fix for Documentation/git-help.txt
+      Documentation: rerere is enabled by default these days.
+      Documentation/git.txt: typofix
+      t5510: add a bit more tests for fetch
+      git-cvsserver runs hooks/post-update
+      Revert "git-am: catch missing author date early."
+      Documentation: color.* = true means "auto"
+      git config --get-colorbool
+      Color support for "git-add -i"
+      git-clean: Honor pathspec.
+      config --get-colorbool: diff.color is a deprecated synonym to color.diff
+      Use gitattributes to define per-path whitespace rule
+      hg-to-git: handle an empty dir in hg.
+      do not discard status in fetch_refs_via_pack()
+      git-status documentation: mention subdirectory behaviour
+      Update draft release notes to 1.5.4
+      git-bisect visualize: work in non-windowed environments better
+      mailmap: fix bogus for() loop that happened to be safe by accident
+      shortlog: code restructuring and clean-up
+      git-shortlog -e: show e-mail address as well
+      ls-remote: resurrect pattern limit support
+      Fix commit-msg hook to allow editing
+      Re-fix "builtin-commit: fix --signoff"
+      Re-fix ls-remote
+      Update draft Release Notes for 1.5.4
+      Documentation: add gitman.info target
+      git-help -i: invoke info with document and node name
+      git-help -i: show info documentation from matching version of git
+      send-email: do not muck with initial-reply-to when unset.
+      commit: do not add extra LF at the end of the summary.
+      Support a merge with conflicting gitlink change
+      blame: drop blob data after passing blame to the parent
+      shortlog: default to HEAD when the standard input is a tty
+      git-diff --numstat -z: make it machine readable
+      disable t9119 for now.
+      Documentation: rename git.texi to user-manual.texi
+      git.spec.in: remove python_path
+      git-help -w: do not require to be in git repository
+      RPM spec: Adjust htmldir
+      GIT 1.5.4-rc0
+
+Kevin Leung (2):
+      git-p4: Fix typo in --detect-labels
+      git-stash: Display help message if git-stash is run with wrong sub-commands
+
+Kirill (1):
+      Updated Russian translation.
+
+Konstantin V. Arkhipov (1):
+      git-svn's dcommit must use subversion's config
+
+Kristian Høgsberg (18):
+      Enable wt-status output to a given FILE pointer.
+      Enable wt-status to run against non-standard index file.
+      Add strbuf_read_file().
+      Clean up stripspace a bit, use strbuf even more.
+      Introduce entry point add_interactive and add_files_to_cache
+      Export rerere() and launch_editor().
+      Port builtin-add.c to use the new option parser.
+      Add testcase for amending and fixing author in git commit.
+      Export launch_editor() and make it accept ':' as a no-op editor.
+      Port git commit to C.
+      builtin-commit: Refresh cache after adding files.
+      Call refresh_cache() when updating the user index for --only commits.
+      builtin-commit: Clean up an unused variable and a debug fprintf().
+      t7501-commit: Add test for git commit <file> with dirty index.
+      builtin-commit: Include the diff in the commit message when verbose.
+      Fix off-by-one error when truncating the diff out of the commit message.
+      Use a strbuf for copying the command line for the reflog.
+      Rewrite builtin-fetch option parsing to use parse_options().
+
+Kristof Provost (1):
+      makefile: Add a cscope target
+
+Lars Hjemli (11):
+      git-svn: add support for --first-parent
+      git-svn: always use --first-parent
+      Add test-script for git-merge porcelain
+      git-merge: fix faulty SQUASH_MSG
+      git-merge: refactor option parsing
+      git-merge: add support for branch.<name>.mergeoptions
+      git-merge: add support for --commit and --no-squash
+      git-merge: add --ff and --no-ff options
+      Make merge-recursive honor diff.renamelimit
+      Teach git-pull about --[no-]ff, --no-squash and --commit
+      for-each-ref: fix setup of option-parsing for --sort
+
+Lars Knoll (1):
+      Speedup scanning for excluded files.
+
+Linus Torvalds (18):
+      optimize diffcore-delta by sorting hash entries.
+      Add 'diffcore.h' to LIB_H
+      Split out "exact content match" phase of rename detection
+      Ref-count the filespecs used by diffcore
+      copy vs rename detection: avoid unnecessary O(n*m) loops
+      Do linear-time/space rename logic for exact renames
+      Do exact rename detection regardless of rename limits
+      Fix ugly magic special case in exact rename detection
+      Do the fuzzy rename detection limits with the exact renames removed
+      Simplify topo-sort logic
+      Add "--early-output" log flag for interactive GUI use
+      Enhance --early-output format
+      revision walker: mini clean-up
+      Fix rev-list when showing objects involving submodules
+      Fix parent rewriting in --early-output
+      Fix a pathological case in git detecting proper renames
+      Fix a pathological case in git detecting proper renames
+      "git tag -u keyname" broken
+
+Luke Lu (1):
+      gitweb: speed up project listing on large work trees by limiting find depth
+
+Marius Storm-Olsen (2):
+      Add 'git-p4 commit' as an alias for 'git-p4 submit'
+      Teach core.autocrlf to 'git blame'
+
+Mark Levedahl (1):
+      git-submodule - allow a relative path as the subproject url
+
+Matt Kraai (2):
+      Move convert-objects to contrib.
+      rebase -i: create .dotest-merge after validating options.
+
+Matthias Kestenholz (1):
+      Documentation: add --patch option to synopsis of git-add
+
+Michael Gebetsroither (1):
+      hg-to-git speedup through selectable repack intervals
+
+Michael W. Olson (2):
+      git-rebase--interactive.sh: Quote arguments to test
+      Documentation/git-tag.txt: Document how to backdate tags
+
+Michael Witten (2):
+      git-cvsexportcommit.perl: git-apply no longer needs --binary
+      git-cvsserver runs hooks/post-receive
+
+Michal Vitecek (1):
+      Don't use "<unknown>" for placeholders and suppress printing of empty user formats.
+
+Michele Ballabio (7):
+      git-gui: remove dots in some UI strings
+      git-gui: add some strings to translation
+      git-gui: fix typo in lib/blame.tcl
+      git-gui: update Italian translation
+      test-lib.sh: move error line after error() declaration
+      git-gui: fix a typo in lib/commit.tcl
+      git-gui: update it.po and glossary/it.po
+
+Mike Dalessio (2):
+      instaweb: allow for use of auto-generated scripts
+      instaweb: support for Ruby's WEBrick server
+
+Mike Hommey (13):
+      Reuse previous annotation when overwriting a tag
+      Add tests for git tag
+      Refactor working tree setup
+      Use setup_work_tree() in builtin-ls-files.c
+      Don't always require working tree for git-rm
+      Make git-blame fail when working tree is needed and we're not in one
+      Small code readability improvement in show_reference() in builtin-tag.c
+      Do git reset --hard HEAD when using git rebase --skip
+      Fix and improve t7004 (git-tag tests)
+      git-send-email.perl: Really add angle brackets to In-Reply-To if necessary
+      Cleanup variables in http.[ch]
+      Fix small memory leaks induced by diff_tree_setup_paths
+      Fix XML parser leaks in http-push
+
+Miklos Vajna (4):
+      Hungarian translation of git-gui
+      git-send-email: add a new sendemail.to configuration variable
+      Include diff options in the git-log manpage
+      Update Hungarian translation. 100% completed.
+
+Nanako Shiraishi (3):
+      Japanese translation of git-gui
+      git-gui: Update Japanese strings
+      Update ja.po for git-gui
+
+Nguyễn Thái Ngọc Duy (3):
+      contrib/fast-import: add simple shell example
+      git-sh-setup.sh: use "git rev-parse --show-cdup" to check for SUBDIRECTORY_OK
+      Remove repo version check from setup_git_directory
+
+Nicolas Pitre (42):
+      straighten the list of objects to deltify
+      localize window memory usage accounting
+      rearrange delta search progress reporting
+      basic threaded delta search
+      threaded delta search: refine work allocation
+      threaded delta search: better chunck split point
+      threaded delta search: specify number of threads at run time
+      fix threaded delta search locking
+      threaded delta search: add pack.threads config variable
+      threaded delta search: proper locking for cache accounting
+      more compact progress display
+      cope with multiple line breaks within sideband progress messages
+      pack-objects: no delta possible with only one object in the list
+      pack-objects.c: fix some global variable abuse and memory leaks
+      fix const issues with some functions
+      fix for more minor memory leaks
+      prune-packed: don't call display_progress() for every file
+      make struct progress an opaque type
+      relax usage of the progress API
+      add throughput to progress display
+      add throughput display to index-pack
+      add some copyright notice to the progress display code
+      add throughput display to git-push
+      return the prune-packed progress display to the inner loop
+      make sure throughput display gets updated even if progress doesn't move
+      Show total transferred as part of throughput progress
+      make the pack index version configurable
+      pack-objects: get rid of an ugly cast
+      git-fetch: more terse fetch output
+      fix display overlap between remote and local progress
+      sideband.c: ESC is spelled '\033' not '\e' for portability.
+      make display of total transferred more accurate
+      remove dead code from the csum-file interface
+      restore fetching with thin-pack capability
+      make display of total transferred fully accurate
+      nicer display of thin pack completion
+      add a howto document about corrupted blob recovery
+      rehabilitate some t5302 tests on 32-bit off_t machines
+      pack-objects: fix delta cache size accounting
+      pack-objects: reverse the delta search sort list
+      pack-objects: fix threaded load balancing
+      pack-objects: more threaded load balancing fix with often changed paths
+
+Paolo Ciarrocchi (1):
+      Italian translation of git-gui
+
+Pascal Obry (2):
+      git-stash: do not get fooled with "color.diff = true"
+      Set OLD_ICONV on Cygwin.
+
+Paul Mackerras (37):
+      gitk: Establish and use global left-to-right ordering for commits
+      gitk: Improve the drawing of links to parent lines
+      gitk: Eliminate diagonal arrows
+      gitk: Get rid of idrowranges and rowrangelist
+      gitk: Get rid of idinlist array
+      gitk: Fix some problems with the display of ids as links
+      gitk: Get rid of the rowchk array
+      gitk: Do only the parts of the layout that are needed
+      gitk: Fix bug causing incorrect ref list contents when switching view
+      gitk: Fix bug causing undefined variable error when cherry-picking
+      gitk: Add a cache for the topology info
+      gitk: Make it possible to lay out all the rows we have received so far
+      gitk: Fix bugs in setting rowfinal
+      gitk: Get rid of lookingforhead, use commitinterest instead
+      gitk: Fix bug in generating patches
+      gitk: Simplify highlighting interface and combine with Find function
+      gitk: Fix a couple of bugs
+      gitk: Add progress bars for reading in stuff and for finding
+      gitk: Fix the tab setting in the diff display window
+      gitk: Fix bug causing Tcl error when changing find match type
+      gitk: Use named fonts instead of the font specification
+      gitk: Keep track of font attributes ourselves instead of using font actual
+      gitk: Add a font chooser
+      gitk: Fix bug where the last few commits would sometimes not be visible
+      gitk: Get rid of the diffopts variable
+      gitk: Fix Tcl error: can't unset findcurline
+      gitk: Check that we are running on at least Tcl/Tk 8.4
+      gitk: Avoid an error when cherry-picking if HEAD has moved on
+      gitk: Fix "can't unset prevlines(...)" Tcl error
+      gitk: Limit diff display to listed paths by default
+      gitk: Ensure tabstop setting gets restored by Cancel button
+      gitk: Integrate the reset progress bar in the main frame
+      gitk: Use the status window for other functions
+      gitk: Fix some bugs with path limiting in the diff display
+      gitk: Fix a couple more bugs in the path limiting
+      gitk: Simplify the code for finding commits
+      gitk: Use the UI font for the diff/old version/new version radio buttons
+
+Pierre Habouzit (80):
+      Rework strbuf API and semantics.
+      Simplify strbuf uses in archive-tar.c using strbuf API
+      fast-import: Use strbuf API, and simplify cmd_data()
+      mktree: Simplify write_tree() using strbuf API
+      Use strbuf API in apply, blame, commit-tree and diff
+      Use strbuf API in buitin-rerere.c
+      Use strbuf API in cache-tree.c
+      Strbuf API extensions and fixes.
+      Change semantics of interpolate to work like snprintf.
+      Rework pretty_print_commit to use strbufs instead of custom buffers.
+      Use strbuf_read in builtin-fetch-tool.c.
+      Use strbufs to in read_message (imap-send.c), custom buffer--.
+      Replace all read_fd use with strbuf_read, and get rid of it.
+      New strbuf APIs: splice and attach.
+      Rewrite convert_to_{git,working_tree} to use strbuf's.
+      Now that cache.h needs strbuf.h, remove useless includes.
+      builtin-apply: use strbuf's instead of buffer_desc's.
+      Refactor replace_encoding_header.
+      Remove preemptive allocations.
+      Drop strbuf's 'eof' marker, and make read_line a first class citizen.
+      fast-import was using dbuf's, replace them with strbuf's.
+      fast-import optimization:
+      Add xmemdupz() that duplicates a block of memory, and NUL terminates it.
+      Use xmemdupz() in many places.
+      Fix the expansion pattern of the pseudo-static path buffer.
+      nfv?asprintf are broken without va_copy, workaround them.
+      strbuf API additions and enhancements.
+      Rework unquote_c_style to work on a strbuf.
+      Full rework of quote_c_style and write_name_quoted.
+      sq_quote_argv and add_to_string rework with strbuf's.
+      Add strbuf_cmp.
+      Make builtin-rerere use of strbuf nicer and more efficient.
+      Small cache_tree_write refactor.
+      double free in builtin-update-index.c
+      strbuf change: be sure ->buf is never ever NULL.
+      strbuf_read_file enhancement, and use it.
+      Make read_patch_file work on a strbuf.
+      Fix in-place editing functions in convert.c
+      Add some fancy colors in the test library when terminal supports it.
+      Support a --quiet option in the test-suite.
+      fast-import.c: fix regression due to strbuf conversion
+      Add a simple option parser.
+      parse-options: be able to generate usages automatically
+      parse-options: make some arguments optional, add callbacks.
+      Add shortcuts for very often used options.
+      parse-options: allow callbacks to take no arguments at all.
+      Make builtin-rm.c use parse_options.
+      Make builtin-mv.c use parse-options
+      Make builtin-branch.c use parse_options.
+      Make builtin-describe.c use parse_options
+      Make builtin-revert.c use parse_options.
+      Make builtin-update-ref.c use parse_options
+      Make builtin-symbolic-ref.c use parse_options.
+      Make builtin-for-each-ref.c use parse-opts.
+      Make builtin-fsck.c use parse_options.
+      Make builtin-count-objects.c use parse_options.
+      Make builtin-name-rev.c use parse_options.
+      Make builtin-pack-refs.c use parse_options.
+      git-fetch: be even quieter.
+      Some better parse-options documentation.
+      Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts.
+      Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt
+      Migrate git-clean.sh to use git-rev-parse --parseopt.
+      Migrate git-clone to use git-rev-parse --parseopt
+      Migrate git-am.sh to use git-rev-parse --parseopt
+      Migrate git-merge.sh to use git-rev-parse --parseopt
+      Migrate git-instaweb.sh to use git-rev-parse --parseopt
+      Migrate git-checkout.sh to use git-rev-parse --parseopt --keep-dashdash
+      Migrate git-quiltimport.sh to use git-rev-parse --parseopt
+      Migrate git-repack.sh to use git-rev-parse --parseopt
+      sh-setup: don't let eval output to be shell-expanded.
+      parse-options new features.
+      Use OPT_SET_INT and OPT_BIT in builtin-branch
+      Use OPT_BIT in builtin-for-each-ref
+      Use OPT_BIT in builtin-pack-refs
+      Make the diff_options bitfields be an unsigned with explicit masks.
+      Reorder diff_opt_parse options more logically per topics.
+      parse-options: Allow to hide options from the default usage.
+      builtin-commit.c: export GIT_INDEX_FILE for launch_editor as well.
+      Invert numbers and names in the git-shortlog summary mode.
+
+Pini Reznik (1):
+      Open external merge tool with original file extensions for all three files
+
+Ralf Wildenhues (10):
+      manual: Fix or remove em dashes.
+      Fix some typos, punctuation, missing words, minor markup.
+      Fix wording in push definition.
+      manual: Fix example finding commits referencing given content.
+      manual: add some markup.
+      manual: use 'URL' instead of 'url'.
+      git-cherry-pick: improve description of -x.
+      Fix minor nits in configure.ac
+      git-bisect.sh: Fix sed script to work with AIX and BSD sed.
+      Document all help keys in "git add -i" patch mode.
+
+René Scharfe (13):
+      Export format_commit_message()
+      archive: specfile support (--pretty=format: in archive files)
+      Remove unused function convert_sha1_file()
+      add memmem()
+      archive: specfile syntax change: "$Format:%PLCHLDR$" instead of just "%PLCHLDR" (take 2)
+      archive: rename attribute specfile to export-subst
+      archive: fix subst file generation
+      Correct some sizeof(size_t) != sizeof(unsigned long) typing errors
+      Add strchrnul()
+      --pretty=format: on-demand format expansion
+      --pretty=format: parse commit message only once
+      add strbuf_adddup()
+      --format=pretty: avoid calculating expensive expansions twice
+
+Robert Boone (1):
+      Define NO_MEMMEM of FreeBSD as it lacks the function
+
+Robert Schiele (2):
+      git-gui: install-sh from automake does not like -m755
+      install-sh from automake does not like -m without delimiting space
+
+Robin Rosenberg (1):
+      cvsexportcommit: Add switch to specify CVS workdir
+
+Sam Vilain (6):
+      git-svn: fix test for trunk svn (commit message not needed)
+      git-svn: fix test for trunk svn (transaction out of date)
+      git-svn: handle changed svn command-line syntax
+      gitk: disable colours when calling git log
+      Allow HTTP proxy to be overridden in config
+      Add remote.<name>.proxy
+
+Scott R Parish (7):
+      "git" returns 1; "git help" and "git help -a" return 0
+      remove unused/unneeded "pattern" argument of list_commands
+      "current_exec_path" is a misleading name, use "argv_exec_path"
+      list_commands(): simplify code by using chdir()
+      use only the $PATH for exec'ing git commands
+      include $PATH in generating list of commands for "help -a"
+      shell should call the new setup_path() to setup $PATH
+
+Sergei Organov (7):
+      core-tutorial.txt: Fix git-show-branch example and its description
+      user-manual.txt: fix a few mistakes
+      user-manual: minor rewording for clarity.
+      Documentation: customize diff-options depending on particular command
+      user-manual.txt: minor clarification.
+      Documentation: fix git-clone manpage not to refer to itself
+      Let git-help prefer man-pages installed with this version of git
+
+Shawn Bohrer (4):
+      Add more tests for git-clean
+      Make git-clean a builtin
+      Teach git clean to use setup_standard_excludes()
+      Make git status usage say git status instead of git commit
+
+Shawn O. Pearce (106):
+      git-gui: Locate the library directory early during startup
+      git-gui: Initialize Tcl's msgcat library for internationalization
+      git-gui: Update po/README as symlink process is not necessary
+      git-gui: Correct stock message for 'Invalid font specified in %s'
+      git-gui: Quiet the msgfmt part of the make process
+      git-gui: Ensure msgfmt failure stops GNU make
+      Define NO_MEMMEM on Darwin as it lacks the function
+      git-gui: Mark revision chooser tooltip for translation
+      git-gui: Localize commit/author dates when displaying them
+      git-gui: Support context-sensitive i18n
+      git-gui: Document the new i18n context support
+      git-gui: Make the tree browser also use lightgray selection
+      git-gui: Paper bag fix missing translated strings
+      Correct builtin-fetch to handle + in refspecs
+      Fix off by one bug in reflog messages written by builtin-fetch
+      Remove unnecessary debugging from builtin-fetch
+      Remove unused unpacklimit variable from builtin-fetch
+      Replace custom memory growth allocator with ALLOC_GROW
+      Simplify fetch transport API to just one function
+      Refactor index-pack "keep $sha1" handling for reuse
+      Remove pack.keep after ref updates in git-fetch
+      Always ensure the pack.keep file is removed by git-fetch
+      Fix builtin-fetch memory corruption by not overstepping array
+      Backup the array passed to fetch_pack so we can free items
+      Properly cleanup in http_cleanup so builtin-fetch does not segfault
+      Don't bother passing ref log details to walker in builtin-fetch
+      Cleanup duplicate initialization code in transport_get
+      Add transport.h to LIB_H as transport.o is in LIB_OBJS
+      Remove unnecessary 'fetch' argument from transport_get API
+      Allow builtin-fetch to work on a detached HEAD
+      Don't configure remote "." to fetch everything to itself
+      Remove more debugging from builtin-fetch
+      builtin-fetch: Don't segfault on "fetch +foo"
+      Don't attempt to merge non-existant remotes in t5515
+      Correct handling of branch.$name.merge in builtin-fetch
+      Avoid printing unnecessary warnings during fetch and push
+      Use 'unsigned:1' when we mean boolean options
+      Rename remote.uri to remote.url within remote handling internals
+      Refactor struct transport_ops inlined into struct transport
+      Always obtain fetch-pack arguments from struct fetch_pack_args
+      Ensure builtin-fetch honors {fetch,transfer}.unpackLimit
+      Fix memory leaks when disconnecting transport instances
+      git-gui: Fix missing i18n markup in push/fetch windows
+      git-gui: Support native Win32 Tcl/Tk under Cygwin
+      git-gui: Refactor some UI init to occur earlier
+      git-gui: Allow users to choose/create/clone a repository
+      git-gui: Avoid console scrollbars unless they are necessary
+      git-gui: Don't bother showing OS error message about hardlinks
+      git-gui: Keep the UI responsive while counting objects in clone
+      git-gui: Copy objects/info/alternates during standard clone
+      Cleanup style nit of 'x == NULL' in remote.c
+      Cleanup unnecessary break in remote.c
+      Prevent send-pack from segfaulting when a branch doesn't match
+      git-gui: Don't delete console window namespaces too early
+      git-gui: Don't delete scrollbars in console windows
+      git-gui: Switch the git-gui logo to Henrik Nyh's logo
+      git-gui: Make the status bar easier to read in the setup wizard
+      git-gui: Use Henrik Nyh's git logo icon on Windows systems
+      git-gui: Support a native Mac OS X application bundle
+      git-gui: Refer to ourselves as "Git Gui" and not "git-gui"
+      git-gui: Allow forced push into remote repository
+      git-gui: Refactor Henrik Nyh's logo into its own procedure
+      git-gui: Refactor about dialog code into its own module
+      git-gui: Include our Git logo in the about dialog
+      git-gui: Use progress meter in the status bar during index updates
+      git-gui: Consolidate the Fetch and Push menus into a Remote menu
+      git-gui: Bind Cmd-, to Preferences on Mac OS X
+      git-gui: Shorten the staged/unstaged changes title bar text
+      git-gui: Updated po strings based on current sources
+      git-gui: Move load_config procedure below git-version selection
+      git-gui: Refactor git-config --list parsing
+      git-gui: Support LFs embedded in config file values
+      git-gui: Change repository browser radio buttons to hyperlinks
+      git-gui: Offer repository management features in menu bar
+      git-gui: Fix bind errors when switching repository chooser panels
+      git-gui: Disable the text widget in the repository chooser
+      git-gui: Bind n/c/o accelerators in repository chooser
+      git-gui: Ensure copyright message is correctly read as UTF-8
+      git-gui: Use proper Windows shortcuts instead of bat files
+      git-gui: Support cloning Cygwin based work-dirs
+      git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows
+      git-gui: Honor a config.mak in git-gui's top level
+      Fix 'push --all branch...' error handling
+      Support 'push --dry-run' for rsync transport
+      Support 'push --dry-run' for http transport
+      git-gui: Paper bag fix the global config parsing
+      Change 'Deltifying objects' to 'Compressing objects'
+      Teach prune-packed to use the standard progress meter
+      Stop displaying "Pack pack-$ID created." during git-gc
+      Avoid scary errors about tagged trees/blobs during git-fetch
+      Define compat version of mkdtemp for systems lacking it
+      Improved const correctness for strings
+      Use PRIuMAX instead of 'unsigned long long' in show-index
+      git-gui: Make sure we get errors from git-update-index
+      git-gui: Protect against bad translation strings
+      git-gui: Allow users to set font weights to bold
+      Reteach builtin-ls-remote to understand remotes
+      git-gui: Bind Meta-T for "Stage To Commit" menu action
+      git-fetch: Always fetch tags if the object they reference exists
+      run-command: Support sending stderr to /dev/null
+      rev-list: Introduce --quiet to avoid /dev/null redirects
+      git-fetch: avoid local fetching from alternate (again)
+      Handle broken vsnprintf implementations in strbuf
+      Fix warning about bitfield in struct ref
+      git-gui 0.9.0
+      Remove git-status from list of scripts as it is builtin
+
+Simon Hausmann (10):
+      git-p4: Always call 'p4 sync ...' before submitting to Perforce.
+      git-p4: After submission to p4 always synchronize from p4 again (into refs/remotes). Whether to rebase HEAD or not is still left as question to the end-user.
+      git-p4: Cleanup; moved the code for getting a sorted list of p4 changes for a list of given depot paths into a standalone method.
+      git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync.
+      git-p4: Cleanup; Turn self.revision into a function local variable (it's not used anywhere outside the function).
+      git-p4: Cleanup; moved the code for the initial #head or revision import into a separate function, out of P4Sync.run.
+      git-p4: Cleanup; moved the (duplicated) code for turning a branch into a git ref (for example foo -> refs/remotes/p4/<project>/foo) into a separate method.
+      git-p4: Added support for automatically importing newly appearing perforce branches.
+      git-p4: When skipping a patch as part of "git-p4 submit" make sure we correctly revert to the previous state of the files using "p4 revert".
+      git-p4: Fix direct import from perforce after fetching changes through git from origin
+
+Simon Sasburg (1):
+      Make mailsplit and mailinfo strip whitespace from the start of the input
+
+Stefan Sperling (1):
+      Fix pool handling in git-svnimport to avoid memory leaks.
+
+Steffen Prohaska (16):
+      git-gui: add directory git-gui is located in to PATH (on Windows)
+      git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit
+      git-gui: add mingw specific startup wrapper
+      git-gui: offer a list of recent repositories on startup
+      mergetool: use path to mergetool in config var mergetool.<tool>.path
+      mergetool: add support for ECMerge
+      mergetool: avoid misleading message "Resetting to default..."
+      Fix comment in strbuf.h to use correct name strbuf_avail()
+      push: mention --verbose option in documentation
+      push: teach push to pass --verbose option to transport layer
+      push: support pushing HEAD to real branch name
+      add refname_match()
+      push: use same rules as git-rev-parse to resolve refspecs
+      refactor fetch's ref matching to use refname_match()
+      Use is_absolute_path() in diff-lib.c, lockfile.c, setup.c, trace.c
+      sha1_file.c: Fix size_t related printf format warnings
+
+Steven Grimm (3):
+      Add a message explaining that automatic GC is about to start
+      builtin-fetch: Add "-q" as a synonym for "--quiet"
+      git-svn: Don't create a "master" branch every time rebase is run
+
+Steven Walter (1):
+      Don't checkout the full tree if avoidable
+
+Theodore Ts'o (2):
+      Make the list of common commands more exclusive
+      Remove hint to use "git help -a"
+
+Thomas Harning (1):
+      git-merge-ours: make it a builtin.
+
+Uwe Kleine-König (1):
+      send-email: apply --suppress-from to S-o-b and cc-cmd
+
+Vineet Kumar (1):
+      git-svn: add a show-externals command.
+
+Väinö Järvelä (1):
+      Added a test for fetching remote tags when there is not tags.
+
+Wincent Colaiuta (21):
+      Further clarify clean.requireForce changes
+      Authenticate only once in git-send-email
+      Refactor patch_update_cmd
+      Teach builtin-add to pass multiple paths to git-add--interactive
+      Add path-limiting to git-add--interactive
+      Add "--patch" option to git-add--interactive
+      Fix typo in draft 1.5.4 release notes
+      Highlight keyboard shortcuts in git-add--interactive
+      revert/cherry-pick: Allow overriding the help text by the calling Porcelain
+      add -i: allow prefix highlighting for "Add untracked" as well.
+      git-add -i: add help text for list-and-choose UI
+      Silence iconv warnings on Leopard
+      Teach "git add -i" to colorize whitespace errors
+      Allow --no-verify to bypass commit-msg hook
+      Documentation: fix --no-verify documentation for "git commit"
+      Add tests for pre-commit and commit-msg hooks
+      Interactive editor tests for commit-msg hook
+      Style fixes for pre-commit hook tests
+      Use "whitespace" consistently
+      Documentation: minor grammar fix for "git apply"
+      Fix "diff --check" whitespace detection
+
+Xudong Guan (2):
+      Initial Chinese translation for git-gui
+      git-gui: Added initial version of po/glossary/zh_cn.po
+
+brian m. carlson (1):
+      git-gui: Reorder msgfmt command-line arguments
+
+İsmail Dönmez (1):
+      gitweb: use Perl built-in utf8 function for UTF-8 decoding.
+
+
+Version v1.5.3.8; changes since v1.5.3.7:
+-----------------------------------------
+
+David Symonds (1):
+      Change from using email.com to example.com as example domain, as per RFC 2606.
+
+Eric Wong (2):
+      git-svn: support for funky branch and project names over HTTP(S)
+      git-svn: clarify the "Ignoring error from SVN" piece
+
+Jeff King (3):
+      t9600: test cvsimport from CVS working tree
+      clone: correctly report http_fetch errors
+      git-send-email: avoid duplicate message-ids
+
+Jim Meyering (1):
+      config.c:store_write_pair(): don't read the byte before a malloc'd buffer.
+
+Junio C Hamano (3):
+      git grep shows the same hit repeatedly for unmerged paths
+      git-am -i: report rewritten title
+      GIT 1.5.3.8
+
+Nguyễn Thái Ngọc Duy (3):
+      Add missing inside_work_tree setting in setup_git_directory_gently
+      Do check_repository_format() early
+      Do check_repository_format() early (re-fix)
+
+
+Version v1.5.3.7; changes since v1.5.3.6:
+-----------------------------------------
+
+Björn Steinbrink (3):
+      git-commit.sh: Fix usage checks regarding paths given when they do not make sense
+      t7005-editor.sh: Don't invoke real vi when it is in GIT_EXEC_PATH
+      git-commit: Add tests for invalid usage of -a/--interactive with paths
+
+Brian Downing (2):
+      config: correct core.loosecompression documentation
+      config: clarify compression defaults
+
+J. Bruce Fields (7):
+      git-remote.txt: fix example url
+      user-manual: mention "..." in "Generating diffs", etc.
+      Documentation: Fix references to deprecated commands
+      user-manual: define "branch" and "working tree" at start
+      user-manual: failed push to public repository
+      user-manual: clarify language about "modifying" old commits
+      user-manual: recovering from corruption
+
+Jan Hudec (1):
+      Improve description of git-branch -d and -D in man page.
+
+Jeff King (5):
+      send-email: add transfer encoding header with content-type
+      Add basic cvsimport tests
+      cvsimport: use rev-parse to support packed refs
+      cvsimport: miscellaneous packed-ref fixes
+      cvsimport: fix usage of cvsimport.module
+
+Johannes Schindelin (2):
+      bundle create: keep symbolic refs' names instead of resolving them
+      Replace the word 'update-cache' by 'update-index' everywhere
+
+Johannes Sixt (1):
+      t7003-filter-branch: Fix test of a failing --msg-filter.
+
+Junio C Hamano (11):
+      format-patch -s: add MIME encoding header if signer's name requires so
+      test format-patch -s: make sure MIME content type is shown as needed
+      ce_match_stat, run_diff_files: use symbolic constants for readability
+      git-add: make the entry stat-clean after re-adding the same contents
+      t2200: test more cases of "add -u"
+      Make test scripts executable.
+      Fix sample pre-commit hook
+      git-checkout: describe detached head correctly
+      scripts: do not get confused with HEAD in work tree
+      Fix typo in t4008 test title
+      GIT 1.5.3.7
+
+Linus Torvalds (1):
+      Fix rev-list when showing objects involving submodules
+
+Matthieu Moy (1):
+      Doc fix for git-reflog: mention @{...} syntax, and <ref> in synopsys.
+
+Rémi Vanicat (1):
+      Make GIT_INDEX_FILE apply to git-commit
+
+Steffen Prohaska (1):
+      user-manual: Add section "Why bisecting merge commits can be harder ..."
+
+
+Version v1.5.3.6; changes since v1.5.3.5:
+-----------------------------------------
+
+Alex Riesen (1):
+      stop t1400 hiding errors in tests
+
+Ask Bjørn Hansen (1):
+      When exec() fails include the failing command in the error message
+
+Benoit Sigoure (2):
+      git-send-email: Change the prompt for the subject of the initial message.
+      git-svn: prevent dcommitting if the index is dirty.
+
+Brad King (1):
+      cvsexportcommit: fix for commits that do not have parents
+
+Christian Couder (1):
+      for-each-ref: fix off by one read.
+
+David D. Kilzer (2):
+      RelNotes-1.5.3.5: fix typo
+      RelNotes-1.5.3.5: fix another typo
+
+David Symonds (1):
+      Improve accuracy of check for presence of deflateBound.
+
+Eric Wong (2):
+      git-svn: fix dcommit clobbering when committing a series of diffs
+      git-svn: t9114: verify merge commit message in test
+
+Gerrit Pape (4):
+      git-diff.txt: add section "output format" describing the diff formats
+      git-cvsimport: really convert underscores in branch names to dots with -u
+      git-daemon: fix remote port number in log entry
+      git-mailsplit: with maildirs not only process cur/, but also new/
+
+Jakub Narębski (1):
+      gitweb: Update config file example for snapshot feature in gitweb/INSTALL
+
+Jeff King (2):
+      git-branch: remove mention of non-existent '-b' option
+      git-send-email: add charset header if we add encoded 'From'
+
+Jing Xue (1):
+      replace reference to git-rm with git-reset in git-commit doc
+
+Johannes Schindelin (1):
+      Add Documentation/CodingGuidelines
+
+Jonas Fonseca (3):
+      Remove escaping of '|' in manpage option sections
+      instaweb: Minor cleanups and fixes for potential problems
+      Documentation: Fix man page breakage with DocBook XSL v1.72
+
+Jonathan del Strother (1):
+      Fixing path quoting in git-rebase
+
+Junio C Hamano (12):
+      grep with unmerged index
+      refresh_index_quietly(): express "optional" nature of index writing better
+      Makefile: add missing dependency on wt-status.h
+      Start preparing for 1.5.3.6
+      t/t3404: fix test for a bogus todo file.
+      revert/cherry-pick: allow starting from dirty work tree.
+      git-clean: honor core.excludesfile
+      core.excludesfile clean-up
+      Fix per-directory exclude handing for "git add"
+      Update draft release notes for 1.5.3.6
+      grep -An -Bm: fix invocation of external grep command
+      GIT 1.5.3.6
+
+Kristian Høgsberg (1):
+      Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites.
+
+Marco Costalba (1):
+      Remove a couple of duplicated include
+
+Mike Hommey (1):
+      Delay pager setup in git blame
+
+Nicolas Pitre (3):
+      print warning/error/fatal messages in one shot
+      git-hash-object should honor config variables
+      fix index-pack with packs >4GB containing deltas on 32-bit machines
+
+Ralf Wildenhues (3):
+      git-clone.txt: Improve --depth description.
+      Avoid a few unportable, needlessly nested "...`...".
+      Fix sed string regex escaping in module_name.
+
+Sergei Organov (6):
+      git-filter-branch.txt: fix a typo.
+      git-format-patch.txt: fix explanation of an example.
+      Documentation: quote commit messages consistently.
+      SubmittingPatches: improve the 'Patch:' section of the checklist
+      core-tutorial.txt: Fix argument mistake in an example.
+      git-remote.txt: fix typo
+
+Shawn O. Pearce (2):
+      Fix memory leak in traverse_commit_list
+      Don't allow fast-import tree delta chains to exceed maximum depth
+
+Vincent Zanotti (1):
+      gitweb: correct month in date display for atom feeds
+
+Wincent Colaiuta (2):
+      Grammar fixes for gitattributes documentation
+      Fix t9101 test failure caused by Subversion "auto-props"
+
+
+Version v1.5.3.5; changes since v1.5.3.4:
+-----------------------------------------
+
+Alex Bennée (1):
+      Ensure we add directories in the correct order
+
+Alex Riesen (1):
+      Fix generation of perl/perl.mak
+
+Andrew Clausen (1):
+      helpful error message when send-pack finds no refs in common.
+
+Aurelien Bompard (1):
+      honor the http.sslVerify option in shell scripts
+
+Benoit Sigoure (1):
+      Fix a small memory leak in builtin-add
+
+Björn Steinbrink (3):
+      Fix --strategy parsing in git-rebase--interactive.sh
+      git-rebase--interactive.sh: Don't pass a strategy to git-cherry-pick.
+      git-rebase--interactive.sh: Make 3-way merge strategies work for -p.
+
+Brian Gernhardt (1):
+      cvsserver: Use exit 1 instead of die when req_Root fails.
+
+Frank Lichtenheld (1):
+      git-config: don't silently ignore options after --list
+
+Gerrit Pape (2):
+      git-config: handle --file option with relative pathname properly
+      git-config: print error message if the config file cannot be read
+
+Jean-Luc Herren (2):
+      git add -i: Fix parsing of abbreviated hunk headers
+      git add -i: Remove unused variables
+
+Jeff King (1):
+      send-pack: respect '+' on wildcard refspecs
+
+Joakim Tjernlund (1):
+      Improve receive-pack error message about funny ref creation
+
+Johannes Schindelin (5):
+      clear_commit_marks(): avoid deep recursion
+      rebase -i: use diff plumbing instead of porcelain
+      Fix setup_git_directory_gently() with relative GIT_DIR & GIT_WORK_TREE
+      fix filter-branch documentation
+      filter-branch: update current branch when rewritten
+
+Julian Phillips (1):
+      fast-import: Fix argument order to die in file_change_m
+
+Junio C Hamano (8):
+      git-remote: fix "Use of uninitialized value in string ne"
+      sha1_file.c: avoid gcc signed overflow warnings
+      merge-recursive.c: mrtree in merge() is not used before set
+      RelNotes-1.5.3.5: describe recent fixes
+      Prevent send-pack from segfaulting (backport from 'master')
+      git-merge: document but discourage the historical syntax
+      Update GIT 1.5.3.5 Release Notes
+      GIT 1.5.3.5
+
+Lars Hjemli (1):
+      Make merge-recursive honor diff.renamelimit
+
+Linus Torvalds (6):
+      Fix embarrassing "git log --follow" bug
+      Clean up "git log" format with DIFF_FORMAT_NO_OUTPUT
+      git-blame shouldn't crash if run in an unmerged tree
+      Avoid scary errors about tagged trees/blobs during git-fetch
+      Fix directory scanner to correctly ignore files without d_type
+      Fix diffcore-break total breakage
+
+Mathias Megyei (1):
+      Do not remove distributed configure script
+
+Michael W. Olson (1):
+      Documentation/git-cvsexportcommit.txt: s/mgs/msg/ in example
+
+Michele Ballabio (2):
+      git-reflog: document --verbose
+      git-archive: document --exec
+
+Nicolas Pitre (1):
+      cherry-pick/revert: more compact user direction message
+
+Patrick Welche (1):
+      Define NI_MAXSERV if not defined by operating system
+
+Ralf Wildenhues (1):
+      gitk.txt: Fix markup.
+
+Robert Schiele (1):
+      fixing output of non-fast-forward output of post-receive-email
+
+Sergei Organov (1):
+      core-tutorial: Use new syntax for git-merge.
+
+Shawn O. Pearce (17):
+      git-gui: Display message box when we cannot find git in $PATH
+      git-gui: Handle starting on mapped shares under Cygwin
+      git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs
+      git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk
+      git-gui: Don't crash when starting gitk from a browser session
+      Whip post 1.5.3.4 maintenance series into shape.
+      Correct typos in release notes for 1.5.3.5
+      Avoid 'expr index' on Mac OS X as it isn't supported
+      Document additional 1.5.3.5 fixes in release notes
+      Yet more 1.5.3.5 fixes mentioned in release notes
+      Avoid invoking diff drivers during git-stash
+      Further 1.5.3.5 fixes described in release notes
+      Paper bag fix diff invocation in 'git stash show'
+      git-gui: Correctly report failures from git-write-tree
+      git-gui: Handle progress bars from newer gits
+      git-gui: Don't display CR within console windows
+      Describe more 1.5.3.5 fixes in release notes
+
+Simon Sasburg (1):
+      git-gui: Avoid using bold text in entire gui for some fonts
+
+Steffen Prohaska (2):
+      git-gui: accept versions containing text annotations, like 1.5.3.mingw.1
+      attr: fix segfault in gitattributes parsing code
+
+
+Version v1.5.3.4; changes since v1.5.3.3:
+-----------------------------------------
+
+Andy Parkins (1):
+      post-receive-hook: Remove the From field from the generated email header so that the pusher's name is used
+
+Carl Worth (1):
+      Add test case for ls-files --with-tree
+
+Federico Mena Quintero (4):
+      Say when --track is useful in the git-checkout docs.
+      Add documentation for --track and --no-track to the git-branch docs.
+      Note that git-branch will not automatically checkout the new branch
+      Make git-pull complain and give advice when there is nothing to merge with
+
+Jari Aalto (1):
+      git-remote: exit with non-zero status after detecting errors.
+
+Jean-Luc Herren (2):
+      git-add--interactive: Allow Ctrl-D to exit
+      git-add--interactive: Improve behavior on bogus input
+
+Jeff King (1):
+      diffcore-rename: cache file deltas
+
+Johan Herland (1):
+      Mention 'cpio' dependency in INSTALL
+
+Johannes Schindelin (2):
+      rebase -i: squash should retain the authorship of the _first_ commit
+      Fix typo in config.txt
+
+Junio C Hamano (5):
+      Whip post 1.5.3.3 maintenance series into shape.
+      git-commit: initialize TMP_INDEX just to be sure.
+      for-each-ref: fix %(numparent) and %(parent)
+      rename diff_free_filespec_data_large() to diff_free_filespec_blob()
+      GIT 1.5.3.4
+
+Keith Packard (1):
+      Must not modify the_index.cache as it may be passed to realloc at some point.
+
+Miklos Vajna (1):
+      git stash: document apply's --index switch
+
+Robert Schiele (1):
+      the ar tool is called gar on some systems
+
+Steffen Prohaska (1):
+      fixed link in documentation of diff-options
+
+
+Version v1.5.3.3; changes since v1.5.3.2:
+-----------------------------------------
+
+Carlos Rica (1):
+      Move make_cache_entry() from merge-recursive.c into read-cache.c
+
+Dan Nicholson (1):
+      quiltimport: Skip non-existent patches
+
+David Brown (1):
+      Detect exec bit in more cases.
+
+David Kastrup (1):
+      Supplant the "while case ... break ;; esac" idiom
+
+Eric Wong (1):
+      git-svn: don't attempt to spawn pager if we don't want one
+
+Glenn Rempe (1):
+      Fixed minor typo in t/t9001-send-email.sh test command line.
+
+J. Bruce Fields (1):
+      user-manual: don't assume refs are stored under .git/refs
+
+Jakub Narębski (2):
+      gitweb: Remove parse_from_to_diffinfo code from git_patchset_body
+      gitweb: No difftree output for trivial merge
+
+Jim Meyering (2):
+      unexpected Make output (e.g. from --debug) causes build failure
+      Do not over-quote the -f envelopesender value.
+
+Johannes Schindelin (1):
+      apply: get rid of --index-info in favor of --build-fake-ancestor
+
+Johannes Sixt (2):
+      gitattributes.txt: Remove a duplicated paragraph about 'ident' and 'crlf' interaction.
+      gitattributes.txt: Be more to the point in the filter driver description.
+
+Junio C Hamano (3):
+      Documentation/git-lost-found.txt: drop unnecessarily duplicated name.
+      Mergetool generating blank files (1.5.3)
+      GIT 1.5.3.3
+
+Linus Torvalds (1):
+      Fix revision log diff setup, avoid unnecessary diff generation
+
+Matt Kraai (2):
+      Move the paragraph specifying where the .idx and .pack files should be
+      Conjugate "search" correctly in the git-prune-packed man page.
+
+Michael Smith (1):
+      user-manual: Explain what submodules are good for.
+
+Miklos Vajna (2):
+      User Manual: add a chapter for submodules
+      git-bundle: fix commandline examples in the manpage
+
+Randy Dunlap (1):
+      core-tutorial: correct URL
+
+Shawn Bohrer (1):
+      Fix spelling of overridden in documentation
+
+Theodore Ts'o (2):
+      mergetool: fix emerge when running in a subdirectory
+      mergetool: Fix typo in options passed to kdiff3
+
+
+Version v1.5.3.2; changes since v1.5.3.1:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      hooks--update: Explicitly check for all zeros for a deleted ref.
+
+Benoit Sigoure (1):
+      Add test to check recent fix to "git add -u"
+
+Carlos Rica (1):
+      git-tag -s must fail if gpg cannot sign the tag.
+
+David Kastrup (1):
+      git-send-email.perl: Add angle brackets to In-Reply-To if necessary
+
+Dmitry V. Levin (2):
+      Makefile: Add cache-tree.h to the headers list
+      git-commit: Disallow amend if it is going to produce an empty non-merge commit
+
+Eric Wong (3):
+      git-svn: fix "Malformed network data" with svn:// servers
+      git-svn: understand grafts when doing dcommit
+      Documentation/git-svn: updated design philosophy notes
+
+Gerrit Pape (2):
+      git-gui: lib/index.tcl: handle files with % in the filename properly
+      git-clone: improve error message if curl program is missing or not executable
+
+J. Bruce Fields (13):
+      user-manual: adjust section levels in "git internals"
+      user-manual: move object format details to hacking-git chapter
+      user-manual: rename "git internals" to "git concepts"
+      user-manual: create new "low-level git operations" chapter
+      user-manual: rewrite index discussion
+      user-manual: reorder commit, blob, tree discussion
+      user-manual: rewrite object database discussion
+      user-manual: move packfile and dangling object discussion
+      user-manual: fix introduction to packfiles
+      user-manual: todo updates and cleanup
+      documentation: replace Discussion section by link to user-manual chapter
+      core-tutorial: minor cleanup
+      git-apply: fix whitespace stripping
+
+Jari Aalto (1):
+      Documentation/git-archive.txt: a couple of clarifications.
+
+Jean-Luc Herren (1):
+      stash: end index commit log with a newline
+
+Jeff King (1):
+      git-push: documentation and tests for pushing only branches
+
+Johannes Schindelin (2):
+      revision walker: --cherry-pick is a limited operation
+      apply --index-info: fall back to current index for mode changes
+
+Junio C Hamano (13):
+      git-apply: do not read past the end of buffer
+      git-add -u: do not barf on type changes
+      git-format-patch --in-reply-to: accept <message@id> with angle brackets
+      diff --no-index: do not forget to run diff_setup_done()
+      Documentation/git-config.txt: AsciiDoc tweak to avoid leading dot
+      Split grep arguments in a way that does not requires to add /dev/null.
+      git-sh-setup: typofix in comments
+      send-email: make message-id generation a bit more robust
+      git-commit: Allow partial commit of file removal.
+      git-commit: partial commit of paths only removed from the index
+      Document ls-files --with-tree=<tree-ish>
+      t/t4014: test "am -3" with mode-only change.
+      GIT 1.5.3.2
+
+Linus Torvalds (1):
+      Fix the rename detection limit checking
+
+Matthias Urlichs (1):
+      git-svnimport: Use separate arguments in the pipe for git-rev-parse
+
+Michael Smith (1):
+      (cvs|svn)import: Ask git-tag to overwrite old tags.
+
+Michele Ballabio (2):
+      git-gui: show unstaged symlinks in diff viewer
+      git-gui: handle "deleted symlink" diff marker
+
+Mike Ralphson (1):
+      Documentation / grammer nit
+
+Nicolas Pitre (1):
+      fix doc for --compression argument to pack-objects
+
+Pierre Habouzit (1):
+      Fix lapsus in builtin-apply.c
+
+Ramsay Jones (1):
+      Fix a test failure (t9500-*.sh) on cygwin
+
+Shawn O. Pearce (17):
+      git-gui: Correct starting of git-remote to handle -w option
+      git-gui: Fix detaching current branch during checkout
+      git-gui: Properly set the state of "Stage/Unstage Hunk" action
+      Don't allow contrib/workdir/git-new-workdir to trash existing dirs
+      Cleanup unnecessary file modifications in t1400-update-ref
+      Include a git-push example for creating a remote branch
+      git-gui: Disable Tk send in all git-gui sessions
+      git-gui: Avoid use of libdir in Makefile
+      git-gui: Assume untracked directories are Git submodules
+      git-gui: Trim trailing slashes from untracked submodule names
+      Make --no-thin the default in git-push to save server resources
+      git-gui: Don't delete send on Windows as it doesn't exist
+      git-gui: Make backporting changes from i18n version easier
+      git-gui: Font chooser to handle a large number of font families
+      git-gui: Provide 'uninstall' Makefile target to undo an installation
+      git-gui: Paper bag fix "Commit->Revert" format arguments
+      git-gui: Disable native platform text selection in "lists"
+
+Sven Verdoolaege (1):
+      git-diff: don't squelch the new SHA1 in submodule diffs
+
+Ulrik Sverdrup (1):
+      Remove duplicate note about removing commits with git-filter-branch
+
+Väinö Järvelä (1):
+      Fixed update-hook example allow-users format.
+
+
+Version v1.5.3.1; changes since v1.5.3:
+---------------------------------------
+
+Junio C Hamano (2):
+      Typofix: 1.5.3 release notes
+      GIT 1.5.3.1: obsolete git-p4 in RPM spec file.
+
+
+Version v1.5.3; changes since v1.5.3-rc7:
+-----------------------------------------
+
+Alex Riesen (1):
+      Temporary fix for stack smashing in mailinfo
+
+Carlos Rica (1):
+      git-tag: Fix -l option to use better shell style globs.
+
+Eric Wong (1):
+      git-svn: fix dcommit clobbering upstream when committing multiple changes
+
+Giuseppe Bilotta (2):
+      git-filter-branch: more detailed USAGE
+      git-filter-branch: document --original option
+
+Joe Perches (1):
+      git-send-email --cc-cmd
+
+Johannes Schindelin (5):
+      completion: also complete git-log's --left-right and --cherry-pick option
+      filter-branch: fix remnants of old syntax in documentation
+      rebase -i: mention the option to split commits in the man page
+      filter-branch: provide the convenience functions also for commit filters
+      filter-branch: introduce convenience function "skip_commit"
+
+Johannes Sixt (1):
+      rebase -m: Fix incorrect short-logs of already applied commits.
+
+Junio C Hamano (13):
+      git-daemon(1): assorted improvements.
+      ls-files --error-unmatch: do not barf if the same pattern is given twice.
+      Makefile: do not allow gnu make to remove test-*.o files
+      filter-branch: make sure orig_namespace ends with a single slash.
+      git-init: autodetect core.symlinks
+      Make "git-log --" without paths behave the same as "git-log" without --
+      Hopefully the final update to draft release notes for 1.5.3.
+      git-svn: Protect against "diff.color = true".
+      git-diff: resurrect the traditional empty "diff --git" behaviour
+      Avoid one-or-more (\+) non BRE in sed scripts.
+      Documentation: minor AsciiDoc mark-up fixes.
+      Update my contact address as the maintainer.
+      GIT 1.5.3
+
+Luben Tuikov (1):
+      URL: allow port specification in ssh:// URLs
+
+Miles Bader (1):
+      Make git-archimport log entries more consistent
+
+Nicolas Pitre (1):
+      fix same sized delta logic
+
+Paul Mackerras (1):
+      gitk: Fix bug causing undefined variable error when cherry-picking
+
+Robin Rosenberg (1):
+      Mention -m as an abbreviation for --merge
+
+Shawn O. Pearce (1):
+      Teach bash about completing arguments for git-tag
+
+Tom Clarke (1):
+      Fixing comment in merge strategies
+
+
+Version v1.5.3-rc7; changes since v1.5.3-rc6:
+---------------------------------------------
+
+Alex Riesen (1):
+      Fix git-remote for ActiveState Perl
+
+Alexandre Julliard (1):
+      git.el: Avoid a lisp error when there's no current branch (detached HEAD).
+
+Brian Hetro (5):
+      Documentation: For consistency, use CVS instead of cvs.
+      Documentation: Correct various misspellings and typos.
+      Make usage documentation for git-am consistent.
+      Make usage documentation for git-add consistent.
+      When nothing to git-commit, honor the git-status color setting.
+
+David Kastrup (4):
+      diff-delta.c: Fix broken skip calculation.
+      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
+      Documentation/user-manual.txt: fix a few omissions of gitlink commands.
+      git-svn.txt: fix an obvious misspelling.
+
+David Kågedal (1):
+      git.el: Added colors for dark background
+
+Eric Wong (2):
+      git-svn: update documentation with CAVEATS section
+      git-svn: dcommit prints out the URL to be committed to
+
+J. Bruce Fields (5):
+      user-manual: edit "ignoring files" for conciseness
+      user-manual: minor editing for conciseness
+      user-manual: introduce the word "commit" earlier
+      user-manual: use pithier example commit
+      user-manual: fix incorrect header level
+
+Jakub Narębski (1):
+      gitweb: Fix escaping HTML of project owner in 'projects_list' and 'summary' views
+
+Jari Aalto (1):
+      git-tag(1): Remove duplicate text
+
+Johannes Schindelin (2):
+      rebase -i: fix squashing corner case
+      name-rev: Fix non-shortest description
+
+Junio C Hamano (11):
+      blame: check return value from read_sha1_file()
+      pack-objects: check return value from read_sha1_file()
+      RelNotes draft for 1.5.3 update.
+      Fix initialization of a bare repository
+      git --bare cmd: do not unconditionally nuke GIT_DIR
+      git-merge: do up-to-date check also for all strategies
+      Porcelain level "log" family should recurse when diffing.
+      "format-patch --root rev" is the way to show everything.
+      Documentation/git-diff: A..B and A...B cannot take tree-ishes
+      format-patch documentation: reword to hint "--root <one-commit>" more clearly
+      GIT 1.5.3-rc7
+
+Linus Torvalds (1):
+      Fix racy-git handling in git-write-tree.
+
+Mike Hommey (1):
+      Describe two-dot and three-dot notation for diff endpoints.
+
+Petr Baudis (4):
+      gitweb: Fix searchbox positioning
+      gitweb: Lift any characters restriction on searched strings
+      git-add: Make the "tried to add ignored file" error message less confusing
+      git-add: Make the filename globbing note a bit clearer
+
+Quy Tonthat (1):
+      Fix breakage in git-rev-list.txt
+
+René Scharfe (1):
+      Documentation: update tar.umask default
+
+Sean Estabrooks (1):
+      Reset terminal attributes when terminating git send-email
+
+Shawn O. Pearce (13):
+      git-gui: Fix window manager problems on ion3
+      git-gui: Allow git-merge to use branch names in conflict markers
+      git-gui: Paper bag fix "Stage Hunk For Commit" in diff context menu
+      git-gui: Fix "unoptimized loading" to not cause git-gui to crash
+      Fix new-workdir (again) to work on bare repositories
+      Suggest unsetting core.bare when using new-workdir on a bare repository
+      Update bash completion with new 1.5.3 command line options
+      Teach bash to complete ref arguments to git-describe
+      Teach bash about git-submodule and its subcommands
+      git-gui: Refactor diff pane popup support for future improvements
+      git-gui: Do not offer to stage three-way diff hunks into the index
+      git-gui: Correct 'git gui blame' in a subdirectory
+      Don't segfault if we failed to inflate a packed delta
+
+Simon Hausmann (2):
+      git-p4: Make 'git-p4 branches' work after an initial clone with git clone from an origin-updated repository.
+      git-p4: Fix warnings about non-existant refs/remotes/p4/HEAD ref when running git-p4 sync the first time after a git clone.
+
+Stefan Sperling (1):
+      Document -u option in git-svnimport man page
+
+martin f. krafft (2):
+      git-svn init/clone --stdlayout option to default-init trunk/tags/branches
+      Install man3 manpages to $PREFIX/share/man/man3 even for site installs
+
+
+Version v1.5.3-rc6; changes since v1.5.3-rc5:
+---------------------------------------------
+
+Alex Riesen (2):
+      Fix whitespace in "Format of STDIN stream" of fast-import
+      Avoid using va_copy in fast-import: it seems to be unportable.
+
+Arjen Laarhoven (2):
+      gitk: Make the date/time display configurable
+      t1301-shared-repo.sh: fix 'stat' portability issue
+
+Brian Downing (1):
+      Clarify actual behavior of 'git add' and ignored files
+
+Brian Gernhardt (1):
+      Minor clarifications to git-filter-branch usage and doc
+
+Dave Watson (1):
+      Fix misspelling of 'suppress' in docs
+
+Eric Wong (1):
+      git-svn: fix log with single revision against a non-HEAD branch
+
+Johannes Sixt (1):
+      gitk: Handle 'copy from' and 'copy to' in diff headers.
+
+Junio C Hamano (10):
+      Fix "git add -u" data corruption.
+      GIT 1.5.2.5
+      Fix read-tree merging more than 3 trees using 3-way merge
+      Update documentation links for older releases.
+      git-clone: allow --bare clone
+      Documentation/git-rebase: fix an example
+      Clean-up read-tree error condition.
+      fast-import pull request
+      git clone: do not issue warning while cloning locally across filesystems
+      GIT 1.5.3-rc6
+
+Lars Hjemli (1):
+      git-submodule: re-enable 'status' as the default subcommand
+
+Linus Torvalds (2):
+      Make thin-pack generation subproject aware.
+      Take binary diffs into account for "git rebase"
+
+Lukas Sandström (1):
+      Add the word reflog to Documentation/config.txt:core.logAllRefUpdates
+
+Mark Levedahl (1):
+      git-completion.bash - add support for git-bundle
+
+Matthieu Moy (1):
+      Add and document a global --no-pager option for git.
+
+Mike Hommey (1):
+      Clarify commit-tree documentation
+
+Nicolas Pitre (1):
+      pack-objects: remove bogus arguments to delta_cacheable()
+
+Paul Mackerras (3):
+      gitk: Fix warning when removing a branch
+      gitk: Fix bug in fix for warning when removing a branch
+      gitk: Add a window to list branches, tags and other references
+
+René Scharfe (1):
+      path-list.c: always free strdup'ed paths
+
+Salikh Zakirov (1):
+      git-add -u paths... now works from subdirectory
+
+Sean Estabrooks (1):
+      Fix small typo in git send-email man page.
+
+Shawn O. Pearce (11):
+      git-gui: Avoid Tcl error in popup menu on diff viewer
+      Actually allow TAG_FIXUP branches in fast-import
+      Use handy ALLOC_GROW macro in fast-import when possible
+      Teach fast-import to ignore lines starting with '#'
+      Make trailing LF following fast-import `data` commands optional
+      Make trailing LF optional for all fast-import commands
+      Allow frontends to bidirectionally communicate with fast-import
+      Generate crash reports on die in fast-import
+      Include recent command history in fast-import crash reports
+      Correct documentation of 'reflog show' to explain it shows HEAD
+      Don't allow combination of -g and --reverse as it doesn't work
+
+Steffen Prohaska (1):
+      gitk: Let user easily specify lines of context in diff view
+
+Steven Grimm (1):
+      Document what the stage numbers in the :$n:path syntax mean.
+
+Sven Verdoolaege (1):
+      git-apply: apply submodule changes
+
+Väinö Järvelä (1):
+      git-gui: Added support for OS X right click
+
+
+Version v1.5.3-rc5; changes since v1.5.3-rc4:
+---------------------------------------------
+
+Adam Roben (1):
+      Documentation/git-svn: how to clone a git-svn-created repository
+
+Alberto Bertogli (1):
+      Allow git-svnimport to take "" as the trunk directory.
+
+Alex Riesen (3):
+      Fix filehandle leak in "git branch -D"
+      gitk: Continue and show error message in new repos
+      gitk: Show an error and exit if no .git could be found
+
+Alexandre Julliard (3):
+      git.el: Add support for interactive diffs.
+      git.el: Always set the current directory in the git-diff buffer.
+      git-add: Add support for --refresh option.
+
+Brian Downing (2):
+      cvsserver: Fix for work trees
+      Add read_cache to builtin-check-attr
+
+Brian Gernhardt (1):
+      Fix t5701-clone-local for white space from wc
+
+Carlos Rica (3):
+      Make git tag a builtin.
+      builtin-tag.c: Fix two memory leaks and minor notation changes.
+      Make verify-tag a builtin.
+
+David Kastrup (6):
+      Documentation/git-commit.txt: correct bad list formatting.
+      Add support for an info version of the user manual
+      INSTALL: explain info installation and dependencies.
+      Documentation/Makefile: remove cmd-list.made before redirecting to it.
+      git-sh-setup.sh: make GIT_DIR absolute
+      Add a test for git-commit being confused by relative GIT_DIR
+
+Gerrit Pape (1):
+      git-am: initialize variable $resume on startup
+
+J. Bruce Fields (4):
+      user-manual: update for new default --track behavior
+      user-manual: mention git-gui
+      documentation: use the word "index" in the git-add manual page
+      documentation: use the word "index" in the git-commit man page
+
+Jakub Narębski (1):
+      gitweb: Fix handling of $file_name in feed generation
+
+Johannes Schindelin (4):
+      launch_editor(): Heed GIT_EDITOR and core.editor settings
+      Teach "git stripspace" the --strip-comments option
+      checkout-index needs a working tree
+      Reinstate the old behaviour when GIT_DIR is set and GIT_WORK_TREE is unset
+
+Junio C Hamano (24):
+      git-clone: aggressively optimize local clone behaviour.
+      git-completion: add "git stash"
+      INSTALL: add warning on docbook-xsl 1.72 and 1.73
+      unpack-trees.c: assume submodules are clean during check-out
+      Fix install-doc-quick target
+      user-manual: mention git stash
+      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
+      pager: find out pager setting from configuration
+      Fix "make GZ=1 quick-install-doc"
+      Reorder the list of commands in the manual.
+      Fix formatting of git-blame documentation.
+      Fix an illustration in git-rev-parse.txt
+      tweak manpage formatting
+      Revert "tweak manpage formatting"
+      Optimize "diff --cached" performance.
+      allow git-bundle to create bottomless bundle
+      allow git-bundle to create bottomless bundle
+      t3404: fix "fake-editor"
+      builtin-bundle create - use lock_file
+      git-diff: squelch "empty" diffs
+      merge-recursive: do not rudely die on binary merge
+      attr.c: refactoring
+      attr.c: read .gitattributes from index as well.
+      GIT 1.5.3-rc5
+
+Jyotirmoy Bhattacharya (1):
+      Fixed git-push manpage
+
+Linus Torvalds (8):
+      connect: accept file:// URL scheme
+      apply: remove directory that becomes empty by renaming the last file away
+      Start moving unpack-trees to "struct tree_desc"
+      Fix "git commit directory/" performance anomaly
+      Move old index entry removal from "unpack_trees()" into the individual functions
+      Optimize the common cases of git-read-tree
+      Optimize the two-way merge of git-read-tree too
+      Optimize the three-way merge of git-read-tree
+
+Luiz Fernando N. Capitulino (3):
+      Avoid ambiguous error message if pack.idx header is wrong
+      Introduces xmkstemp()
+      Use xmkstemp() instead of mkstemp()
+
+Marco Costalba (1):
+      Add --log-size to git log to print message size
+
+Mark Levedahl (5):
+      builtin-bundle.c - use stream buffered input for rev-list
+      builtin-bundle - use buffered reads for bundle header
+      gitk: Enable selected patch text on Windows
+      gitk: Handle MouseWheel events on Windows
+      t3902 - skip test if file system doesn't support HT in names
+
+Paul Mackerras (4):
+      gitk: Add a context menu for file list entries
+      gitk: Fix bug causing the "can't unset idinlist(...)" error
+      gitk: Fix bug introduced in commit 67a4f1a7
+      gitk: Fix bug causing Tcl error when updating graph
+
+Randal L. Schwartz (1):
+      add "test-absolute-path" to .gitignore
+
+Reece H. Dunn (1):
+      git-p4: Fix the sorting of changelists when cloning a Perforce repository.
+
+René Scharfe (2):
+      diff: don't run pager if user asked for a diff style exit code
+      diff: squelch empty diffs even more
+
+Shawn O. Pearce (4):
+      Document GIT_SSH environment variable alongside other variables
+      Teach update-paranoid how to store ACLs organized by groups
+      Teach the update-paranoid to look at file differences
+      Use the empty tree for base diff in paranoid-update on new branches
+
+Simon Hausmann (2):
+      git-p4: Fix support for symlinks.
+      git-p4: Fix git-p4 submit to include only changed files in the perforce submit template.
+
+Steffen Prohaska (1):
+      Improved hint on how to set identity
+
+Steve Hoelzer (2):
+      git-stash documentation: stash numbering starts at zero, not one
+      git-stash documentation: add missing backtick
+
+Steven Grimm (1):
+      Add a note about the index being updated by git-status in some cases
+
+Uwe Kleine-König (3):
+      send-email: teach sanitize_address to do rfc2047 quoting
+      send-email: rfc822 forbids using <address@domain> without a non-empty "phrase"
+      send-email: get all the quoting of realnames right
+
+
+Version v1.5.3-rc4; changes since v1.5.3-rc3:
+---------------------------------------------
+
+Alex Riesen (4):
+      Add an option to specify a file to config builtin
+      Add a test for git-config --file
+      Make verse of git-config manpage more readable
+      Hack git-add--interactive to make it work with ActiveState Perl
+
+Alexandre Julliard (2):
+      git.el: Avoid using ewoc-set-data for compatibility with Emacs 21.
+      git.el: Take into account the core.excludesfile config option.
+
+Bradford C. Smith (2):
+      fully resolve symlinks when creating lockfiles
+      use lockfile.c routines in git_commit_set_multivar()
+
+Brian Gernhardt (1):
+      Document commit.template configuration variable.
+
+Christian Couder (1):
+      rev-list --bisect: fix allocation of "int*" instead of "int".
+
+Christian Stimming (1):
+      git-gui: Unify wording to say "to stage" instead of "to add"
+
+David Kastrup (3):
+      Makefile: use $(FIND) instead of find
+      git-sh-setup.sh: make GIT_EDITOR/core.editor/VISUAL/EDITOR accept commands
+      When generating manpages, delete outdated targets first.
+
+David Soria Parra (1):
+      Documentation/gitattributes.txt: typofix
+
+David Symonds (1):
+      Fix documentation for core.gitproxy to reflect code
+
+Han-Wen Nienhuys (2):
+      Sort output of "p4 change" in incremental import before further
+      Fix style nit in Python slicing.
+
+Jakub Narębski (3):
+      gitweb: Show submodule entries in the 'tree' view
+      gitweb: Simplify 'opt' parameter validation, add "no merges" feeds
+      gitweb: Allow for multivalued parameters passed to href subroutine
+
+Jeff King (2):
+      Documentation/git-diff: remove -r from --name-status example
+      git-diff: turn on recursion by default
+
+Jens Axboe (1):
+      --base-path-relaxed option
+
+Johannes Schindelin (11):
+      rebase -i: fix overzealous output redirection
+      rebase -i: fix interrupted squashing
+      white space fixes in setup.c
+      Add is_absolute_path() and make_absolute_path()
+      Add functions get_relative_cwd() and is_inside_dir()
+      Add set_git_dir() function
+      Clean up work-tree handling
+      get_relative_cwd(): clarify why it handles dir == NULL
+      rebase -i: ignore patches that are already in the upstream
+      rebase -i: fix for optional [branch] parameter
+      read-tree: remove unnecessary call to setup_git_directory()
+
+Julian Phillips (1):
+      git-gui: Handle git versions of the form n.n.n.GIT
+
+Junio C Hamano (23):
+      Make sure git-stash works from subdirectory.
+      gitweb: fix broken snapshot
+      git-submodule module_name: avoid using unwieldy "value_regexp" feature.
+      git-submodule: remove redundant call to git-describe
+      When locking in a symlinked repository, try to lock the original.
+      git_mkstemp(): be careful not to overflow the path buffer.
+      Update description of -z option.
+      git-stash: do not remove a ref by hand.
+      Add test for symlinked configuration file updates.
+      Fix git-stash apply --index
+      git-stash apply --index: optimize postprocessing
+      log_ref_write() -- do not chomp reflog message at the first LF
+      symbolic-ref, update-ref: do not refuse reflog message with LF
+      rebase: try not to munge commit log message
+      add_file_to_index: skip rehashing if the cached stat already matches
+      Unset GIT_EDITOR while running tests.
+      git.c: execution path
+      git-commit.sh: Permit the --amend message to be given with -m/-c/-C/-F.
+      RelNotes 1.5.3 updates before -rc4
+      Fix work-tree related breakages
+      gitweb: do not choke on recursive symlink
+      Fix bogus use of printf in t3700 test
+      GIT 1.5.3-rc4
+
+Kristian Høgsberg (1):
+      Add test case for basic commit functionality.
+
+Mark Levedahl (1):
+      gitk: Ignore ctrl-z as EOF on windows
+
+Nanako Shiraishi (1):
+      git-stash: Make sure reflog is created for refs/stash
+
+Nguyễn Thái Ngọc Duy (1):
+      git-write-tree should not crash if prefix does not exist
+
+Paul Mackerras (4):
+      gitk: Show changes in index and changes in working directory separately
+      gitk: Make the fake commit for the index changes green rather than magenta
+      gitk: Wait for the window to become visible after creating it
+      gitk: Fix bugs in the Find function
+
+Robert Ewald (1):
+      git-svn: Translate invalid characters in refname
+
+Robert Schiele (2):
+      add option to find zlib in custom path
+      make the name of the library directory a config option
+
+Robin Rosenberg (1):
+      Document --unified/-U option
+
+Seth Falcon (1):
+      Rename git-rebase interactive buffer: todo => git-rebase-todo
+
+Shawn O. Pearce (49):
+      git-gui: Skip -dirty suffix on core git versions
+      git-gui: Brown paper bag "dirty git version fix"
+      git-gui: Always disable the Tcl EOF character when reading
+      git-gui: Delay searching for 'nice' until its really asked for
+      git-gui: Don't crash in ask_popup if we haven't mapped main window yet
+      git-gui: Change our initial GC hint to be an estimate
+      git-gui: Let the user continue even if we cannot understand git version
+      git-gui: Delay the GC hint until after we are running
+      git-gui: Move feature option selection before GIT_DIR init
+      git-gui: Allow blame/browser subcommands on bare repositories
+      git-gui: Allow browser subcommand to start in subdirectory
+      git-gui: Allow users to browse any branch, not just the current one
+      git-gui: Clarify the visualize history menu options
+      git-gui: Increase the default height of the revision picker
+      git-gui: Convert merge dialog to use class system
+      Don't offer my special Tools/Migrate hack unless in multicommit
+      git-gui: Bind Ctrl/Cmd-M to merge action
+      git-gui: Avoid unnecessary global statements when possible
+      git-gui: Translate standard encoding names to Tcl ones
+      git-gui: Don't show blame tooltips that we have no data for
+      git-gui: Completely remove support for creating octopus merges
+      git-gui: Automatically backup the user's commit buffer
+      git-gui: Save the merge base during checkout_op processing
+      git-gui: Factor out common fast-forward merge case
+      git-gui: Simplify error case for unsupported merge types
+      git-gui: Skip unnecessary read-tree work during checkout
+      git-gui: Internally allow fetch without storing for future pull support
+      git-gui: Completely remove my Tools/Migrate hack
+      git-gui: Fix unnecessary fast-forward during checkout
+      gitk: Bind keyboard actions to the command key on Mac OS
+      git-gui: Clarify meaning of add tracked menu option
+      git-gui: Paper bag fix quitting crash after commit
+      git-gui: Refactor diff popup into a procedure to ease i18n work
+      git-gui: Refactor current branch menu items to make i18n easier
+      git-gui: Avoid unnecessary symbolic-ref call during checkout
+      git-gui: Save remote urls obtained from config/remotes setup
+      git-gui: Display commit/tag/remote info in tooltip of revision picker
+      git-gui: Show ref last update times in revision chooser tooltips
+      git-gui: Replace merge dialog with our revision picker widget
+      git-gui: Cleanup bindings within merge dialog
+      git-gui: Format tracking branch merges as though they were pulls
+      git-gui: Remove usernames from absolute SSH urls during merging
+      git-gui: Don't kill modified commit message buffer with merge templates
+      git-gui: Honor core.excludesfile when listing extra files
+      git-gui: Use progress bar while resetting/aborting files
+      git-gui: Make sure remotes are loaded when picking revisions
+      git-gui: Don't offer to stage hunks from untracked files
+      git-gui: Use more modern looking icons in the tree browser
+      git-gui: Minor refactoring of merge command line in merge support
+
+Simon Hausmann (1):
+      git-p4: Fix p4 user cache population on Windows.
+
+Steve Hoelzer (1):
+      Try to be consistent with capitalization in the documentation
+
+Thomas Schwinge (2):
+      Don't rely on unspecified behavior
+      Support building on GNU/Hurd
+
+
+Version v1.5.3-rc3; changes since v1.5.3-rc2:
+---------------------------------------------
+
+Adam Roben (1):
+      Add GIT_EDITOR environment and core.editor configuration variables
+
+Alexandre Julliard (2):
+      git.el: Support for incremental status updates.
+      git.el: Pass an explicit argument to enable smerge-mode.
+
+Carlos Rica (1):
+      Rename read_pipe() with read_fd() and make its buffer nul-terminated.
+
+David Kastrup (2):
+      contrib/emacs/Makefile: Also install .el files.
+      Documentation/gitignore.txt: Fix the seriously misleading priority explanation
+
+Eric Wong (1):
+      git-svn: fix commiting renames over DAV with funky file names
+
+Francis Moreau (1):
+      Fix git-branch documentation when using remote refs
+
+Jakub Narębski (3):
+      gitweb cleanup: Move @diff_opts declaration earlier
+      gitweb: Fix support for legacy gitweb config for snapshots
+      gitweb: More detailed error messages for snapshot format
+
+Jim Meyering (1):
+      pretty-options.txt: tiny doc fix
+
+Johannes Schindelin (11):
+      filter-branch: get rid of "set -e"
+      rebase -i: call editor just once for a multi-squash
+      fsck --lost-found: write blob's contents, not their SHA-1
+      mailinfo: fix 'fatal: cannot convert from utf-8 to utf-8'
+      Shut "git rebase -i" up when no --verbose was given
+      rebase -i: exchange all "if [ .. ]" by "if test .."
+      filter-branch: Big syntax change; support rewriting multiple refs
+      Teach revision machinery about --no-walk
+      git log -g: Complain, but do not fail, when no reflogs are there
+      Teach approxidate() to understand "never"
+      git am: skip pine's internal folder data
+
+Julian Phillips (1):
+      Force listingblocks to be monospaced in manpages
+
+Junio C Hamano (8):
+      Update INSTALL
+      Do not expect unlink(2) to fail on a directory.
+      Fix VISUAL/EDITOR preference order in Documentation/config.txt.
+      Synonyms: -i == --regexp-ignore-case, -E == --extended-regexp
+      Mark user-manual as UTF-8
+      user-manual: fix typolets.
+      t9200: Be careful when checking CVS/Entries
+      GIT 1.5.3-rc3
+
+Kumar Gala (1):
+      send-email: Update regex parsing for pine aliases
+
+Linus Torvalds (2):
+      Do a better job at guessing unknown character sets
+      Fix up duplicate parents removal
+
+Marco Costalba (1):
+      Avoid to duplicate commit message when is not encoded
+
+Matt McCutchen (1):
+      gitweb: snapshot cleanups & support for offering multiple formats
+
+Nanako Shiraishi (1):
+      Document "git stash message..."
+
+René Scharfe (2):
+      filter-branch: fix dash complaining about "Missing '))'"
+      cleanup unpack-trees.c: shrink struct tree_entry_list
+
+Richard MUSIL (1):
+      git-svn: Minimalistic patch which allows svn usernames with space(s).
+
+Robin Rosenberg (1):
+      cvsexportcommit: avoid racy CVS problem.
+
+Scott Lamb (2):
+      git-p4: use subprocess in p4CmdList
+      git-p4: input to "p4 files" by stdin instead of arguments
+
+Simon Hausmann (3):
+      git-p4: Cleanup, make listExistingP4Branches a global function for later use.
+      git-p4: Fix upstream branch detection for submit/rebase with multiple branches.
+      git-p4: Cleanup, used common function for listing imported p4 branches
+
+Steven Grimm (2):
+      Document how to tell git to not launch a pager
+      Teach git-commit about commit message templates.
+
+Sven Verdoolaege (1):
+      unpack-trees.c: assume submodules are clean during check-out
+
+
+Version v1.5.3-rc2; changes since v1.5.3-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Fix git-rebase -i to allow squashing of fast-forwardable commits
+
+Emil Medve (1):
+      Use $(RM) in Makefiles instead of 'rm -f'
+
+Eric Wong (1):
+      git-svn: remove leading slashes from fetch lines in the generate config
+
+Greg KH (1):
+      make git-send-email.perl handle email addresses with no names when Email::Valid is present
+
+Jakub Narębski (3):
+      Update git-merge documentation.
+      Document long options '--message=<msg>' and '--no-commit'
+      Document git commit --untracked-files and --verbose
+
+Jim Meyering (1):
+      git-cvsserver: detect/diagnose write failure, etc.
+
+Josh Triplett (1):
+      Remove useless uses of cat, and replace with filename arguments
+
+Junio C Hamano (7):
+      Make show_rfc2822_date() just another date output format.
+      Wire new date formats to --date=<format> parser.
+      Document new --date=<format>
+      Add contrib/stats/mailmap.pl script
+      Update .mailmap
+      Documentation/git-commit-tree: remove description of a nonexistent limitation
+      GIT v1.5.3-rc2
+
+Marius Storm-Olsen (1):
+      Fix git-p4 on Windows to not use the Posix sysconf function.
+
+Matthieu Moy (1):
+      More permissive "git-rm --cached" behavior without -f.
+
+Nicolas Pitre (1):
+      Pack-objects: properly initialize the depth value
+
+Paul Mackerras (1):
+      gitk: Fix bug introduced by previous commit
+
+Peter Hagervall (1):
+      Make every builtin-*.c file #include "builtin.h"
+
+Robin Rosenberg (1):
+      Support output ISO 8601 format dates
+
+Sean Estabrooks (3):
+      Remove "WITH_P4IMPORT" knob from the Makefile
+      Remove p4 rpm from git.spec.in.
+      Demote git-p4import to contrib status.
+
+Shawn O. Pearce (2):
+      Correct trivial typo in fast-import documentation
+      Teach fast-import to recursively copy files/directories
+
+Stephen Rothwell (1):
+      send-email: discard blank around address in extract_valid_address as well.
+
+Sven Verdoolaege (1):
+      lockfile.c: schedule remove_lock_file only once.
+
+
+Version v1.5.3-rc1; changes since v1.5.3-rc0:
+---------------------------------------------
+
+Alecs King (1):
+      fix remote.origin.url in tutorial.txt
+
+Alex Riesen (4):
+      Handle missing prefix for "Subject:" as if no prefix given
+      Handle format.subjectprefix for every command which accepts --pretty
+      Fix t5516 to create test repo without hooks
+      Add -v|--verbose to git remote to show remote url
+
+Andrew Ruder (2):
+      Remove USE_PAGER from git-pickaxe and git-annotate
+      Add urls.txt to git-clone man page
+
+Andy Parkins (1):
+      user-manual: grammar and style fixes
+
+Brian Downing (10):
+      pack-objects: Prefer shallower deltas if the size is equal
+      gitk: Fix for tree view ending in nested directories
+      Pack information tool
+      Correct shebang line for contrib/stats/packinfo.pl
+      Don't try to delta if target is much smaller than source
+      Support fetching the memory usage of a delta index
+      Add functions for parsing integers with size suffixes
+      Add pack-objects window memory usage limit
+      Add --window-memory option to git-repack
+      Add documentation for --window-memory, pack.windowMemory
+
+Brian Gernhardt (1):
+      Add core.pager config variable.
+
+CJ van den Berg (1):
+      git-submodule: Fix two instances of the same typo
+
+Carlos Rica (5):
+      t7004: Skip tests for signed tags in an old version of gpg.
+      t0030: Remove repeated instructions and add missing &&
+      t0030: Add tests with consecutive text lines and others with spaces added.
+      t7004: Add tests for the git tag -n option.
+      Function stripspace now gets a buffer instead file descriptors.
+
+Daniel Barkalow (2):
+      Add allocation and freeing functions for struct refs
+      Some cosmetic changes to remote library
+
+David Kastrup (1):
+      Add missing functions to contrib/emacs/vc-git.el
+
+Eric Wong (1):
+      git-svn: fix blocking with svn:// servers after do_switch
+
+Frank Lichtenheld (1):
+      cvsserver: always initialize state in argsplit()
+
+Gerrit Pape (2):
+      git-gui: properly popup error if gitk should be started but is not installed
+      git-commit: don't add multiple Signed-off-by: from the same identity
+
+J. Bruce Fields (2):
+      tutorial: Fix typo
+      user-manual: more explanation of push and pull usage
+
+James Bowes (1):
+      stash: allow running from a subdirectory
+
+Jim Meyering (1):
+      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long
+
+Johannes Schindelin (24):
+      diff --no-index: fix --name-status with added files
+      glossary: add 'reflog'
+      Document git-filter-branch
+      Add diff-option --ext-diff
+      filter-branch: add a test for the commit removal example
+      filter-branch: make output nicer
+      filter-branch: a few more touch ups to the man page
+      filter-branch documentation: clarify which filters are eval'ed
+      filter-branch: fail gracefully when a filter fails
+      Future-proof source for changes in xdemitconf_t
+      Teach git-stash to "apply --index"
+      Enable "git rerere" by the config variable rerere.enabled
+      git-branch: default to --track
+      Fix "apply --reverse" with regard to whitespace
+      branch.autosetupmerge: allow boolean values, or "all"
+      rebase -i: handle --continue more like non-interactive rebase
+      rebase -i: actually show the diffstat when being verbose
+      rebase -i: remember the settings of -v, -s and -p when interrupted
+      rebase -i: put a nice warning into the todo list
+      rerere: record resolution even if file is not in merge base
+      Fix core.sharedRepository = 2
+      Fix --cherry-pick with given paths
+      Add for_each_remote() function, and extend remote_find_tracking()
+      branch --track: code cleanup and saner handling of local branches
+
+Johannes Sixt (3):
+      filter-branch: Avoid an error message in the map function.
+      filter-branch documentation: some more touch-ups.
+      Allow rebase to run if upstream is completely merged
+
+Jonas Fonseca (1):
+      fsck --lost-found writes to subdirectories in .git/lost-found/
+
+Junio C Hamano (22):
+      Update draft Release Notes for 1.5.3
+      Update reflog message created for stashes
+      Do not check if getcwd() result begins with a slash.
+      Fix git-stash(1) markup.
+      git-stash: allow more descriptive reminder message when saving
+      Introduce diff_filespec_is_binary()
+      Per-path attribute based hunk header selection.
+      Fix configuration syntax to specify customized hunk header patterns.
+      diff: honor binariness specified in attributes
+      gitweb: make repeated calls to git_get_project_owner() bearable
+      diff.c: make built-in hunk header pattern a separate table
+      git-gui: use "blame -w -C -C" for "where did it come from, originally?"
+      git-stash: try reusing cached stat info as much as possible
+      Fix merge-one-file for our-side-added/our-side-removed cases
+      Document custom hunk header selection
+      revision.c: remove duplicated parents after history simplification
+      Revert 88494423 (removal of duplicate parents in the output codepath)
+      Re-code builtin-branch.c in UTF-8
+      Teach read-tree 2-way merge to ignore intermediate symlinks
+      GIT 1.5.2.4
+      Update list of older git docs
+      GIT v1.5.3-rc1
+
+Lars Hjemli (1):
+      git-submodule(1): update description and key names
+
+Marcus Fritzsch (1):
+      Fixed a formulation mistake in Documentation/user-manual.txt
+
+Matt Kraai (3):
+      Prefer EMAIL to username@hostname.
+      Change "added.moved or removed" to "added, moved or removed" in
+      Add [verse] to the SYNOPSIS section of git-submodule.txt.
+
+Matt McCutchen (3):
+      gitweb: make search form generate pathinfo-style URLs
+      gitweb: make "No commits" in project list gray, not bold green
+      Makefile: rebuild git.o on version change, clean up git$X flags
+
+Matthias Lederhofer (3):
+      git-init: set core.worktree if GIT_WORK_TREE is specified
+      git-clone: split up long &&-command-chain and use a function for cleanup
+      make git-clone GIT_WORK_TREE aware
+
+Michael Hendricks (2):
+      git-send-email: allow an email alias for --from
+      gitweb: configurable width for the projects list Description column
+
+Miklos Vajna (3):
+      Document -<n> for git-format-patch
+      gitweb: prefer git_get_project_owner() over get_file_owner()
+      gitweb: new cgi parameter: opt
+
+Nicolas Pitre (3):
+      apply delta depth bias to already deltified objects
+      script to display a distribution of longest common hash prefixes
+      reduce git-pack-objects memory usage a little more
+
+Paul Mackerras (6):
+      gitk: Fix the find and highlight functions
+      gitk: Fix bug in the anc_or_desc routine
+      gitk: Remove the unused stopfindproc function
+      gitk: Fix bug causing "can't read commitrow(0,n)" error
+      gitk: Use git log and add support for --left-right
+      gitk: Improve handling of -- and ambiguous arguments
+
+René Scharfe (1):
+      diff-lib.c: don't strdup twice
+
+Sean Estabrooks (1):
+      Alter git-checkout reflog message to include "from" branch
+
+Shawn O. Pearce (46):
+      git-gui: Unlock the index when cancelling merge dialog
+      git-gui: Start blame windows as tall as possible
+      git-gui: Correct resizing of remote branch delete dialog
+      git-gui: Don't bind F5/M1-R in all windows
+      git-gui: Bind M1-P to push action
+      git-gui: Include a Push action on the left toolbar
+      git-gui: Ensure windows shortcuts always have .bat extension
+      git-gui: Honor rerere.enabled configuration option
+      git-gui: New Git version check support routine
+      git-gui: Skip nicknames when selecting author initials
+      git-gui: Teach class system to support [$this cmd] syntax
+      git-gui: Abstract the revision picker into a mega widget
+      git-gui: Refactor the delete branch dialog to use class system
+      git-gui: Optimize for newstyle refs/remotes layout
+      git-gui: Maintain remote and source ref for tracking branches
+      git-gui: Allow users to match remote branch names locally
+      git-gui: Fast-forward existing branch in branch create dialog
+      git-gui: Enhance choose_rev to handle hundreds of branches
+      git-gui: Sort tags descending by tagger date
+      git-gui: Option to default new branches to match tracking branches
+      git-gui: Automatically refresh tracking branches when needed
+      git-gui: Better handling of detached HEAD
+      git-gui: Refactor our ui_status_value update technique
+      git-gui: Refactor branch switch to support detached head
+      git-gui: Unabbreviate commit SHA-1s prior to display
+      git-gui: Default selection to first matching ref
+      git-gui: Allow double-click in checkout dialog to start checkout
+      git-gui: Extract blame viewer status bar into mega-widget
+      git-gui: Change the main window progress bar to use status_bar
+      git-gui: Show a progress meter for checking out files
+      git-gui: Always use absolute path to all git executables
+      git-gui: Correct gitk installation location
+      git-gui: Assume unfound commands are known by git wrapper
+      git-gui: Treat `git version` as `git --version`
+      git-gui: Perform our own magic shbang detection on Windows
+      git-gui: Teach console widget to use git_read
+      git-gui: Improve the Windows and Mac OS X shortcut creators
+      git-gui: Correct ls-tree buffering problem in browser
+      git-gui: Don't linewrap within console windows
+      git-gui: Paper bag fix for Cygwin shortcut creation
+      git-gui: Use sh.exe in Cygwin shortcuts
+      git-gui: Include a space in Cygwin shortcut command lines
+      Clarify documentation of fast-import's D subcommand
+      Support wholesale directory renames in fast-import
+      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
+      git-gui: Change prior tree SHA-1 verification to use git_read
+
+Steffen Prohaska (1):
+      filter-branch: added missing warn function
+
+Steven Walter (1):
+      Documentation for git-log --follow
+
+Uwe Kleine-König (2):
+      stash: end commit log with a newline
+      repack: don't report "Nothing new to pack." if -q is given
+
+William Pursell (1):
+      user-manual: fix directory name in git-archive example
+
+
+Version v1.5.3-rc0; changes since v1.5.2.5:
+-------------------------------------------
+
+Adam Roben (3):
+      git-send-email: Add --threaded option
+      git-send-email: make options easier to configure.
+      format-patch: Add format.subjectprefix config option
+
+Alex Riesen (11):
+      Fix the progress code to output LF only when it is really needed
+      Add run_command_v_opt_cd: chdir into a directory before exec
+      Add ability to specify environment extension to run_command
+      Allow environment variables to be unset in the processes started by run_command
+      Verbose connect messages to show the IP addresses used
+      Add another verbosity level to git-fetch
+      Add a configuration option to control diffstat after merge
+      Fix push with refspecs containing wildcards
+      Do not use h_errno after connect(2): the function does not set it
+      cvsserver: Actually implement --export-all
+      Avoid perl in t1300-repo-config
+
+Alexandre Julliard (1):
+      pack-check: Sort entries by pack offset before unpacking them.
+
+Alexandre Vassalotti (1):
+      git-tag: Fix "can't shift that many".
+
+Andy Whitcroft (3):
+      cvsimport: add support for new style remote layout
+      cvsimport: update documentation to include separate remotes option
+      cvsimport: add <remote>/HEAD reference in separate remotes more
+
+Aneesh Kumar K.V (2):
+      gitview: Fix the blame interface.
+      gitview: run blame with -C -C
+
+Benjamin Sergeant (1):
+      git-p4 fails when cloning a p4 depo.
+
+Brian Gernhardt (1):
+      Fix t5516-fetch for systems where `wc -l` outputs whitespace.
+
+Carlos Rica (3):
+      Fix git-stripspace to process correctly long lines and spaces.
+      Add test script for git-stripspace.
+      Add test-script for git-tag
+
+Dan McGee (1):
+      git-mergetool: Allow gvimdiff to be used as a mergetool
+
+Dana L. How (8):
+      Custom compression levels for objects and packs
+      Alter sha1close() 3rd argument to request flush only
+      git-repack --max-pack-size: new file statics and code restructuring
+      git-repack --max-pack-size: write_{object,one}() respect pack limit
+      git-repack --max-pack-size: split packs as asked by write_{object,one}()
+      git-repack --max-pack-size: add option parsing to enable feature
+      pack-objects: clarification & option checks for --max-pack-size
+      Ensure git-repack -a -d --max-pack-size=N deletes correct packs
+
+Daniel Barkalow (6):
+      Move remote parsing into a library file out of builtin-push.
+      Move refspec parser from connect.c and cache.h to remote.{c,h}
+      Add handlers for fetch-side configuration of remotes.
+      Update local tracking refs when pushing
+      Move refspec pattern matching to match_refs().
+      Fix pushing to a pattern with no dst
+
+Dave O'Neill (1):
+      Generate tags with correct timestamp (git-svnimport)
+
+Elvis Pranskevichus (1):
+      Use git-tag in git-cvsimport
+
+Emil Medve (1):
+      git-submodule: Instead of using only annotated tags, use any tags.
+
+Eric Wong (4):
+      git-svn: cleanup: factor out longest_common_path() function
+      git-svn: test for creating new directories over svn://
+      git-svn: reduce stat() calls for a backwards compatibility check
+      git-svn: allow dcommit to retain local merge information
+
+Fernando J. Pereda (1):
+      Teach mailsplit about Maildir's
+
+Frank Lichtenheld (11):
+      t9400: Add test cases for config file handling
+      t9400: Add some more cvs update tests
+      t9400: Add some basic pserver tests
+      t9400: Work around CVS' deficiencies
+      cvsserver: Handle 'cvs login'
+      cvsserver: Make req_Root more critical of its input data
+      cvsserver: Add some useful commandline options
+      cvsserver: Let --base-path and pserver get along just fine
+      cvsserver: Actually implement --export-all
+      config: Add --null/-z option for null-delimted output
+      config: add support for --bool and --int while setting values
+
+Geert Bosch (1):
+      Unify write_index_file functions
+
+Gerrit Pape (3):
+      git-branch: cleanup config file when deleting branches
+      git-svn: trailing slash in prefix is mandatory with --branches/-b
+      git-cvsimport: force checkout of working tree after initial import
+
+Han-Wen Nienhuys (28):
+      Cleanups
+      reformatting: break long lines.
+      rename apply() to applyCommit(); apply is a python builtin
+      add .dotest to .gitignore
+      Robustness fixes for pipes
+      cleanup
+      minor cleanups
+      clone and sync --keep-path to keep perforce path to module.
+      use string.strip() iso. slicing.
+      use strip() iso. slicing for removing \n
+      add --verbose to all commands.
+      Extract multiple paths concurrently.
+      Diverse cleanups
+      remove global .gitdir
+      Read p4 files in one batch.
+      Thinko, fix buglet.
+      store p4 user cache in home directory.
+      thinko.
+      read files before creating the commit.
+      don't p4 print deleted files.
+      only run p4 print if necessary
+      use p4CmdList() to get file contents in Python dicts. This is more robust.
+      Cleanups & import into p4/master for local import
+      remove debug print
+      thinko: really ignore deleted files.
+      look for 'text' and 'binary' files.
+      print error message when p4 print fails (eg. due to permission problems)
+      also strip p4/ from local imports.
+
+Jakub Narębski (16):
+      gitweb: Add test t9500 for gitweb (as standalone script)
+      Add an option to git-ls-tree to display also the size of blob
+      gitweb: Provide links to commitdiff to each parent in 'commitdiff' view
+      gitweb: Improve "next" link in commitdiff view
+      gitweb: Split git_patchset_body into separate subroutines
+      gitweb: Create special from-file/to-file header for combined diff
+      gitweb: Add links to blobdiffs in from-file/to-file header for merges
+      gitweb: '--cc' for merges in 'commitdiff' view
+      Document git rev-list --full-history
+      Document git read-tree --trivial
+      Document git rev-parse --is-inside-git-dir
+      Document git reflog --stale-fix
+      Document git rev-list --timestamp
+      Use tabs for indenting definition list for options in git-log.txt
+      Document git log --abbrev-commit, as a kind of pretty option
+      Document git log --full-diff
+
+James Bowes (2):
+      Add colour support in rebase and merge tree diff stats output.
+      rev-parse: Identify short sha1 sums correctly.
+
+Jeff King (12):
+      cmd_log_init: remove parsing of --encoding command line parameter
+      refactor dir_add_name
+      dir_struct: add collect_ignored option
+      builtin-add: simplify (and increase accuracy of) exclude handling
+      Fix ALLOC_GROW off-by-one
+      Fix ALLOC_GROW calls with obsolete semantics
+      git-stash: fix "no arguments" case in documentation
+      git-stash: fix "can't shift that many" with no arguments
+      git-stash: don't complain when listing in a repo with no stash
+      Documentation: quote {non-attributes} for asciidoc
+      Documentation: quote {non-attributes} for asciidoc
+      Documentation: minor cleanups to branch/checkout wording
+
+Jeffrey C. Ollie (2):
+      Add an option to quiet git-init.
+      Quiet the output from git-init when cloning, if requested.
+
+Jim Meyering (4):
+      Don't dereference a strdup-returned NULL
+      detect close failure on just-written file handles
+      Don't ignore a pack-refs write failure
+      git-log: detect dup and fdopen failure
+
+Johan Herland (1):
+      Remove unnecessary code and comments on non-existing 8kB tag object restriction
+
+Johannes Schindelin (23):
+      Update to SubmittingPatches
+      Add git-filter-branch
+      git-fsck: learn about --verbose
+      Move buffer_is_binary() to xdiff-interface.h
+      merge-recursive: refuse to merge binary files
+      git-merge-file: refuse to merge binary files
+      filter-branch: use $(($i+1)) instead of $((i+1))
+      filter-branch: fix behaviour of '-k'
+      t5000: skip ZIP tests if unzip was not found
+      Teach filter-branch about subdirectory filtering
+      Teach diff to imply --find-copies-harder upon -C -C
+      pp_header(): work around possible memory corruption
+      diffcore-rename: favour identical basenames
+      filter-branch: add example to move everything into a subdirectory
+      Move the pick_author code to git-sh-setup
+      Teach rebase an interactive mode
+      rebase -i: several cleanups
+      rebase -i: provide reasonable reflog for the rebased branch
+      Teach rebase -i about --preserve-merges
+      t7004: ship trustdb to avoid gpg warnings
+      git add: respect core.filemode with unmerged entries
+      Make '!' aliases more useful
+      git-fsck: add --lost-found option
+
+Johannes Sixt (9):
+      filter-branch: Use rev-list arguments to specify revision ranges.
+      filter-branch: also don't fail in map() if a commit cannot be mapped
+      Makefile: Remove git-merge-base from PROGRAMS.
+      filter-branch: Simplify parent computation.
+      filter-branch: subdirectory filter needs --full-history
+      Avoid double-slash in path names that depend on $(sharedir).
+      Remove trailing slash from $(template_dir).
+      git-remote show: Also shorten non-fast-forward refs in the 'push' listing
+      Test 'git add' for unmerged entries when core.symlinks=false.
+
+Jon Loeliger (1):
+      Add the --numbered-files option to git-format-patch.
+
+Jonas Fonseca (2):
+      Fix git-am(1) synopsis formatting
+      git-rebase: suggest to use git-add instead of git-update-index
+
+Josh Triplett (1):
+      Fix typo in git-mergetool
+
+Julian Phillips (2):
+      Makefile: Use generic rule to build test programs
+      new-workdir: handle rev-parse --git-dir not always giving full path
+
+Junio C Hamano (48):
+      git-apply: Fix removal of new trailing blank lines.
+      pack-objects: pass fullname down to add_object_entry()
+      Teach "delta" attribute to pack-objects.
+      builtin-pack-objects: remove unnecessary code for no-delta
+      Fix command line parameter parser of revert/cherry-pick
+      Remove git-applypatch
+      mailsplit: fix for more than one input files
+      Add DLH to .mailmap
+      Release Notes: start preparing for 1.5.3
+      git-apply: what is detected and fixed is not just trailing spaces.
+      t7003: make test repeatable
+      git-branch --track: fix tracking branch computation.
+      War on whitespace
+      Test wildcard push/fetch
+      More missing static
+      More missing static
+      Even more missing static
+      remote.c: refactor match_explicit_refs()
+      remote.c: refactor creation of new dst ref
+      remote.c: minor clean-up of match_explicit()
+      remote.c: fix "git push" weak match disambiguation
+      remote.c: "git-push frotz" should update what matches at the source.
+      git-push: Update description of refspecs and add examples
+      git-blame: do not indent with spaces.
+      git-blame -w: ignore whitespace
+      mktag: minimally update the description.
+      Lift 16kB limit of log message output
+      Extend --pretty=oneline to cover the first paragraph,
+      Makefile: common-cmds.h depends on generate-cmdlist.sh script
+      Makefile: allow generating git.o for debugging purposes
+      -Wold-style-definition fix
+      More static
+      Documentation: update "stale" links for 1.5.2.2
+      INSTALL: explain how to build documentation
+      Two trivial -Wcast-qual fixes
+      git-send-email: Do not make @-less message ID
+      Add core.quotepath configuration variable.
+      Update draft Release Notes for 1.5.3
+      diffcore_count_changes: pass diffcore_filespec
+      diffcore_filespec: add is_binary
+      diffcore-delta.c: update the comment on the algorithm.
+      diffcore-delta.c: Ignore CR in CRLF for text files
+      git-stash: require "save" to be explicit and update documentation
+      Update public documentation links for 1.5.2.3
+      "git-push $URL" without refspecs pushes only matching branches
+      Rewrite "git-frotz" to "git frotz"
+      git-stash: make "save" the default action again.
+      Mark disused commit walkers officially deprecated.
+
+Kevin Green (1):
+      git-p4: check for existence of repo dir before trying to create
+
+Lars Hjemli (10):
+      Add git-submodule command
+      Add basic test-script for git-submodule
+      git-submodule: move cloning into a separate function
+      git-submodule: clone during update, not during init
+      t7400: barf if git-submodule removes or replaces a file
+      git-submodule: remember to checkout after clone
+      Rename sections from "module" to "submodule" in .gitmodules
+      git-submodule: give submodules proper names
+      Add gitmodules(5)
+      gitmodules(5): remove leading period from synopsis
+
+Linus Torvalds (9):
+      Make "git gc" pack all refs by default
+      Make the pack-refs interfaces usable from outside
+      Makefile: add an explicit rule for building assembly output
+      Finally implement "git log --follow"
+      Fix up "git log --follow" a bit..
+      Clean up internal command handling
+      Check for IO errors after running a command
+      git: Try a bit harder not to lose errno in stdio
+      Start deprecating "git-command" in favor of "git command"
+
+Marco Costalba (1):
+      Teach 'git-apply --whitespace=strip' to remove empty lines at the end of file
+
+Marius Storm-Olsen (7):
+      Make the command call silent
+      Replace \r\n with \n when importing from p4 on Windows
+      Ensure that the commit message is Windows formated (CRLF) before invoking the editor.
+      Fix git-p4 clone (defaultDestination)
+      Fix single branch import into remotes
+      Exclude the HEAD symbolic ref from the list of known branches
+      Only use double quotes on Windows
+
+Mark Levedahl (6):
+      gitk: Make selection highlight color configurable
+      gitk: Update fontsize in patch / tree list
+      gitk: Allow specifying tabstop as other than default 8 characters.
+      gitweb.perl - Optionally send archives as .zip files
+      gitk: Use a spinbox for setting tabstop settings
+      gitk: Update selection background colorbar in prefs dialog
+
+Martin Koegler (5):
+      builtin-pack-objects: don't fail, if delta is not possible
+      git-pack-objects: cache small deltas between big objects
+      builtin-pack-object: cache small deltas
+      diff-delta: use realloc instead of xrealloc
+      gitweb: Handle non UTF-8 text better
+
+Martin Waitz (1):
+      rename dirlink to gitlink.
+
+Matthias Lederhofer (18):
+      add git-filter-branch to .gitignore
+      make clean should remove all the test programs too
+      filter-branch: prevent filters from reading from stdin
+      chmod +x git-filter-branch.sh
+      rev-parse: document --is-inside-git-dir
+      rev-parse: introduce --is-bare-repository
+      test git rev-parse
+      introduce GIT_WORK_TREE to specify the work tree
+      Use new semantics of is_bare/inside_git_dir/inside_work_tree
+      extend rev-parse test for --is-inside-work-tree
+      test GIT_WORK_TREE
+      setup_git_directory: fix segfault if repository is found in cwd
+      filter-branch: always export GIT_DIR if it is set
+      gitweb: change filename/directory name of snapshots
+      make git barf when an alias changes environment variables
+      make dist: include configure script in tarball
+      ignore git-rebase--interactive
+      getenv/setenv: use constants if available
+
+Matthijs Melchior (1):
+      Teach git-tag about showing tag annotations.
+
+Michael Ellerman (2):
+      gitview: Use new-style classes
+      gitview: Define __slots__ for Commit
+
+Michael Krelin (1):
+      git-svn: honor ~/.subversion/ client cert file settings.
+
+Michael S. Tsirkin (1):
+      connect: display connection progress
+
+Nanako Shiraishi (3):
+      Cloning from a repo without "current branch"
+      Add git-stash script
+      Document git-stash
+
+Nicolas Pitre (8):
+      allow for undeltified objects not to be reused
+      make "repack -f" imply "pack-objects --no-reuse-object"
+      deprecate the new loose object header format
+      fixes to output of git-verify-pack -v
+      improve delta long block matching with big files
+      update diff-delta.c copyright
+      fix repack with --max-pack-size
+      always start looking up objects in the last used pack first
+
+Paul Mackerras (18):
+      gitk: Use the -q flag to git checkout
+      gitk: New infrastructure for working out branches & previous/next tags
+      gitk: Don't try to list large numbers of tags or heads in the details pane
+      gitk: Add some more comments to the optimize_rows procedure
+      gitk: Improve the behaviour of the initial selection
+      gitk: Implement a simple scheduler for the compute-intensive stuff
+      gitk: Cope with commit messages with carriage-returns and initial blank lines
+      gitk: Disable the head context menu entries for the checked-out branch
+      gitk: Store ids in rowrangelist and idrowranges rather than row numbers
+      gitk: New algorithm for drawing the graph lines
+      gitk: Show local uncommitted changes as a fake commit
+      gitk: Speed up the reading of references
+      gitk: Get rid of the childlist variable
+      gitk: Add a "reset branch to here" row context-menu operation
+      gitk: Limit how often we change the canvas scrolling region
+      gitk: Fix bug causing nearby tags/heads to sometimes not be displayed
+      gitk: Improve handling of whitespace and special chars in filenames
+      gitk: Add a progress bar to show progress while resetting
+
+Petr Baudis (2):
+      git-rev-list: Add regexp tuning options
+      git-applymbox: Remove command
+
+Pierre Habouzit (3):
+      $EMAIL is a last resort fallback, as it's system-wide.
+      Active_nr is unsigned, hence can't be < 0
+      Missing statics.
+
+Quy Tonthat (1):
+      git.spec: RPM failed, looking for wrong files.
+
+Randal L. Schwartz (1):
+      Add test-sha1 to .gitignore.
+
+René Scharfe (3):
+      t5000: silence unzip availability check
+      diffcore-rename: don't change similarity index based on basename equality
+      diff: round down similarity index
+
+Robin Rosenberg (1):
+      Add option to cvs update before export
+
+Sam Vilain (3):
+      git-svn: avoid string eval for defining functions
+      git-svn: use git-log rather than rev-list | xargs cat-file
+      git-svn: cache max revision in rev_db databases
+
+Shawn O. Pearce (24):
+      Teach git-describe how to run name-rev
+      Lazily open pack index files on demand
+      Micro-optimize prepare_alt_odb
+      Attempt to delay prepare_alt_odb during get_sha1
+      git gui 0.8.0
+      git-gui: GUI support for running 'git remote prune <name>'
+      git-gui: Show the git-gui library path in 'About git-gui'
+      git-gui: Enable verbose Tcl loading earlier
+      git-gui: Provide fatal error if library is unavailable
+      git-gui: Disable tearoff menus on Windows, Mac OS X
+      git-gui: Allow users to rename branches through 'branch -m'
+      git-gui: Allow users to delete remote branches
+      git-gui: Expose the merge.diffstat configuration option
+      Allow contrib new-workdir to link into bare repositories
+      Test for recent rev-parse $abbrev_sha1 regression
+      Simplify index access condition in count-objects, pack-redundant
+      Ensure the pack index is opened before access
+      Style nit - don't put space after function names
+      git-gui: Internalize symbolic-ref HEAD reading logic
+      git-gui: Quiet our installation process
+      Avoid src:dst syntax as default bash completion for git push
+      Document git-gui, git-citool as mainporcelain manual pages
+      Teach bash how to complete +refspec on git-push
+      Correct usages of sed in git-tag for Mac OS X
+
+Simon Hausmann (223):
+      Initial import of a python script to import changesets from Perforce into git.
+      Added basic support for specifying the depot path to import from as well as the range of perforce changes.
+      Slightly improved help usage output and made specifying the trailing slash for the depot path optional.
+      Implemented basic support for converting the date of the perforce change to the git format. The timezone isn't correctly set up yet though.
+      Some fixes to the timezone conversion between the date of a perforce change and the git commit.
+      Speed up the import of individual files from Perforce into git by passing the output of "p4 print" directly to git fast-import. Also try to set the mode of the file in git correctly based on file type heuristics.
+      Removed unused p4cat function and added helper function for the perforce python interface (p4Cmd).
+      Changed the import mechanism to write to git fast-import through a pipe instead of having p4-fast-export write to stdout and let the caller connect it to git fast-import.
+      Minor code cleanups and ported some p4 interfacing code over to the p4 python mode.
+      Instead of parsing the output of "p4 users" use the python objects of "p4 -G users".
+      Ported the remaining functions that parsed p4 shell output over to the p4 python interface.
+      Avoid calling fstat for every imported file (slow!) and instead read the file data first into the python process and use the length of the bytes read for the size field of git fast-import.
+      Permit calling p4-fast-export with a depot path that has the typical ... wildcard at the end.
+      Fixed displaying import progress by calling flush on stdout.
+      Create a git tag for every changeset imported from perforce.
+      Fix file permissions of p4-fast-export.py to be executable.
+      Started working on incremental imports from Perforce.
+      Simplify the incremental import by elimination the need for a temporary import branch.
+      Code cleanups, move the code to create a commit with fast-import into a separate function out of the main loop.
+      Initial support for importing a directory from Perforce at a specified revision.
+      Minor cleanups and print an error message of git fast-import if it fails.
+      Fixed incremental imports by using the correct "from" command instead of "merge" with git fast-import.
+      Make incremental imports easier to use by storing the p4 depot path after an import in .git/config and re-using it when we're invoked again later.
+      Make specifying the revision ranges more convenient.
+      Fix calculation of the newest imported revision for #head imports.
+      Catch io exceptions from git fast-import again and print the error message.
+      Made the name of the git branch used for the perforce import configurable through a new --branch=<name> commandline option.
+      Added a little helper script to debug the output of the p4 python interface.
+      Minor code cleanups.
+      Avoid the excessive use of git tags for every perforce change and instead just create one git tag for the last imported change.
+      Changed the default git import branch from "p4" to "master".
+      Added a little helper script to remove unused tags from the perforce import.
+      Create lightweight git tags (using the "reset" trick) for the incremental import instead of full-blown ones. Also fix parsing the output of git name-rev for figuring out the last imported p4 change number.
+      Cleanups, remove unused variable.
+      Code cleanups.
+      Started work on p4 branch detection (experimental!).
+      More fixes in heuristic p4 branch detection based on common path components.
+      After marking a p4 branch as merged don't ever merge it in git again.
+      Set git fast-import marks for every imported change for future use.
+      When trying to map p4 integrations to git merges just record it as a single merge with the newest p4 change as secondary parent.
+      Make it possible to specify the p4 changes to import through a text file (for debugging) and made various improvements to the branch/merge heuristic detection.
+      Use sets.Set() instead of set() to run also with older versions of Python.
+      Fix single-branch imports by skipping the branch/merge detection correctly.
+      Added p4 delete behavioural emulation as todo item.
+      Added support for --silent so that p4-fast-export can be called from cronjobs.
+      More work in --silent support.
+      Don't print a plain newline at the end of the execution (avoids bogus cron error mails).
+      Adjust the output parsing of git name-rev to handle the output of the latest git version.
+      Work in progress on detecting branches.
+      Changed --known-branches to take a file as argument instead of a comma separated list.
+      Fixed p4-debug file extension.
+      Make the p4 data/command cache configurable through the --cache-debug commandline option.
+      Minor code cleanups.
+      More code cleanups and preparations for more branch detection heuristics.
+      More work on branch detection by implementing changeIsBranchMerge().
+      Reduce the number of false "merges" by skipping "branch from" entries in the integrated output as well as by ignoring integrations of future (newer) changes.
+      Split up the cache commandline options into (command) cache and data cache.
+      First version of a new script to submit changes back to perforce from git repositories.
+      Fix git-dir option and allow reading log substitutions from a file
+      Lots of bugfixes to p4-git-sync.
+      Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to
+      Be nice and use /usr/bin/env python for the git-p4 scripts
+      Ignore Apple resource files when importing from perforce to git.
+      Auto-detect the current git branch before submitting back to perforce.
+      Use p4 revert ... instead of revert -a ... after submitting, to make sure the p4 checkout is clean.
+      Default to interactive syncing
+      Improved the git dir detection.
+      Pass the right number of arguments to commit, fixes single-branch imports.
+      Start moving the git-p4 tools into one single script.
+      Provide a little bit of help description for the git-p4 "tools".
+      First (untested) attempt at migrating p4-git-sync into the final git-p4 script
+      Part of the code is copyright by Trolltech ASA.
+      sync-to-perforce is now called submit and fixed the gitdir check a little bit
+      Completely untested "merge" of p4-fast-export.py into git-p4.py
+      Added missing "self"s to make the script evaluate correctly.
+      Fixed the initial version import by getting the file index correct by correctly skipping deleted files.
+      Removed p4-fast-export and p4-git-sync as they've been integrated into git-p4 now.
+      Start of the git-p4 documentation.
+      Documentation enhancements.
+      Added experimental but super-fast --apply-as-patch option to git-p4 submit
+      Fix support for deletions in git-p4 submit when using --apply-as-patch by filtering out deletions in the diff-tree output.
+      Made --apply-as-patch the default for git-p4 submit as it's significantly faster.
+      Make it possible to invoke git-p4 from within subdirectories of a git working tree.
+      Don't show the submit template and the diff first in less but show it in $editor right away
+      Removed the .py extension from git-p4 as it's annoying to type every time.
+      Changed the format of the imported log message slightly, so that it's easier to parse again.
+      Changed the default branch for imports from "master" to "p4"
+      Added some helper function(s) to parse the depot path and change number from the log message
+      Helper function to check the existance of a revision
+      Set the default branch in run, not in the constructor
+      Brand new smart incremental import that doesn't need tags or git repo-config :)
+      Make it possible to run git-p4 submit from within the git repository
+      Use the new incremental import style by default
+      Different versions of p4 have different output for the where command ;(
+      Minor cosmetic fixlet for the git-p4 submit sync question.
+      Prefer git command over git-command.
+      Don't try to parse any options with git-p4 debug but pass it straight on to p4
+      git-p4 debug doesn't need a git repository
+      Added support for mapping p4 labels to git tags
+      Fix variable usage in tag import
+      Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into simply git-p4 submit mytopicbranch.
+      Fix "compilation" :)
+      Clean up python class names.
+      Added git-p4 rebase convenience
+      Provide a tree summary after git-p4 rebase
+      Turn off potentially slow label detection by default
+      Honor --silent for labels
+      Added git-p4 clone convenience command
+      Fix file determination for #head imports
+      fix variable usage (oops)
+      Added a simple example of usage to the "documentation" :)
+      Allow for convenient rebasing after git-p4 submit
+      Print an error message of some sort if git fast-import fails.
+      Fix the timezone formatting. Now qgit also displays (parses) it correctly.
+      Removed the old patch apply code from git-p4 submit.
+      Slightly improved formatting of the raw_input questions.
+      A new attempt at fixing the child-fast-import-process-not-finished race condition in the clone command
+      Handle patch errors in git-p4 submit better.
+      Doc cleanups.
+      Micro cleanup
+      cleanup, renamed self.globalPrefix to self.depotPath
+      Cleanup, removed the old tagging code
+      Document some implementation details, for the curious... :)
+      Use the subprocess module instead of popen2 to make it work on Windows.
+      Added a little .bat wrapper from Marius
+      Make sure all popen calls use binary mode (for Windows) and
+      Make submitting work on Windows.
+      Converted to unix newlines
+      Fix git-p4 clone //depot/project (head import)
+      Make git-p4 work with bare repositories.
+      Added the possibility of skipping patches during git-p4 submit
+      Give a better hint if git-p4 submit fails
+      Fix calling git-p4 rebase from within a subdirectory (git rebase wants to be in toplevel)
+      A little todo note before I forget it :), based on a suggestion from Lars.
+      Fixing syncing (gitdir discovery / cd) for bare repositories
+      Always pass a sha1 for the initial parent so that git-fast-import doesn't think it's creating a new branch from itself. It's a sensible error in general but in the case of incremental imports we have to apply force :)
+      Clean up code duplication for revision parsing and fix previous commit to not import into remotes/p4 (yet!).
+      Removed cleantags command. It doesn't have any meaning anymore.
+      Removed ancient and unused code to find the last imported revision from previous imports to use for the current import by looking at the p4 tags. The current approach of using the log message works better.
+      Create the origin based import branch using git update-ref instead of git branch so that it's possible to have the import branch in refs/remotes.
+      Changed the default p4 import branch to be refs/remotes/p4/{HEAD,master} instead of refs/heads/p4.
+      Bite the bullet and automatically convert old style refs/heads/p4 repositories to the new style refs/remotes/p4 branching.
+      Added support for git-p4 sync/rebase --with-origin. See git-p4.txt for details :)
+      Removed todo item that is implemented :)
+      Fix branch setup after initial clone.
+      Removed unused cache variables.
+      Started rewriting the branch detection, based on "p4 branches" and "p4 branch -o foo".
+      Give branches a nice project prefix and don't bail out on clone if we failed to detect the master branch.
+      More work on the incremental importing of multiple branches. Improved error detection by checking the exit code of git-fast-import.
+      Cleanup/speed up the branch<> file split and removed change range limitation that I added for debugging (oops).
+      More cleanups and speedups for labels and branches
+      Removed unused variable, more cleanups
+      Cache the output of "p4 users" for faster syncs on high latency links.
+      Fix gitdir not being set when cloning. Needed for writing the p4 users cache.
+      Oops, not only /set/ gitdir on clone, also set it /correctly/ :)
+      Use git format-patch and git apply --apply when extracting patches from git and applying them to a Perforce checkout. This should make it possible to apply git commits with binary files that cannot be handled by path.
+      Added support for git-p4 submit --direct (experimental)
+      Specifying --detect-branches is now only needed for the initial clone/sync. Afterwards it's turned on implicitly if more p4 branches than remotes/p4/master are found.
+      Had an idea for debugging, record it :)
+      Another (potentially life-saving) idea for submit --direct
+      Improved output for multi branch imports and noted another little todo item
+      Fix conversion from old style heads/p4 to remotes/p4/master
+      Fix error detection with git-p4 submit when the requested depot path is not in the client view.
+      Fix git symbolic-ref warning on initial clone
+      Detect with git-p4 submit --direct when there are no changes in the working directory
+      Make git-p4 submit --direct safer by also creating a git commit
+      Added a rollback command for debugging. It sets back the heads of the p4 branches to the specified p4 change number or earlier.
+      Fix branch detection in multi-branch imports
+      Fixes for rollback, delete branches that did not exist at the specified p4 change
+      Added support for importing multiple branches into refs/heads instead of just refs/remotes using --import-local. Needs some further microfix but seems to work otherwise.
+      Added support for --max-changes=<count> to ease import debugging
+      Use refs/heads/* instead of refs/heads/p4/* for local imports
+      Doc updates
+      Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
+      Make rollback work with locally imported branches
+      Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed.
+      Oops, fill the /list/ correct with the p4 exit code.
+      Catch p4 errors in rollback early enough (before deleting refs!)
+      Fix p4 execution in git-p4 rollback.
+      Fix multi-branch import with --silent.
+      Load the user map from p4 only once at run-time.
+      Fix creating the remotes/p4 branches based on origin/* for the multi-branch import
+      Forgot to remove this return statement from debugging
+      Added support for --with-origin with multi-branch imports
+      Oops, fix --with-origin to /really/ also call git fetch :)
+      Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
+      Make git-p4 work with packed refs (don't use os.path.exists to check for the existance of a ref)
+      Make --with-origin also work without origin :)
+      Make --with-origin the default for syncing.
+      Shortcut the case where we have no origin branch
+      Forgot to remove this TODO item when I made --with-origin the default :)
+      Added git-p4 submit --trust-me-like-a-fool for the adventurous users :)
+      Fix creation of refs/remotes/p4/HEAD symbolic ref
+      Fix my email address, this isn't really KDE related :)
+      In *_pipe print the command that failed if it fails. Fixed old calls to mypopen.
+      Fix typo in listExistingP4Branches that broke sync.
+      Fix support for "depot-path" in older git-p4 imports
+      Fix common path "calculation" from logs of multiple branches. Need to use min instead of max for prev/cur to avoid out-of-bounds string access. Also treat "i" as index of the last match instead of a length because in case of a complete match of the two strings i was off by one.
+      Don't attempt to set the initialParent on multi-branch imports (useless). At some point the code paths should be unified, but for now I need a working git-p4 :)
+      Hack to make the multi-branch import work again with self.depotPaths now that self.depotPath is gone
+      Fix git-p4 rebase
+      Fix git-p4 submit
+      Fix depot-path determination for git-p4 submit
+      Make clone behave like git clone by default again.
+      Make git-p4 submit detect the correct reference (origin) branch when working with multi-branch imports.
+      Only get the expensive branch mapping from the p4 server when not syncing with the help of an origin remote (which we instead then use to get new branches from).
+      Fixed the check to make sure to exclude the HEAD symbolic refs when updating the remotes/p4 branches from origin.
+      Fix updating/creating remotes/p4/* heads from origin/p4/*
+      Fix project name guessing
+      Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)
+      Fix support for explicit disabling of syncing with the origin
+      Write out the options tag in the log message of imports only if we actually have options
+      Provide some information for single branch imports where the commits go
+      Mention remotes/p4/master also in the documentation.
+      git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames
+      Moved the code from git-p4 submit to figure out the upstream branch point into a separate helper method.
+      Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally always rebasing on top of remotes/p4/master
+      Fix initial multi-branch import.
+      Fix the branch mapping detection to be independent from the order of the "p4 branches" output.
+      Warn about conflicting p4 branch mappings and use the first one found.
+      Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches.
+      Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function.
+      git-new-workdir: Fix shell warning about operator == used with test.
+
+Sven Verdoolaege (4):
+      git-update-ref: add --no-deref option for overwriting/detaching ref
+      t9500: skip gitweb tests if perl version is too old
+      git-submodule: provide easy way of adding new submodules
+      git-clone: fetch possibly detached HEAD over dumb http
+
+Theodore Ts'o (4):
+      Add --aggressive option to 'git gc'
+      Fix minor grammatical typos in the git-gc man page
+      git-mergetool: Make default selection of merge-tool more intelligent
+      Don't fflush(stdout) when it's not helpful
+
+İsmail Dönmez (1):
+      Change default man page path to /usr/share/man
+
+
+Version v1.5.2.5; changes since v1.5.2.4:
+-----------------------------------------
+
+Christian Couder (1):
+      rev-list --bisect: fix allocation of "int*" instead of "int".
+
+Julian Phillips (1):
+      Force listingblocks to be monospaced in manpages
+
+Junio C Hamano (4):
+      Do not expect unlink(2) to fail on a directory.
+      setup.c:verify_non_filename(): don't die unnecessarily while disambiguating
+      Fix "git add -u" data corruption.
+      GIT 1.5.2.5
+
+Linus Torvalds (1):
+      apply: remove directory that becomes empty by renaming the last file away
+
+Salikh Zakirov (1):
+      git-add -u paths... now works from subdirectory
+
+
+Version v1.5.2.4; changes since v1.5.2.3:
+-----------------------------------------
+
+Andy Parkins (2):
+      Make git-prune submodule aware (and fix a SEGFAULT in the process)
+      user-manual: grammar and style fixes
+
+Gerrit Pape (1):
+      git-gui: properly popup error if gitk should be started but is not installed
+
+J. Bruce Fields (2):
+      tutorial: Fix typo
+      user-manual: more explanation of push and pull usage
+
+Jim Meyering (1):
+      Don't smash stack when $GIT_ALTERNATE_OBJECT_DIRECTORIES is too long
+
+Johannes Schindelin (3):
+      diff --no-index: fix --name-status with added files
+      glossary: add 'reflog'
+      Fix "apply --reverse" with regard to whitespace
+
+Junio C Hamano (2):
+      Teach read-tree 2-way merge to ignore intermediate symlinks
+      GIT 1.5.2.4
+
+Michael Hendricks (1):
+      Correctly document the name of the global excludes file configuration
+
+Miklos Vajna (1):
+      Document -<n> for git-format-patch
+
+Shawn O. Pearce (10):
+      git-gui: Unlock the index when cancelling merge dialog
+      git-gui: Don't bind F5/M1-R in all windows
+      git-gui: Bind M1-P to push action
+      git-gui: Include a Push action on the left toolbar
+      git-gui: Ensure windows shortcuts always have .bat extension
+      git-gui: Skip nicknames when selecting author initials
+      git-gui: Correct ls-tree buffering problem in browser
+      git-gui: Don't linewrap within console windows
+      Clarify documentation of fast-import's D subcommand
+      git-gui: Work around bad interaction between Tcl and cmd.exe on ^{tree}
+
+William Pursell (1):
+      user-manual: fix directory name in git-archive example
+
+
+Version v1.5.2.3; changes since v1.5.2.2:
+-----------------------------------------
+
+Frank Lichtenheld (2):
+      config: Complete documentation of --get-regexp
+      config: Change output of --get-regexp for valueless keys
+
+Junio C Hamano (1):
+      GIT 1.5.2.3
+
+Linus Torvalds (1):
+      Fix zero-object version-2 packs
+
+Matt Kraai (1):
+      Correct the name of NO_R_TO_GCC_LINKER in the comment describing it.
+
+Sam Vilain (3):
+      cleanup merge-base test script
+      repack: improve documentation on -a option
+      git-remote: document -n
+
+Shawn O. Pearce (5):
+      git-gui: Correctly install to /usr/bin on Cygwin
+      git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
+      git-gui: Don't require $DISPLAY just to get --version
+      git-gui: Don't nice git blame on MSYS as nice is not supported
+      git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack
+
+Sven Verdoolaege (1):
+      Ignore submodule commits when fetching over dumb protocols
+
+
+Version v1.5.2.2; changes since v1.5.2.1:
+-----------------------------------------
+
+Alex Riesen (3):
+      Make the installation target of git-gui a little less chatty
+      Fix clone to setup the origin if its name ends with .git
+      Add a local implementation of hstrerror for the system which do not have it
+
+Gerrit Pape (1):
+      Fix typo in remote branch example in git user manual
+
+J. Bruce Fields (4):
+      user-manual: quick-start updates
+      user-manual: add a missing section ID
+      Documentation: user-manual todo
+      tutorial: use "project history" instead of "changelog" in header
+
+Jakub Narębski (1):
+      Generated spec file to be ignored is named git.spec and not git-core.spec
+
+Johannes Schindelin (2):
+      Move buffer_is_binary() to xdiff-interface.h
+      merge-recursive: refuse to merge binary files
+
+Johannes Sixt (1):
+      Accept dates before 2000/01/01 when specified as seconds since the epoch
+
+Junio C Hamano (6):
+      checkout: do not get confused with ambiguous tag/branch names
+      $EMAIL is a last resort fallback, as it's system-wide.
+      git-branch --track: fix tracking branch computation.
+      Avoid diff cost on "git log -z"
+      Documentation: adjust to AsciiDoc 8
+      GIT 1.5.2.2
+
+Kristian Høgsberg (1):
+      Unquote From line from patch before comparing with given from address.
+
+Luiz Fernando N. Capitulino (1):
+      git-cherry: Document 'limit' command-line option
+
+Matthijs Melchior (1):
+      New selection indication and softer colors
+
+Michael Milligan (1):
+      git-cvsimport: Make sure to use $git_dir always instead of .git sometimes
+
+Sam Vilain (2):
+      fix documentation of unpack-objects -n
+      Don't assume tree entries that are not dirs are blobs
+
+Shawn O. Pearce (47):
+      git-gui: Allow creating a branch when none exists
+      git-gui: Allow as few as 0 lines of diff context
+      git-gui: Don't quit when we destroy a child widget
+      git-gui: Attach font_ui to all spinbox widgets
+      git-gui: Verify Tcl/Tk is new enough for our needs
+      Revert "Make the installation target of git-gui a little less chatty"
+      git-gui: Add a 4 digit commit abbreviation to the blame viewer
+      git-gui: Cleanup blame::new widget initialization
+      git-gui: Remove empty blank line at end of blame
+      git-gui: Improve the coloring in blame viewer
+      git-gui: Simplify consecutive lines that come from the same commit
+      git-gui: Use arror cursor in blame viewer file data
+      git-gui: Display tooltips in blame viewer
+      git-gui: Highlight the blame commit header from everything else
+      git-gui: Remove unnecessary reshow of blamed commit
+      git-gui: Cleanup minor style nit
+      git-gui: Space the commit group continuation out in blame view
+      git-gui: Show author initials in blame groups
+      git-gui: Allow the user to control the blame/commit split point
+      git-gui: Display a progress bar during blame annotation gathering
+      git-gui: Allow digging through history in blame viewer
+      git-gui: Combine blame groups only if commit and filename match
+      git-gui: Show original filename in blame tooltip
+      git-gui: Use a label instead of a button for the back button
+      git-gui: Clip the commit summaries in the blame history menu
+      git-gui: Remove the loaded column from the blame viewer
+      git-gui: Remove unnecessary space between columns in blame viewer
+      git-gui: Use lighter colors in blame view
+      git-gui: Make the line number column slightly wider in blame
+      git-gui: Automatically expand the line number column as needed
+      git-gui: Remove unused commit_list from blame viewer
+      git-gui: Better document our blame variables
+      git-gui: Cleanup redundant column management in blame viewer
+      git-gui: Switch internal blame structure to Tcl lists
+      git-gui: Label the uncommitted blame history entry
+      git-gui: Rename fields in blame viewer to better descriptions
+      git-gui: Display the "Loading annotation..." message in italic
+      git-gui: Run blame twice on the same file and display both outputs
+      git-gui: Display both commits in our tooltips
+      git-gui: Jump to original line in blame viewer
+      git-gui: Use three colors for the blame viewer background
+      git-gui: Improve our labeling of blame annotation types
+      git-gui: Favor the original annotations over the recent ones
+      git-gui: Changed blame header bar background to match main window
+      git-gui: Include 'war on whitespace' fixes from git.git
+      git-gui: Give amend precedence to HEAD over MERGE_MSG
+      git-gui: Save geometry before the window layout is damaged
+
+William Pursell (1):
+      Make command description imperative statement, not third-person present.
+
+
+Version v1.5.2.1; changes since v1.5.2:
+---------------------------------------
+
+Andy Parkins (2):
+      Fix mishandling of $Id$ expanded in the repository copy in convert.c
+      Add test case for $Id$ expanded in the repository
+
+Carlos Rica (1):
+      fix memory leak in parse_object when check_sha1_signature fails
+
+Eric Wong (1):
+      git-svn: avoid md5 calculation entirely if SVN doesn't provide one
+
+Fernando J. Pereda (1):
+      Use PATH_MAX instead of TEMPFILE_PATH_LEN
+
+Frank Lichtenheld (7):
+      t1300: Add tests for git-config --bool --get
+      git-config: Correct asciidoc documentation for --int/--bool
+      cvsserver: Correct inetd.conf example in asciidoc documentation
+      cvsserver: Note that CVS_SERVER can also be specified as method variable
+      cvsserver: Fix some typos in asciidoc documentation
+      git-config: Various small fixes to asciidoc documentation
+      git-config: Improve documentation of git-config file handling
+
+Jakub Narębski (3):
+      Documentation: Clean up links in GIT Glossary
+      Replace the last 'dircache's by 'index'
+      Documentation: Add definition of "evil merge" to GIT Glossary
+
+James Bowes (1):
+      Documentation: fix git-config.xml generation
+
+James Y Knight (1):
+      Fix git-svn to handle svn not reporting the md5sum of a file, and test.
+
+Jeff King (3):
+      git-am: use printf instead of echo on user-supplied strings
+      More echo "$user_message" fixes.
+      Documentation: robustify asciidoc GIT_VERSION replacement
+
+Jerald Fitzjerald (1):
+      decode_85(): fix missing return.
+
+Jim Meyering (1):
+      git-daemon: don't ignore pid-file write failure
+
+Johan Herland (1):
+      Fix stupid typo in lookup_tag()
+
+Johannes Schindelin (2):
+      SubmittingPatches: mention older C compiler compatibility
+      git-status: respect core.excludesFile
+
+Jonas Fonseca (2):
+      branch: fix segfault when resolving an invalid HEAD
+      Update bash completion to ignore some more plumbing commands
+
+Josh Triplett (1):
+      Create a new manpage for the gitignore format, and reference it elsewhere
+
+Junio C Hamano (6):
+      annotate: make it work from subdirectories.
+      git-cvsserver: fix disabling service via per-method config
+      name-rev: tolerate clock skew in committer dates
+      git-commit: use printf '%s\n' instead of echo on user-supplied strings
+      Add tests for the last two fixes.
+      GIT 1.5.2.1
+
+Kristian Høgsberg (1):
+      Use =20 when rfc2047 encoding spaces.
+
+Linus Torvalds (1):
+      fix signed range problems with hex conversions
+
+Nguyễn Thái Ngọc Duy (1):
+      Makefile: Remove git-fsck and git-verify-pack from PROGRAMS
+
+Paolo Bonzini (1):
+      Document branch.autosetupmerge.
+
+Shawn O. Pearce (12):
+      git-gui: Tighten internal pattern match for lib/ directory
+      Refactor fast-import branch creation from existing commit
+      Fix possible coredump with fast-import --import-marks
+      Hide the plumbing diff-{files,index,tree} from bash completion
+      Teach bash completion about git-shortlog
+      Remove a duplicate --not option in bash completion
+      Update bash completion header documentation
+      Teach bash completion about 'git remote update'
+      Teach bash completion about recent log long options
+      Update bash completion for git-config options
+      Correct key bindings to Control-<foo>
+      git-gui: Guess our share/git-gui/lib path at runtime if possible
+
+Simon Hausmann (2):
+      fast-import: Fix uninitialized variable
+      fast-import: Fix crash when referencing already existing objects
+
+Steffen Prohaska (1):
+      user-manual: fixed typo in example
+
+Stephan Springl (1):
+      Use git-for-each-ref to check whether the origin branch exists.
+
+Sven Verdoolaege (1):
+      unpack-trees.c: verify_uptodate: remove dead code
+
+
+Version v1.5.2; changes since v1.5.2-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Allow fetching references from any namespace
+
+Andy Parkins (2):
+      Use $Id$ as the ident attribute keyword rather than $ident$ to be consistent with other VCSs
+      Fix crlf attribute handling to match documentation
+
+Andy Whitcroft (1):
+      git name-rev writes beyond the end of malloc() with large generations
+
+Eric Wong (6):
+      git-svn: don't drop the username from URLs when dcommit is run
+      git-svn: clean up caching of SVN::Ra functions
+      git-svn: fix segfaults due to initial SVN pool being cleared
+      git-svn: don't attempt to minimize URLs by default
+      git-svn: avoid crashing svnserve when creating new directories
+      git-svn: don't minimize-url when doing an init that tracks multiple paths
+
+Frank Lichtenheld (5):
+      cvsserver: Limit config parser to needed options
+      cvsserver: Don't send mixed messages to clients
+      builtin-log.c: Fix typo in comment
+      Documentation: format-patch has no --mbox option
+      git-am: Clean up the asciidoc documentation
+
+J. Bruce Fields (14):
+      user-manual: revise birdseye-view chapter
+      glossary: expand and clarify some definitions, prune cross-references
+      user-manual: move quick-start to an appendix
+      Documentation: remove howto's now incorporated into manual
+      user-manual: move howto/make-dist.txt into user manual
+      user-manual: move howto/using-topic-branches into manual
+      user-manual: add a "counting commits" example
+      user-manual: introduce git
+      user-manual: listing commits reachable from some refs not others
+      user-manual: reorganize public git repo discussion
+      tutorials: add user-manual links
+      tutorial: revise index introduction
+      user-manual: discourage shared repository
+      user-manual: finding commits referencing given file content
+
+Jakub Narębski (10):
+      gitweb: Test if $from_id and $to_id are defined before comparison
+      gitweb: Check if requested object exists
+      gitweb: Fix "Use of unitialized value" warnings in empty repository
+      Documentation: Split description of pretty formats of commit log
+      gitweb: Add a few comments about %feature hash
+      gitweb: Do not use absolute font sizes
+      gitweb: Separate search regexp from search text
+      gitweb: Empty patch for merge means trivial merge, not no differences
+      gitweb: Fix error in git_patchset_body for deletion in merge commit
+      gitweb: Fix "Use of uninitialized value" warning in git_feed
+
+Jan Hudec (2):
+      Updated documentation of hooks in git-receive-pack.
+      Minor fixup to documentation of hooks in git-receive-pack.
+
+Jeff King (3):
+      git-add: allow path limiting with -u
+      Documentation/git-add: clarify -u with path limiting
+      format-patch: add MIME-Version header when we add content-type.
+
+Johan Herland (3):
+      Fix signedness on return value from xread()
+      Ensure return value from xread() is always stored into an ssize_t
+      user-manual: Add section on ignoring files
+
+Johannes Schindelin (2):
+      import-tars: Use the "Link indicator" to identify directories
+      Add a birdview-on-the-source-code section to the user manual
+
+Junio C Hamano (17):
+      Minor copyediting on Release Notes for 1.5.2
+      Add has_symlink_leading_path() function.
+      apply: do not get confused by symlinks in the middle
+      read-tree -m -u: avoid getting confused by intermediate symlinks.
+      t9400: Use the repository config and nothing else.
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
+      Link to HTML version of external doc if available
+      Fix git-clone buglet for remote case.
+      Prepare for 1.5.1.5 Release Notes
+      gitweb: fix another use of undefined value
+      GIT v1.5.1.5
+      Add link to 1.5.1.5 release notes.
+      Documentation/git.txt: Update links to older documentation pages.
+      GIT 1.5.1.6
+      git-cvsserver: exit with 1 upon "I HATE YOU"
+      GIT 1.5.2
+
+Lars Hjemli (1):
+      git-archive: don't die when repository uses subprojects
+
+Marco Costalba (1):
+      Fix an unmatched comment end in arm/sha1_arm.S
+
+Matthias Kestenholz (2):
+      Documentation: Added [verse] to SYNOPSIS where necessary
+      Documentation: Reformatted SYNOPSIS for several commands
+
+Matthieu Castet (1):
+      Remove stale non-static-inline prototype for tree_entry_extract()
+
+Michael Hendricks (2):
+      git-send-email: allow leading white space on mutt aliases
+      Document core.excludesfile for git-add
+
+Petr Baudis (5):
+      gitweb: Normalize searchbar font size
+      gitweb: Add support for grep searches
+      gitweb: Allow arbitrary strings to be dug with pickaxe
+      Documentation: git-rev-list's "patterns"
+      gitweb: Remove redundant $searchtype setup
+
+Quy Tonthat (2):
+      RPM spec: include files in technical/ to package.
+      Documentation/branch: fix small typo in -D example
+
+René Scharfe (1):
+      git-archive: convert archive entries like checkouts do
+
+Shawn O. Pearce (1):
+      git-gui: Gracefully handle bad TCL_PATH at compile time
+
+Steffen Prohaska (4):
+      tiny fix in documentation of git-clone
+      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
+      Optimized cvsexportcommit: calling 'cvs status' once instead of once per touched file.
+      Fixed link in user-manual
+
+
+Version v1.5.2-rc3; changes since v1.5.2-rc2:
+---------------------------------------------
+
+Alex Riesen (1):
+      Use GIT_OBJECT_DIR for temporary files of pack-objects
+
+Amos Waterland (1):
+      wcwidth redeclaration
+
+Frank Lichtenheld (1):
+      cvsserver: Add test cases for git-cvsserver
+
+Gerrit Pape (1):
+      gitweb: choose appropriate view for file type if a= parameter missing
+
+J. Bruce Fields (7):
+      user-manual: more discussion of detached heads, fix typos
+      user-manual: add section ID's
+      user-manual: clean up fast-forward and dangling-objects sections
+      user-manual: fix .gitconfig editing examples
+      user-manual: miscellaneous editing
+      user-manual: stop deprecating the manual
+      user-manual: fix clone and fetch typos
+
+Jakub Narębski (6):
+      gitweb: Add parsing of raw combined diff format to parse_difftree_raw_line
+      gitweb: Add combined diff support to git_difftree_body
+      gitweb: Add combined diff support to git_patchset_body
+      gitweb: Make it possible to use pre-parsed info in git_difftree_body
+      gitweb: Show combined diff for merge commits in 'commitdiff' view
+      gitweb: Show combined diff for merge commits in 'commit' view
+
+Jari Aalto (1):
+      SPECIFYING RANGES typo fix: it it => it is
+
+Jeff King (1):
+      Documentation: don't reference non-existent 'git-cvsapplycommit'
+
+Johannes Sixt (1):
+      git-gui: Call changes "Staged" and "Unstaged" in file list titles.
+
+Junio C Hamano (10):
+      diff: release blobs after generating textual diff.
+      diff.c: do not use a separate "size cache".
+      diff -M: release the preimage candidate blobs after rename detection.
+      diff -S: release the image after looking for needle in it
+      GIT v1.5.1.4
+      Update documentation links to point at 1.5.1.4
+      t9400: skip cvsserver test if Perl SQLite interface is unavailable
+      git-clone: don't get fooled by $PWD
+      .mailmap: add some aliases
+      GIT v1.5.2-rc3
+
+Matthieu Moy (2):
+      Document git add -u introduced earlier.
+      Added a reference to git-add in the documentation for git-update-index
+
+Michael Hendricks (1):
+      Document 'git-log --decorate'
+
+Michael Spang (3):
+      dir.c: Omit non-excluded directories with dir->show_ignored
+      t7300: Basic tests for git-clean
+      Fix minor documentation errors
+
+Paul Mackerras (1):
+      gitk: Allow user to choose whether to see the diff, old file, or new file
+
+Petr Baudis (2):
+      Git.pm: config_boolean() -> config_bool()
+      gitweb: Do not use absolute font sizes
+
+Quy Tonthat (2):
+      Add howto files to rpm packages.
+      Added new git-gui library files to rpm spec
+
+Richard P. Curnow (2):
+      Fix documentation of tag in git-fast-import.txt
+      Fix documentation of tag in git-fast-import.txt
+
+Shawn O. Pearce (32):
+      git-gui: Correctly handle UTF-8 encoded commit messages
+      git-gui: Allow spaces in path to 'wish'
+      git-gui: Include the subject in the status bar after commit
+      git-gui: Warn users before making an octopus merge
+      git-gui: Correct line wrapping for too many branch message
+      git-gui: Cleanup common font handling for font_ui
+      git-gui: Use option database defaults to set the font
+      git-gui: Refactor to use our git proc more often
+      git-gui: Track our own embedded values and rebuild when they change
+      Properly handle '0' filenames in import-tars
+      git-gui: Refactor into multiple files to save my sanity
+      git-gui: Move console procs into their own namespace
+      git-gui: Allow vi keys to scroll the diff/blame regions
+      git-gui: Move merge support into a namespace
+      git-gui: Show all possible branches for merge
+      git-gui: Include commit id/subject in merge choices
+      git-gui: Use vi-like keys in merge dialog
+      Remove duplicate exports from Makefile
+      git-gui: Allow shift-{k,j} to select a range of branches to merge
+      git-gui: Define a simple class/method system
+      git-gui: Convert browser, console to "class" format
+      git-gui: Don't attempt to inline array reads in methods
+      git-gui: Convert blame to the "class" way of doing things
+      git-gui: Use prefix if blame is run in a subdirectory
+      git-gui: Smarter command line parsing for browser, blame
+      git-gui: Generate blame on uncommitted working tree file
+      git-gui: Cleanup minor nits in blame code
+      git-gui: Format author/committer times in ISO format
+      Use .git/MERGE_MSG in cherry-pick/revert
+      git-gui: Paperbag fix blame in subdirectory
+      git gui 0.7.0
+      Correct error message in revert/cherry-pick
+
+Theodore Ts'o (2):
+      Add pack.depth option to git-pack-objects.
+      Increase pack.depth default to 50
+
+
+Version v1.5.2-rc2; changes since v1.5.2-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Small correction in reading of commit headers
+      Handle return code of parse_commit in revision machinery
+
+Alexandre Julliard (1):
+      http-fetch: Disable use of curl multi support for libcurl < 7.16.
+
+Arjen Laarhoven (1):
+      Document 'opendiff' value in config.txt and git-mergetool.txt
+
+Bryan Larsen (2):
+      Allow PERL_PATH="/usr/bin/env perl"
+      posix compatibility for t4200
+
+Carl Worth (1):
+      Mention version 1.5.1 in tutorial and user-manual
+
+Dana L. How (1):
+      Create pack-write.c for common pack writing code
+
+Daniel Barkalow (1):
+      Make xstrndup common
+
+Frank Lichtenheld (1):
+      cvsserver: Handle re-added files correctly
+
+Jakub Narębski (1):
+      diff format documentation: describe raw combined diff format
+
+James Bowes (1):
+      Documentation: fix typo in git-remote.txt
+
+Johannes Schindelin (1):
+      Teach import-tars about GNU tar's @LongLink extension.
+
+Jonas Fonseca (1):
+      git-tag(1): -v option is a subcommand; fix code block
+
+Junio C Hamano (6):
+      blame: use .mailmap unconditionally
+      diff.c: fix "size cache" handling.
+      blame: Notice a wholesale incorporation of an existing file.
+      blame: -C -C -C
+      Add test for blame corner cases.
+      GIT v1.5.2-rc2
+
+Karl Wiberg (2):
+      Fix markup in git-svn man page
+      Add --no-rebase option to git-svn dcommit
+
+Linus Torvalds (1):
+      Fix --boundary output
+
+Martin Koegler (1):
+      Fix compilation of test-delta
+
+Shawn O. Pearce (3):
+      Reuse fixup_pack_header_footer in index-pack
+      Don't use seq in tests, not everyone has it
+      Improve request-pull to handle non-rebased branches
+
+İsmail Dönmez (1):
+      gitweb: use decode_utf8 directly
+
+
+Version v1.5.2-rc1; changes since v1.5.2-rc0:
+---------------------------------------------
+
+Adam Roben (5):
+      Remove usernames from all commit messages, not just when using svmprops
+      git-svn: Don't rely on $_ after making a function call
+      git-svn: Ignore usernames in URLs in find_by_url
+      git-svn: Added 'find-rev' command
+      git-svn: Add 'find-rev' command
+
+Alex Riesen (8):
+      Fix handle leak in write_tree
+      Avoid excessive rewrites in merge-recursive
+      Add a test for merging changed and rename-changed branches
+      Ignore merged status of the file-level merge
+      Use strlcpy instead of strncpy in mailmap.c
+      Fix read_mailmap to handle a caller uninterested in repo abbreviation
+      Remove pointless calls to access(2) when checking for .mailmap
+      Include mailmap.h in mailmap.c to catch mailmap interface changes
+
+Andrew Ruder (8):
+      Removing -n option from git-diff-files documentation
+      Document additional options for git-fetch
+      Update git-fmt-merge documentation
+      Update git-grep documentation
+      Update -L documentation for git-blame/git-annotate
+      Update git-http-push documentation
+      Update git-local-fetch documentation
+      Update git-http-fetch documentation
+
+Andy Parkins (3):
+      post-receive-email example hook: fastforward should have been fast_forward
+      post-receive-email example hook: detect rewind-only updates and output sensible message
+      post-receive-email example hook: sed command for getting description was wrong
+
+Brian Gernhardt (2):
+      Reverse the order of -b and --track in the man page.
+      Ignore all man sections as they are generated files.
+
+Gerrit Pape (1):
+      Documentation/git-reset.txt: suggest git commit --amend in example.
+
+Jari Aalto (3):
+      Clarify SubmittingPatches Checklist
+      git.7: Mention preformatted html doc location
+      send-email documentation: clarify --smtp-server
+
+Johannes Schindelin (3):
+      dir.c(common_prefix): Fix two bugs
+      t4201: Do not display weird characters on the terminal
+      import-tars: be nice to wrong directory modes
+
+Josh Triplett (5):
+      Add clean.requireForce option, and add -f option to git-clean to override it
+      Fix typo in git-am: s/Was is/Was it/
+      Create a sysconfdir variable, and use it for ETC_GITCONFIG
+      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
+      Fall back to $EMAIL for missing GIT_AUTHOR_EMAIL and GIT_COMMITTER_EMAIL
+
+Julian Phillips (1):
+      http.c: Fix problem with repeated calls of http_init
+
+Junio C Hamano (25):
+      Move index-related variables into a structure.
+      Make read-cache.c "the_index" free.
+      Document "diff=driver" attribute
+      t5302: avoid using tail -c
+      t6030: grab commit object name as we go
+      Build RPM with ETC_GITCONFIG=/etc/gitconfig
+      Diff between two blobs should take mode changes into account now.
+      t/test-lib.sh: Protect ourselves from common misconfiguration that exports CDPATH to the environment
+      gitattributes documentation: clarify overriding
+      applymbox & quiltimport: typofix.
+      Add 'ident' conversion.
+      Add 'filter' attribute and external filter driver definition.
+      Add --date={local,relative,default}
+      Start preparing for 1.5.1.3
+      Do not barf on too long action description
+      Update .mailmap with "Michael"
+      Fix import-tars fix.
+      blame -s: suppress author name and time.
+      Split out mailmap handling out of shortlog
+      Apply mailmap in git-blame output.
+      Make macros to prevent double-inclusion in headers consistent.
+      Make sure test-genrandom and test-chmtime are builtas part of the main build.
+      Fix symlink handling in git-svn, related to PerlIO
+      GIT v1.5.1.3
+      GIT v1.5.2-rc1
+
+Luiz Fernando N. Capitulino (5):
+      remove_subtree(): Use strerror() when possible
+      entry.c: Use const qualifier for 'struct checkout' parameters
+      read_cache_from(): small simplification
+      core-tutorial: minor fixes
+      init_buffer(): Kill buf pointer
+
+Martin Koegler (5):
+      Add S_IFINVALID mode
+      add get_sha1_with_mode
+      add add_object_array_with_mode
+      store mode in rev_list, if <tree>:<filename> syntax is used
+      use mode of the tree in git-diff, if <tree>:<file> syntax is used
+
+Michele Ballabio (1):
+      git shortlog documentation: add long options and fix a typo
+
+Nicolas Pitre (1):
+      add file checkout progress
+
+OGAWA Hirofumi (1):
+      git-fetch: Fix "argument list too long"
+
+Robin H. Johnson (10):
+      Document --dry-run parameter to send-email.
+      Prefix Dry- to the message status to denote dry-runs.
+      Debugging cleanup improvements
+      Change the scope of the $cc variable as it is not needed outside of send_message.
+      Perform correct quoting of recipient names.
+      Validate @recipients before using it for sendmail and Net::SMTP.
+      Ensure clean addresses are always used with Net::SMTP
+      Allow users to optionally specify their envelope sender.
+      Document --dry-run and envelope-sender for git-send-email.
+      Sanitize @to recipients.
+
+Sami Farin (1):
+      fast-import: size_t vs ssize_t
+
+Shawn O. Pearce (4):
+      Don't repack existing objects in fast-import
+      Actually handle some-low memory conditions
+      Don't allow empty pathnames in fast-import
+      Catch empty pathnames in trees during fsck
+
+Uwe Kleine-König (1):
+      fix importing of subversion tars
+
+
+Version v1.5.2-rc0; changes since v1.5.1.6:
+-------------------------------------------
+
+Alex Riesen (7):
+      Fix passing of TCLTK_PATH to git-gui
+      Fix t4201: accidental arithmetic expansion
+      Fix permissions on test scripts
+      Tests for core subproject support
+      Simplify calling of CR/LF conversion routines
+      Fix a typo in crlf conversion code
+      Fix crash in t0020 (crlf conversion)
+
+Alexandre Julliard (1):
+      git.el: Add a commit description to the reflog.
+
+Andrew Ruder (1):
+      Add policy on user-interface changes
+
+Andy Parkins (1):
+      Show binary file size change in diff --stat
+
+Aneesh Kumar K.V (1):
+      gitview: annotation support
+
+Brian Gernhardt (2):
+      Remove unused WITH_OWN_SUBPROCESS_PY from RPM spec
+      Remove case-sensitive file in t3030-merge-recursive.
+
+Christian Couder (4):
+      Bisect: teach "bisect start" to optionally use one bad and many good revs.
+      Documentation: bisect: "start" accepts one bad and many good commits
+      Bisect: simplify "bisect start" logging.
+      Bisect: rename "t/t6030-bisect-run.sh" to "t/t6030-bisect-porcelain.sh".
+
+Eric Wong (1):
+      git-svn: bail out on incorrect command-line options
+
+Eygene Ryabinkin (11):
+      Add the WITH_P4IMPORT knob to the Makefile.
+      Added git-p4 package to the list of git RPMs.
+      Added correct Python path to the RPM specfile.
+      NO_TCLTK
+      Add --with-tcltk and --without-tcltk to configure.
+      Rewrite Tcl/Tk interpreter path for the GUI tools.
+      Eliminate checks of user-specified Tcl/Tk interpreter.
+      Allow wish interpreter to be defined with TCLTK_PATH
+      Teach git-gui to use the user-defined UI font everywhere.
+      Improve look-and-feel of the git-gui tool.
+      Do not break git-gui messages into multiple lines.
+
+Fernando J. Pereda (1):
+      Makefile: Add '+' to QUIET_SUBDIR0 to fix parallel make.
+
+Frank Lichtenheld (16):
+      cvsserver: Introduce new state variable 'method'
+      cvsserver: Handle three part keys in git config correctly
+      cvsserver: Allow to override the configuration per access method
+      cvsserver: Make the database backend configurable
+      cvsserver: Abort if connect to database fails
+      Documentation: Replace @@GIT_VERSION@@ in documentation
+      Documentation: Add version information to man pages
+      cvsserver: Use DBI->table_info instead of DBI->tables
+      cvsserver: Corrections to the database backend configuration
+      cvsserver: Add asciidoc documentation for new database backend configuration
+      gitweb: Allow forks with project list file
+      gitweb: Allow configuring the default projects order and add order 'none'
+      cvsserver: Allow to "add" a removed file
+      cvsserver: Reword documentation on necessity of write access
+      cvsserver: Document the GIT branches -> CVS modules mapping more prominently
+      config.txt: Add gitcvs.db* variables
+
+Jakub Narębski (2):
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (3)
+      gitweb: Quote hash keys, and do not use barewords keys
+
+James Bowes (1):
+      Document git-check-attr
+
+Jim Meyering (1):
+      sscanf/strtoul: parse integers robustly
+
+Johannes Schindelin (1):
+      Use print_wrapped_text() in shortlog
+
+Julian Phillips (1):
+      refs.c: add a function to sort a ref list, rather then sorting on add
+
+Junio C Hamano (83):
+      git-fetch: add --quiet
+      t6002: minor spelling fix.
+      git-rev-list: add --bisect-vars option.
+      git-rev-list --bisect: optimization
+      t6004: add a bit more path optimization test.
+      rev-list --bisect: Fix "halfway" optimization.
+      make the previous optimization work also on path-limited rev-list --bisect
+      Documentation: unbreak user-manual.
+      Optional Tck/Tk: ignore generated files.
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      _GIT_INDEX_OUTPUT: allow plumbing to output to an alternative index file.
+      git-read-tree --index-output=<file>
+      add_cache_entry(): removal of file foo does not conflict with foo/bar
+      unpack_trees.c: pass unpack_trees_options structure to keep_entry() as well.
+      unpack-trees: get rid of *indpos parameter.
+      Fix read-tree --prefix=dir/.
+      Fix twoway_merge that passed d/f conflict marker to merged_entry().
+      Fix switching to a branch with D/F when current branch has file D.
+      RPM spec: include git-p4 in the list of all packages.
+      Fix bogus error message from merge-recursive error path
+      Propagate cache error internal to refresh_cache() via parameter.
+      Rename internal function "add_file_to_cache" in builtin-update-index.c
+      Rename static variable write_index to update_index in builtin-apply.c
+      Rename add_file_to_index() to add_file_to_cache()
+      git-bisect: modernization
+      t6030: add a bit more tests to git-bisect
+      git-bisect: allow bisecting with only one bad commit.
+      git-push reports the URL after failing.
+      git-push to multiple locations does not stop at the first failure
+      A new merge stragety 'subtree'.
+      Start 1.5.2 cycle by prepareing RelNotes for it.
+      shortlog -w: make wrap-line behaviour optional.
+      t1000: fix case table.
+      Treat D/F conflict entry more carefully in unpack-trees.c::threeway_merge()
+      merge-recursive: do not barf on "to be removed" entries.
+      merge-recursive: handle D/F conflict case more carefully.
+      t3030: merge-recursive backend test.
+      git-fetch--tool pick-rref
+      git-fetch: use fetch--tool pick-rref to avoid local fetch from alternate
+      Add %m to '--pretty=format:'
+      Refactor patch-id filtering out of git-cherry and git-format-patch.
+      git-log --cherry-pick A...B
+      Documentation: --cherry-pick
+      Fix git {log,show,...} --pretty=email
+      Add basic infrastructure to assign attributes to paths
+      Define 'crlf' attribute.
+      Teach 'diff' about 'diff' attribute.
+      Fix 'crlf' attribute semantics.
+      Fix 'diff' attribute semantics.
+      Makefile: add patch-ids.h back in.
+      attribute macro support
+      Define a built-in attribute macro "binary".
+      Change attribute negation marker from '!' to '-'.
+      send-email: do not leave an empty CC: line if no cc is present.
+      Make sure quickfetch is not fooled with a previous, incomplete fetch.
+      Allow more than true/false to attributes.
+      merge-recursive: separate out xdl_merge() interface.
+      git-gui: Honor TCLTK_PATH if supplied
+      Allow specifying specialized merge-backend per path.
+      Add a demonstration/test of customized merge.
+      Update draft release notes for 1.5.2 with accumulated changes.
+      Custom low-level merge driver support.
+      Allow the default low-level merge driver to be configured.
+      Custom low-level merge driver: change the configuration scheme.
+      Allow low-level driver to specify different behaviour during internal merge.
+      Fix funny types used in attribute value representation
+      Counto-fix in merge-recursive
+      Simplify code to find recursive merge driver.
+      Documentation: support manual section (5) - file formats.
+      Update 'crlf' attribute semantics.
+      Document gitattributes(5)
+      git-add -u: match the index with working tree.
+      Fix bogus linked-list management for user defined merge drivers.
+      convert.c: restructure the attribute checking part.
+      lockfile: record the primary process.
+      Update documentation links to point at v1.5.1.2
+      Documentation/Makefile: fix section (5) installation
+      Update draft release notes for v1.5.2
+      pack-objects: quickfix for permission modes.
+      Fix 'quickfix' on pack-objects.
+      Update tests not to assume that generated packfiles are writable.
+      pack-objects: make generated packfile read-only
+      Support 'diff=pgm' attribute
+
+Linus Torvalds (24):
+      Optimize directory listing with pathspec limiter.
+      diff-lib: use ce_mode_from_stat() rather than messing with modes manually
+      Avoid overflowing name buffer in deep directory structures
+      Add 'resolve_gitlink_ref()' helper function
+      Add "S_IFDIRLNK" file mode infrastructure for git links
+      Teach "fsck" not to follow subproject links
+      Teach core object handling functions about gitlinks
+      Fix thinko in subproject entry sorting
+      Teach directory traversal about subprojects
+      Teach git-update-index about gitlinks
+      Don't show gitlink directories when we want "other" files
+      Teach git list-objects logic not to follow gitlinks
+      Teach "git-read-tree -u" to check out submodules as a directory
+      Fix gitlink index entry filesystem matching
+      Teach git list-objects logic to not follow gitlinks
+      Teach "git-read-tree -u" to check out submodules as a directory
+      Fix some "git ls-files -o" fallout from gitlinks
+      Expose subprojects as special files to "git diff" machinery
+      Add a generic "object decorator" interface, and make object refs use it
+      Add support for "commit name decorations" to log family of commands
+      Use proper object allocators for unknown object nodes too
+      Clean up object creation to use more common code
+      Fix working directory errno handling when unlinking a directory
+      Fix a copy-n-paste bug in the object decorator code.
+
+Luiz Fernando N. Capitulino (2):
+      ident.c: Use const qualifier for 'struct passwd' parameters
+      ident.c: Use size_t (instead of int) to store sizes
+
+Martin Koegler (1):
+      gitweb: Show "no difference" message for empty diff
+
+Michael S. Tsirkin (1):
+      Display the subject of the commit just made.
+
+Nicolas Pitre (32):
+      clean up and optimize nth_packed_object_sha1() usage
+      get rid of num_packed_objects()
+      make overflow test on delta base offset work regardless of variable size
+      add overflow tests on pack offset variables
+      compute a CRC32 for each object as stored in a pack
+      compute object CRC32 with index-pack
+      pack-objects: learn about pack index version 2
+      index-pack: learn about pack index version 2
+      sha1_file.c: learn about index version 2
+      show-index.c: learn about index v2
+      pack-redundant.c: learn about index v2
+      allow forcing index v2 and 64-bit offset treshold
+      validate reused pack data with CRC when possible
+      simple random data generator for tests
+      use test-genrandom in tests instead of /dev/urandom
+      tests for various pack index features
+      clean up add_object_entry()
+      pack-objects: optimize preferred base handling a bit
+      pack-objects: equal objects in size should delta against newer objects
+      pack-objects: rework check_delta_limit usage
+      pack-objects: clean up list sorting
+      pack-objects: get rid of reuse_cached_pack
+      pack-objects: get rid of create_final_object_list()
+      pack-objects: make in_pack_header_size a variable of its own
+      add get_size_from_delta()
+      pack-objects: better check_object() performances
+      pack-objects: remove obsolete comments
+      document --index-version for index-pack and pack-objects
+      common progress display support
+      make progress "title" part of the common progress interface
+      provide a facility for "delayed" progress reporting
+      delay progress display when checking out files
+
+René Scharfe (1):
+      git-archive: make tar the default format
+
+Robin H. Johnson (2):
+      Add custom subject prefix support to format-patch (take 3)
+      Add testcase for format-patch --subject-prefix (take 3)
+
+Shawn O. Pearce (8):
+      Always bind the return key to the default button
+      Fix lost-found to show commits only referenced by reflogs
+      Don't yap about merge-subtree during make
+      git-gui: Display the directory basename in the title
+      Revert "Allow wish interpreter to be defined with TCLTK_PATH"
+      Contribute a fairly paranoid update hook
+      Kill the useless progress meter in merge-recursive
+      Cleanup variables in cat-file
+
+Steven Grimm (3):
+      Add --quiet option to suppress output of "rm" commands for removed files.
+      git-rm: Trivial fix for a comment typo.
+      Add --ignore-unmatch option to exit with zero status when no files are removed.
+
+Xavier Maillard (2):
+      git-blame.el: separate git-blame-mode to ease maintenance
+      git-blame.el: pick a set of random colors for each git-blame turn
+
+
+Version v1.5.1.6; changes since v1.5.1.5:
+-----------------------------------------
+
+Eric Wong (2):
+      git-svn: avoid crashing svnserve when creating new directories
+      git-svn: don't minimize-url when doing an init that tracks multiple paths
+
+J. Bruce Fields (4):
+      tutorials: add user-manual links
+      tutorial: revise index introduction
+      user-manual: discourage shared repository
+      user-manual: finding commits referencing given file content
+
+Johan Herland (1):
+      user-manual: Add section on ignoring files
+
+Junio C Hamano (1):
+      GIT 1.5.1.6
+
+Matthias Kestenholz (2):
+      Documentation: Added [verse] to SYNOPSIS where necessary
+      Documentation: Reformatted SYNOPSIS for several commands
+
+
+Version v1.5.1.5; changes since v1.5.1.4:
+-----------------------------------------
+
+Alex Riesen (1):
+      Allow fetching references from any namespace
+
+Andy Whitcroft (1):
+      git name-rev writes beyond the end of malloc() with large generations
+
+Eric Wong (4):
+      git-svn: don't drop the username from URLs when dcommit is run
+      git-svn: clean up caching of SVN::Ra functions
+      git-svn: fix segfaults due to initial SVN pool being cleared
+      git-svn: don't attempt to minimize URLs by default
+
+Frank Lichtenheld (3):
+      builtin-log.c: Fix typo in comment
+      Documentation: format-patch has no --mbox option
+      git-am: Clean up the asciidoc documentation
+
+J. Bruce Fields (10):
+      user-manual: revise birdseye-view chapter
+      glossary: expand and clarify some definitions, prune cross-references
+      user-manual: move quick-start to an appendix
+      Documentation: remove howto's now incorporated into manual
+      user-manual: move howto/make-dist.txt into user manual
+      user-manual: move howto/using-topic-branches into manual
+      user-manual: add a "counting commits" example
+      user-manual: introduce git
+      user-manual: listing commits reachable from some refs not others
+      user-manual: reorganize public git repo discussion
+
+Jakub Narębski (1):
+      gitweb: Add a few comments about %feature hash
+
+Jan Hudec (1):
+      Updated documentation of hooks in git-receive-pack.
+
+Jari Aalto (1):
+      SPECIFYING RANGES typo fix: it it => it is
+
+Jeff King (1):
+      format-patch: add MIME-Version header when we add content-type.
+
+Johannes Schindelin (2):
+      import-tars: Use the "Link indicator" to identify directories
+      Add a birdview-on-the-source-code section to the user manual
+
+Junio C Hamano (7):
+      git-clone: don't get fooled by $PWD
+      .mailmap: add some aliases
+      checkout: allow detaching to HEAD even when switching to the tip of a branch
+      git-config: do not forget seeing "a.b.var" means we are out of "a.var" section.
+      Fix git-clone buglet for remote case.
+      Prepare for 1.5.1.5 Release Notes
+      GIT v1.5.1.5
+
+Marco Costalba (1):
+      Fix an unmatched comment end in arm/sha1_arm.S
+
+Matthieu Castet (1):
+      Remove stale non-static-inline prototype for tree_entry_extract()
+
+Michael Hendricks (2):
+      git-send-email: allow leading white space on mutt aliases
+      Document core.excludesfile for git-add
+
+Petr Baudis (1):
+      Documentation: git-rev-list's "patterns"
+
+Quy Tonthat (2):
+      RPM spec: include files in technical/ to package.
+      Documentation/branch: fix small typo in -D example
+
+Richard P. Curnow (2):
+      Fix documentation of tag in git-fast-import.txt
+      Fix documentation of tag in git-fast-import.txt
+
+Shawn O. Pearce (1):
+      Properly handle '0' filenames in import-tars
+
+Steffen Prohaska (3):
+      tiny fix in documentation of git-clone
+      git-config: test for 'do not forget "a.b.var" ends "a.var" section'.
+      Fixed link in user-manual
+
+
+Version v1.5.1.4; changes since v1.5.1.3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Small correction in reading of commit headers
+
+Alexandre Julliard (1):
+      http-fetch: Disable use of curl multi support for libcurl < 7.16.
+
+Amos Waterland (1):
+      wcwidth redeclaration
+
+Arjen Laarhoven (1):
+      Document 'opendiff' value in config.txt and git-mergetool.txt
+
+Bryan Larsen (2):
+      Allow PERL_PATH="/usr/bin/env perl"
+      posix compatibility for t4200
+
+Carl Worth (1):
+      Mention version 1.5.1 in tutorial and user-manual
+
+Daniel Barkalow (1):
+      Make xstrndup common
+
+Frank Lichtenheld (1):
+      cvsserver: Handle re-added files correctly
+
+J. Bruce Fields (7):
+      user-manual: more discussion of detached heads, fix typos
+      user-manual: add section ID's
+      user-manual: clean up fast-forward and dangling-objects sections
+      user-manual: fix .gitconfig editing examples
+      user-manual: miscellaneous editing
+      user-manual: stop deprecating the manual
+      user-manual: fix clone and fetch typos
+
+Jakub Narębski (1):
+      diff format documentation: describe raw combined diff format
+
+James Bowes (1):
+      Documentation: fix typo in git-remote.txt
+
+Jeff King (1):
+      Documentation: don't reference non-existent 'git-cvsapplycommit'
+
+Johannes Schindelin (1):
+      Teach import-tars about GNU tar's @LongLink extension.
+
+Junio C Hamano (5):
+      diff.c: fix "size cache" handling.
+      blame: Notice a wholesale incorporation of an existing file.
+      blame: -C -C -C
+      Add test for blame corner cases.
+      GIT v1.5.1.4
+
+Karl Wiberg (2):
+      Fix markup in git-svn man page
+      Add --no-rebase option to git-svn dcommit
+
+Linus Torvalds (1):
+      Fix --boundary output
+
+Martin Koegler (1):
+      Fix compilation of test-delta
+
+Paul Mackerras (1):
+      gitk: Allow user to choose whether to see the diff, old file, or new file
+
+Quy Tonthat (1):
+      Add howto files to rpm packages.
+
+Shawn O. Pearce (1):
+      git-gui: Allow spaces in path to 'wish'
+
+İsmail Dönmez (1):
+      gitweb: use decode_utf8 directly
+
+
+Version v1.5.1.3; changes since v1.5.1.2:
+-----------------------------------------
+
+Adam Roben (5):
+      Remove usernames from all commit messages, not just when using svmprops
+      git-svn: Don't rely on $_ after making a function call
+      git-svn: Ignore usernames in URLs in find_by_url
+      git-svn: Added 'find-rev' command
+      git-svn: Add 'find-rev' command
+
+Alex Riesen (1):
+      Fix handle leak in write_tree
+
+Andrew Ruder (8):
+      Removing -n option from git-diff-files documentation
+      Document additional options for git-fetch
+      Update git-fmt-merge documentation
+      Update git-grep documentation
+      Update -L documentation for git-blame/git-annotate
+      Update git-http-push documentation
+      Update git-local-fetch documentation
+      Update git-http-fetch documentation
+
+Brian Gernhardt (2):
+      Reverse the order of -b and --track in the man page.
+      Ignore all man sections as they are generated files.
+
+Gerrit Pape (1):
+      Documentation/git-reset.txt: suggest git commit --amend in example.
+
+Jari Aalto (3):
+      Clarify SubmittingPatches Checklist
+      git.7: Mention preformatted html doc location
+      send-email documentation: clarify --smtp-server
+
+Johannes Schindelin (2):
+      dir.c(common_prefix): Fix two bugs
+      import-tars: be nice to wrong directory modes
+
+Josh Triplett (3):
+      Fix typo in git-am: s/Was is/Was it/
+      Create a sysconfdir variable, and use it for ETC_GITCONFIG
+      Add missing reference to GIT_COMMITTER_DATE in git-commit-tree documentation
+
+Julian Phillips (1):
+      http.c: Fix problem with repeated calls of http_init
+
+Junio C Hamano (8):
+      Build RPM with ETC_GITCONFIG=/etc/gitconfig
+      applymbox & quiltimport: typofix.
+      Start preparing for 1.5.1.3
+      Do not barf on too long action description
+      Update .mailmap with "Michael"
+      Fix import-tars fix.
+      Fix symlink handling in git-svn, related to PerlIO
+      GIT v1.5.1.3
+
+Michele Ballabio (1):
+      git shortlog documentation: add long options and fix a typo
+
+Robin H. Johnson (10):
+      Document --dry-run parameter to send-email.
+      Prefix Dry- to the message status to denote dry-runs.
+      Debugging cleanup improvements
+      Change the scope of the $cc variable as it is not needed outside of send_message.
+      Perform correct quoting of recipient names.
+      Validate @recipients before using it for sendmail and Net::SMTP.
+      Ensure clean addresses are always used with Net::SMTP
+      Allow users to optionally specify their envelope sender.
+      Document --dry-run and envelope-sender for git-send-email.
+      Sanitize @to recipients.
+
+Shawn O. Pearce (3):
+      Actually handle some-low memory conditions
+      Don't allow empty pathnames in fast-import
+      Catch empty pathnames in trees during fsck
+
+
+Version v1.5.1.2; changes since v1.5.1.1:
+-----------------------------------------
+
+Alex Riesen (3):
+      Use rev-list --reverse in git-rebase.sh
+      Document -g (--walk-reflogs) option of git-log
+      Fix overwriting of files when applying contextually independent diffs
+
+Andrew Ruder (8):
+      Update git-am documentation
+      Update git-applymbox documentation
+      Update git-apply documentation
+      Update git-annotate/git-blame documentation
+      Update git-archive documentation
+      Update git-cherry-pick documentation
+      Fix unmatched emphasis tag in git-tutorial
+      Update git-config documentation
+
+Andy Whitcroft (1):
+      fix up strtoul_ui error handling
+
+Carlos Rica (1):
+      Use const qualifier for 'sha1' parameter in delete_ref function
+
+Eric Wong (4):
+      git-svn: respect lower bound of -r/--revision when following parent
+      git-svn: quiet some warnings when run only with --version/--help
+      git-svn: don't allow globs to match regular files
+      perl: install private Error.pm if the site version is older than our own
+
+Eygene Ryabinkin (2):
+      Teach gitk to use the user-defined UI font everywhere.
+      Improve look-and-feel of the gitk tool.
+
+Frank Lichtenheld (5):
+      config.txt: Document gitcvs.allbinary
+      config.txt: Document core.autocrlf
+      config.txt: Change pserver to server in description of gitcvs.*
+      config.txt: Fix grammatical error in description of http.noEPSV
+      git-shortlog: Fix two formatting errors in asciidoc documentation
+
+Gerrit Pape (2):
+      variable $projectdesc needs to be set before checking against unchanged default.
+      Have sample update hook not refuse deleting a branch through push.
+
+J. Bruce Fields (7):
+      Documentation: minor edits of git-lost-found manpage
+      Documentation: clarify git-checkout -f, minor editing
+      Documentation: clarify track/no-track option.
+      user-manual: fix discussion of default clone
+      user-manual: detached HEAD
+      user-manual: start revising "internals" chapter
+      user-manual: use detached head when rewriting history
+
+Jim Meyering (1):
+      sscanf/strtoul: parse integers robustly
+
+Junio C Hamano (4):
+      Do not default to --no-index when given two directories.
+      Start preparing for 1.5.1.2
+      git-clone: fix dumb protocol transport to clone from pack-pruned ref
+      GIT 1.5.1.2
+
+Linus Torvalds (1):
+      git-quiltimport complaining yet still working
+
+Matthias Lederhofer (1):
+      handle_options in git wrapper miscounts the options it handled.
+
+Michael Spang (1):
+      git-blame: Fix overrun in fake_working_tree_commit()
+
+Sam Vilain (1):
+      git-tar-tree: complete deprecation conversion message
+
+Shawn O. Pearce (1):
+      git-gui: Brown paper bag fix division by 0 in blame
+
+
+Version v1.5.1.1; changes since v1.5.1:
+---------------------------------------
+
+Arjen Laarhoven (4):
+      usermanual.txt: some capitalization nits
+      t3200-branch.sh: small language nit
+      t5300-pack-object.sh: portability issue using /usr/bin/stat
+      Makefile: iconv() on Darwin has the old interface
+
+Brian Gernhardt (3):
+      Fix t4200-rerere for white-space from "wc -l"
+      Document --left-right option to rev-list.
+      Distinguish branches by more than case in tests.
+
+Dana L. How (1):
+      Fix lseek(2) calls with args 2 and 3 swapped
+
+Eric Wong (3):
+      git-svn: bail out on incorrect command-line options
+      git-svn: dcommit/rebase confused by patches with git-svn-id: lines
+      git-svn: fix log command to avoid infinite loop on long commit messages
+
+Frank Lichtenheld (7):
+      cvsimport: sync usage lines with existing options
+      cvsimport: Improve documentation of CVSROOT and CVS module determination
+      cvsimport: Improve usage error reporting
+      cvsimport: Reorder options in documentation for better understanding
+      cvsimport: Improve formating consistency
+      cvsserver: small corrections to asciidoc documentation
+      cvsserver: Fix handling of diappeared files on update
+
+Geert Bosch (1):
+      Fix renaming branch without config file
+
+Gerrit Pape (1):
+      rename contrib/hooks/post-receieve-email to contrib/hooks/post-receive-email.
+
+Jakub Narębski (1):
+      gitweb: Fix bug in "blobdiff" view for split (e.g. file to symlink) patches
+
+Jim Meyering (1):
+      (encode_85, decode_85): Mark source buffer pointer as "const".
+
+Julian Phillips (1):
+      Documentation: show-ref: document --exclude-existing
+
+Junio C Hamano (7):
+      rerere: make sorting really stable.
+      Fix dependency of common-cmds.h
+      Documentation: tighten dependency for git.{html,txt}
+      Prepare for 1.5.1.1
+      Add Documentation/cmd-list.made to .gitignore
+      fsck: do not complain on detached HEAD.
+      GIT 1.5.1.1
+
+Lars Hjemli (2):
+      rename_ref(): only print a warning when config-file update fails
+      Make builtin-branch.c handle the git config file
+
+René Scharfe (1):
+      Revert "builtin-archive: use RUN_SETUP"
+
+Shawn O. Pearce (1):
+      Honor -p<n> when applying git diffs
+
+Tomash Brechko (1):
+      cvsexportcommit -p : fix the usage of git-apply -C.
+
+Ville Skyttä (1):
+      DESTDIR support for git/contrib/emacs
+
+YOSHIFUJI Hideaki (1):
+      Avoid composing too long "References" header.
+
+
+Version v1.5.1; changes since v1.5.1-rc3:
+-----------------------------------------
+
+Alex Riesen (1):
+      Keep rename/rename conflicts of intermediate merges while doing recursive merge
+
+Andy Parkins (1):
+      Reimplement emailing part of hooks--update in contrib/hooks/post-receive-email
+
+Christian Couder (1):
+      Bisect: Improve error message in "bisect_next_check".
+
+Don Zickus (1):
+      git-mailinfo fixes for patch munging
+
+Eric Wong (2):
+      git-svn: avoid respewing similar error messages for missing paths
+      git-svn: fail on rebase if we are unable to find a ref to rebase against
+
+Francis Daly (1):
+      git-quiltimport /bin/sh-ism fix
+
+Frank Lichtenheld (1):
+      cvsserver: Don't lie about binary mode in asciidoc documentation
+
+Gerrit Pape (2):
+      Documentation/git-svnimport.txt: fix typo.
+      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Jakub Narębski (2):
+      gitweb: Support comparing blobs (files) with different names
+      Documentation: A few minor fixes to Git User's Manual
+
+Julian Phillips (1):
+      contrib/workdir: add a simple script to create a working directory
+
+Junio C Hamano (6):
+      Update draft release notes for 1.5.1
+      Do not bother documenting fetch--tool
+      Hopefully final update to the draft Release Notes, preparing for 1.5.1
+      rerere should not repeat the earlier hunks in later ones
+      GIT 1.5.0.7
+      GIT 1.5.1
+
+Nicolas Pitre (1):
+      Plug memory leak in index-pack collision checking codepath.
+
+Theodore Ts'o (12):
+      Fix minor formatting issue in man page for git-mergetool
+      mergetool: Replace use of "echo -n" with printf(1) to be more portable
+      mergetool: Don't error out in the merge case where the local file is deleted
+      mergetool: portability fix: don't assume true is in /bin
+      mergetool: portability fix: don't use reserved word function
+      mergetool: factor out common code
+      mergetool: Remove spurious error message if merge.tool config option not set
+      mergetool: Fix abort command when resolving symlinks and deleted files
+      mergetool: Add support for Apple Mac OS X's opendiff command
+      mergetool: Make git-rm quiet when resolving a deleted file conflict
+      mergetool: Clean up description of files and prompts for merge resolutions
+      Rename warn() to warning() to fix symbol conflicts on BSD and Mac OS
+
+
+Version v1.5.1-rc3; changes since v1.5.1-rc2:
+---------------------------------------------
+
+Alexandre Julliard (1):
+      git.el: Display some information about the HEAD commit.
+
+Christian Couder (2):
+      Bisect: Use "git-show-ref --verify" when reseting.
+      Bisect: add checks at the beginning of "git bisect run".
+
+Gerrit Pape (3):
+      Makefile: remove test-chmtime program in target clean.
+      http-fetch: don't use double-slash as directory separator in URLs
+      http-fetch: remove path_len from struct alt_base, it was computed but never used
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Jakub Narębski (2):
+      gitweb: Add example of config file and how to generate projects list to gitweb/INSTALL
+      gitweb: Cleanup and uniquify die_error calls
+
+James Bowes (2):
+      read-tree: use xcalloc
+      use xrealloc in help.c
+
+Jeff King (6):
+      git-rm: don't remove newly added file without -f
+      --pretty=format: fix broken %ct and %at interpolation
+      Add some basic tests of rev-list --pretty=format
+      Fix "--pretty=format:" encoding item
+      t/t6006: add tests for a slightly more complex commit messages
+      commit: fix pretty-printing of messages with "\nencoding "
+
+Jim Meyering (1):
+      sha1_file.c (write_sha1_from_fd): Detect close failure.
+
+Johannes Schindelin (1):
+      t4118: be nice to non-GNU sed
+
+Junio C Hamano (7):
+      Document git-log --first-parent
+      sha1_file.c (write_sha1_file): Detect close failure
+      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
+      Fix "--pretty=format:" for parent related items.
+      GIT 1.5.0.6
+      Update main git.html page to point at 1.5.0.6 documentation
+      GIT 1.5.1-rc3
+
+Linus Torvalds (1):
+      Fix "getaddrinfo()" buglet
+
+
+Version v1.5.1-rc2; changes since v1.5.1-rc1:
+---------------------------------------------
+
+Alex Riesen (2):
+      Document --quiet option to git-diff
+      Use diff* with --exit-code in git-am, git-rebase and git-merge-ours
+
+Andy Parkins (2):
+      update-hook: abort early if the project description is unset
+      update-hook: remove e-mail sending hook.
+
+Brandon Casey (1):
+      prefer "git COMMAND" over "git-COMMAND" in gitk
+
+Chris Wright (1):
+      make git clone -q suppress the noise with http fetch
+
+Christian Couder (6):
+      Bisect: implement "git bisect run <cmd>..." to automatically bisect.
+      Documentation: bisect: reformat some paragraphs.
+      Documentation: bisect: reword one paragraph.
+      Documentation: bisect: reformat more paragraphs.
+      Documentation: bisect: add some titles to some paragraphs.
+      Documentation: bisect: make a comment fit better in the man page.
+
+Eric Wong (2):
+      gitk: bind <F5> key to Update (reread commits)
+      git-svn: fix rel_path() when not connected to the repository root
+
+J. Bruce Fields (5):
+      user-manual: run xsltproc without --nonet option
+      user-manual: Use def_ instead of ref_ for glossary references.
+      glossary: stop generating automatically
+      glossary: clean up cross-references
+      user-manual: introduce "branch" and "branch head" differently
+
+Jakub Narębski (4):
+      gitweb: Fix "next" link in commit view
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+      gitweb: Fix not marking signoff lines in "log" view
+      gitweb: Add some installation notes in gitweb/INSTALL
+
+James Bowes (2):
+      Replace remaining instances of strdup with xstrdup.
+      use xmalloc in git.c and help.c
+
+Jim Meyering (1):
+      user-manual.txt: fix a tiny typo.
+
+Johannes Schindelin (5):
+      xdiff/xutils.c(xdl_hash_record): factor out whitespace handling
+      Add a HOWTO for setting up a standalone git daemon
+      Provide some technical documentation for shallow clones
+      t4118: be nice to non-GNU sed
+      git-revert: Revert revert message to old behaviour
+
+Johannes Sixt (1):
+      Teach git-remote to list pushed branches.
+
+Junio C Hamano (15):
+      git-log --first-parent: show only the first parent log
+      blame: micro-optimize cmp_suspect()
+      blame: cmp_suspect is not "cmp" anymore.
+      Teach tree_entry_interesting() that the tree entries are sorted.
+      tree-diff: avoid strncmp()
+      tree_entry_interesting(): allow it to say "everything is interesting"
+      git-rebase: make 'rebase HEAD branch' work as expected.
+      git-apply: Do not free the wrong buffer when we convert the data for writeout
+      checkout: report where the new HEAD is upon detaching HEAD
+      git-bisect: typofix
+      git-bisect.sh: properly dq $GIT_DIR
+      Fix path-limited "rev-list --bisect" termination condition.
+      git-am documentation: describe what is taken from where.
+      Update README to point at a few key periodical messages to the list
+      GIT 1.5.1-rc2
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Linus Torvalds (6):
+      Fix loose object uncompression check.
+      Don't ever return corrupt objects from "parse_object()"
+      Be more careful about zlib return values
+      Remove "pathlen" from "struct name_entry"
+      Initialize tree descriptors with a helper function rather than by hand.
+      Switch over tree descriptors to contain a pre-parsed entry
+
+Michael S. Tsirkin (2):
+      fix typo in git-am manpage
+      git-merge: Put FETCH_HEAD data in merge commit message
+
+Nicolas Pitre (10):
+      clean up the delta base cache size a bit
+      use a LRU eviction policy for the delta base cache
+      don't ever allow SHA1 collisions to exist by fetching a pack
+      index-pack: use hash_sha1_file()
+      index-pack: more validation checks and cleanups
+      improve checkout message when asking for same branch
+      minor git-prune optimization
+      update HEAD reflog when branch pointed to by HEAD is directly modified
+      make it more obvious that temporary files are temporary files
+      write_sha1_from_fd() should make new objects read-only
+
+Peter Eriksen (1):
+      Documentation/pack-format.txt: Clear up description of types.
+
+Santi Béjar (1):
+      git-fetch: Fix single_force in append_fetch_head
+
+Shawn O. Pearce (1):
+      contrib/continuous: a continuous integration build manager
+
+Uwe Kleine-König (1):
+      Bisect: convert revs given to good and bad to commits
+
+
+Version v1.5.1-rc1; changes since v1.5.0.7:
+-------------------------------------------
+
+Alex Riesen (7):
+      disable t4016-diff-quote.sh on some filesystems
+      git-gui: Support of "make -s" in: do not output anything of the build itself
+      More build output cleaning up
+      Support of "make -s": do not output anything of the build itself
+      Allow "make -w" generate its usual output
+      Allow git-diff exit with codes similar to diff(1)
+      Add tests for --quiet option of diff programs
+
+Alexandre Julliard (1):
+      git.el: Add support for commit hooks.
+
+Andy Parkins (7):
+      Only show log entries for new revisions in hooks--update
+      Have git-cvsserver call hooks/update before really altering the ref
+      The "table-of-contents" in the update hook script should match the body
+      cvsserver: Remove trailing "\n" from commithash in checkin function
+      cvsserver: Make always-binary mode a config file option
+      Sample update hook: typofix and modernization to use "git log"
+      update-hook: fix incorrect use of git-describe and sed for finding previous tag
+
+Aneesh Kumar K.V (1):
+      Documentation: document remote.<name>.tagopt
+
+Avi Kivity (1):
+      git-send-email: configurable bcc and chain-reply-to
+
+Don Zickus (3):
+      builtin-mailinfo.c infrastrcture changes
+      restrict the patch filtering
+      Add a couple more test cases to the suite.
+
+Eric Wong (119):
+      git-svn: move authentication prompts into their own namespace
+      git-svn: cleanup: move process_rm around
+      git-svn: cleanup: put SVN workarounds into their own namespace
+      git-svn: cleanup: avoid re-use()ing Git.pm in sub-packages
+      git-svn: add Git::SVN module (to avoid global variables)
+      git-svn: convert 'init' to use Git::SVN
+      git-svn: convert multi-init over to using Git::SVN
+      git-svn: make multi-init capable of reusing the Ra connection
+      git-svn: add a test for show-ignore
+      git-svn: convert show-ignore over to Git::SVN
+      git-svn: moved the 'log' command into its own namespace
+      git-svn: port the 'rebuild' command to use Git::SVN objects
+      git-svn: do not let Git.pm warn if we prematurely close pipes
+      git-svn: convert the 'commit-diff' command to Git::SVN
+      git-svn: get rid of Memoize for now...
+      git-svn: fetch/multi-fetch converted over to Git::SVN module
+      git-svn: switch dcommit to using Git::SVN code
+      git-svn: convert 'set-tree' command to use Git::SVN
+      git-svn: remove graft-branches command
+      git-svn: add support for metadata in .git/config
+      git-svn: fix a regression in dcommit that caused empty log messages
+      git-svn: reuse open SVN::Ra connections by URL
+      git-svn: enable --minimize to simplify the config and connections
+      git-svn: fix --follow-parent to work with Git::SVN
+      git-svn: --follow-parent works with svn-remotes multiple branches
+      git-svn: disallow ambigious local refspecs
+      git-svn: allow --follow-parent on deleted directories
+      git-svn: get rid of additional fetch-arguments
+      git-svn: allow 'init' to work outside of tests
+      git-svn: better error reporting if --follow-parent fails
+      git-svn: 'init' attempts to connect to the repository root if possible
+      git-svn: --follow-parent now works on sub-directories of larger branches
+      git-svn: track writes writes to the index in fetch
+      git-svn: add an odd test case that seems to cause segfaults over HTTP
+      git-svn: avoid tracking change-less revisions
+      git-svn: correctly track revisions made to deleted branches
+      git-svn: fix segfaults from accessing svn_log_changed_path_t
+      git-svn: fix committing to subdirectories, add tests
+      git-svn: avoid an extra svn_ra connection during commits
+      git-svn: simplify usage of the SVN::Git::Editor interface
+      git-svn: cleanup remove unused function
+      git-svn: allow multi-fetch to fetch things chronologically
+      git-svn: correctly track diff-less copies with do_switch
+      git-svn: correctly handle do_{switch,update} in deep directories
+      git-svn: stop using path names as refnames with --follow-parent
+      git-svn: cleanup: move editor-specific variables into the editor namespace
+      git-svn: just use Digest::MD5 instead of requiring it
+      git-svn: reinstate the default SVN error handler after using get_log
+      git-svn: don't rely on do_switch + reparenting with svn(+ssh)://
+      git-svn: fetch tracks initial change with --follow-parent
+      git-svn: remove the 'rebuild' command and make the functionality automatic
+      git-svn: fix several fetch bugs related to repeated invocations
+      git-svn: reinstate --no-metadata, add --svn-remote=, variable cleanups
+      git-svn: gracefully handle --follow-parent failures
+      git-svn: make (multi-)fetch safer but slower
+      git-svn: avoid a huge memory spike with high-numbered revisions
+      git-svn: re-enable repacking flags
+      git-svn: do our best to ensure that our ref and rev_db are consistent
+      git-svn: avoid redundant get_log calls between invocations
+      git-svn: use sys* IO functions for reading rev_db
+      git-svn: don't write to the config file from --follow-parent
+      git-svn: save paths to tags/branches with for future reuse
+      git-svn: migrations default to [svn-remote "git-svn"]
+      git-svn: get rid of revisions_eq check for --follow-parent
+      git-svn: avoid extra get_log calls when refspecs are added for fetching
+      git-svn: just name the default svn-remote "svn" instead of "git-svn"
+      git-svn: prepare multi-init for wildcard support
+      git-svn: reintroduce using a single get_log() to fetch
+      git-svn: run get_log() on a sub-directory if possible
+      git-svn: implement auto-discovery of branches/tags
+      git-svn: --follow-parent tracks multi-parent paths
+      git-svn: remove check_path calls before calling do_update
+      git-svn: remove some noisy debugging messages
+      git-svn: enable follow-parent functionality by default
+      git-svn: fix buggy regular expression usage in several places
+      git-svn: correctly handle the -q flag in SVN::Git::Fetcher
+      git-svn: correctly handle globs with a right-hand-side path component
+      git-svn: remove optimized commit stuff for set-tree
+      git-svn: add support for SVN::Mirror/svk using revprops for metadata
+      git-svn: add support for per-[svn-remote "..."] options
+      git-svn: use private $GIT_DIR/svn/config file more
+      git-svn: extra safety for noMetadata and useSvmProps users
+      git-svn: use separate, per-repository .rev_db files
+      git-svn: write the highest maxRex out for branches and tags
+      git-svn: handle multi-init without --trunk, UseSvmProps fixes
+      git-svn: make dcommit usable for glob users
+      git-svn: include merges when calling rev-list for decommit
+      git-svn: usability fixes for the 'git svn log' command
+      t910*: s/repo-config/config/g; poke around possible race conditions
+      git-svn: hopefully make 'fetch' more user-friendly
+      git-svn: allow 'init' to act as multi-init
+      git-svn: brown paper bag fixes
+      git-svn: simplify the (multi-)init methods of fetching
+      git-svn: allow --log-window-size to be specified, default to 100
+      git-svn: remember to check for clean indices on globbed refs, too
+      git-svn: error checking for invalid [svn-remote "..."] sections
+      git-svn: allow dcommit for those who only fetch from SVM with useSvmProps
+      git-svn: documentation updates for new functionality
+      git-svn: add support for --stat in the log command
+      git-svn: checkout files on new fetches
+      git-svn: add a 'rebase' command
+      git-svn: fix some issues for people migrating from older versions
+      git-svn: hide the private git-svn 'config' file as '.metadata'
+      git-svn: add 'clone' command, an alias for init + fetch
+      git-svn: allow overriding of the SVN repo root in metadata
+      git-svn: add support for using svnsync properties
+      git-svn: fix useSvmProps, hopefully for the last time
+      git-svn: add test for useSvnsyncProps
+      git-svn: documentation updates
+      git-svn: allow metadata options to be specified with 'init' and 'clone'
+      git-svn: give show-ignore HEAD smarts, like dcommit and log
+      git-svn: ensure we're at the top-level and can access $GIT_DIR
+      git-svn: fix clone when a target directory has been specified
+      git-svn: fix reconnections to different paths of svn:// repositories
+      git-svn: fix some potential bugs with --follow-parent
+      Add test-chmtime: a utility to change mtime on files
+      Update tests to use test-chmtime
+      git-svn: fix show-ignore when not connected to the repository root
+      git-svn: add -l/--local command to "git svn rebase"
+
+Frank Lichtenheld (3):
+      cvsserver: Use Merged response instead of Update-existing for merged files
+      cvsserver: Be more chatty
+      cvsserver: further improve messages on commit and status
+
+Fredrik Kuivinen (1):
+      New autoconf test for iconv
+
+J. Bruce Fields (1):
+      Make git-send-email aware of Cc: lines.
+
+Jakub Narębski (1):
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+
+James Bowes (3):
+      add: Support specifying an excludes file with a configuration variable
+      Make gc a builtin.
+      mergetool: Add support for vimdiff.
+
+Jeff King (1):
+      New fast-import test case for valid tree sorting
+
+Jim Meyering (2):
+      I like the idea of the new ':/<oneline prefix>' notation, and gave it a try, but all I could get was a segfault.  It was dereferencing a NULL commit list.  Fix below.  With it, this example now works:
+      git-grep: don't use sscanf
+
+Johannes Schindelin (42):
+      Teach revision machinery about --reverse
+      teach diff machinery about --ignore-space-at-eol
+      name-rev: introduce the --refs=<pattern> option
+      diff --check: use colour
+      apply: fix memory leak in prefix_one()
+      name-rev: avoid "^0" when unneeded
+      rev-list --max-age, --max-count: support --boundary
+      fetch & clone: do not output progress when not on a tty
+      config: read system-wide defaults from /etc/gitconfig
+      git grep: use pager
+      Teach diff -B about colours
+      apply: make --verbose a little more useful
+      Teach git-diff-files the new option `--no-index`
+      pretty-formats: add 'format:<string>'
+      Make tests independent of global config files
+      Add git-bundle: move objects and references by archive
+      git-bundle: assorted fixes
+      git-bundle: avoid fork() in verify_bundle()
+      git-bundle: fix 'create --all'
+      git-bundle: record commit summary in the prerequisite data
+      Fixup no-progress for fetch & clone
+      object name: introduce ':/<oneline prefix>' notation
+      Fix typo: do not show name1 when name2 fails
+      diff --no-index: also imitate the exit status of diff(1)
+      Actually make print_wrapped_text() useful
+      show_date(): rename the "relative" parameter to "mode"
+      diff: make more cases implicit --no-index
+      print_wrapped_text: fix output for negative indent
+      Make git-revert & git-cherry-pick a builtin
+      diff: support reading a file from stdin via "-"
+      diff --no-index: support /dev/null as filename
+      Get rid of the dependency to GNU diff in the tests
+      cherry-pick: Suggest a better method to retain authorship
+      format-patch: add --inline option and make --attach a true attachment
+      bundle: fix wrong check of read_header()'s return value & add tests
+      git-bundle: avoid packing objects which are in the prerequisites
+      git-bundle: Make thin packs
+      git-bundle: handle thin packs in subcommand "unbundle"
+      git-bundle: die if a given ref is not included in bundle
+      git-bundle: prevent overwriting existing bundles
+      git-bundle: only die if pack would be empty, warn if ref is skipped
+      Do not output "GEN " when generating perl.mak
+
+Johannes Sixt (3):
+      Add core.symlinks to mark filesystems that do not support symbolic links.
+      Handle core.symlinks=false case in merge-recursive.
+      Tell multi-parent diff about core.symlinks.
+
+Julian Phillips (5):
+      Allow fetch--tool to read from stdin
+      Use stdin reflist passing in parse-remote
+      Use stdin reflist passing in git-fetch.sh
+      git-branch: improve abbreviation of sha1s in verbose mode
+      git-branch: document new --no-abbrev option
+
+Junio C Hamano (80):
+      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 2)
+      Make merge-base a built-in.
+      Allow in_merge_bases() to take more than one reference commits.
+      Remove git-resolve.
+      Remove git-diff-stages.
+      Add link to v1.5.0 documentation.
+      blame: --show-stats for easier optimization work.
+      git-fetch: split fetch_main into fetch_dumb and fetch_native
+      git-fetch--tool: start rewriting parts of git-fetch in C.
+      git-fetch: move more code into C.
+      git-fetch: rewrite another shell loop in C
+      git-fetch: rewrite expand_ref_wildcard in C
+      Document --ignore-space-at-eol option.
+      Add RelNotes 1.5.1
+      Point top-level RelNotes link at 1.5.1 release notes being prepared.
+      t0020: add test for auto-crlf
+      remotes.not-origin.tagopt
+      Teach 'git apply' to look at $GIT_DIR/config
+      Teach core.autocrlf to 'git apply'
+      Update draft release notes for 1.5.1
+      Teach 'git apply' to look at $HOME/.gitconfig even outside of a repository
+      git-apply: do not lose cwd when run from a subdirectory.
+      git-apply: require -p<n> when working in a subdirectory.
+      Link 1.5.0.1 documentation from the main page.
+      Add prefixcmp()
+      Mechanical conversion to use prefixcmp()
+      prefixcmp(): fix-up mechanical conversion.
+      prefixcmp(): fix-up leftover strncmp().
+      t4119: add test for traditional patch and different p_value
+      Fix botched "leak fix"
+      git-apply: notice "diff --git" patch again
+      git-apply: guess correct -p<n> value for non-git patches.
+      t4119: test autocomputing -p<n> for traditional diff input.
+      git-status: do not be totally useless in a read-only repository.
+      update-index: do not die too early in a read-only repository.
+      run_diff_{files,index}(): update calling convention.
+      .mailmap maintenance after pulling from git-svn
+      bundle: reword missing prerequisite error message
+      git-fetch--tool takes flags before the subcommand.
+      diff --cached: give more sensible error message when HEAD is yet to be created.
+      Documentation: link in 1.5.0.2 material to the top documentation page.
+      builtin-fetch--tool: adjust to updated sha1_object_info().
+      Make 'cvs ci' lockless in git-cvsserver by using git-update-ref
+      fetch--tool: fix uninitialized buffer when reading from stdin
+      builtin-fetch--tool: make sure not to overstep ls-remote-result buffer.
+      index_fd(): use enum object_type instead of type name string.
+      index_fd(): pass optional path parameter as hint for blob conversion
+      index_fd(): convert blob only if it is a regular file.
+      Add recent changes to draft 1.5.1 release notes.
+      git-fetch: retire update-local-ref which is not used anymore.
+      builtin-fetch--tool: fix reflog notes.
+      diff-ni: allow running from a subdirectory.
+      diff-ni: fix the diff with standard input
+      .gitignore: add git-fetch--tool
+      format-patch --attach: not folding some long headers.
+      Post 1.5.0.3 cleanup
+      fsck: fix broken loose object check.
+      unpack_sha1_file(): detect corrupt loose object files.
+      fsck: exit with non-zero status upon errors
+      git-bundle: fix pack generation.
+      revision walker: Fix --boundary when limited
+      revision traversal: retire BOUNDARY_SHOW
+      git-bundle: various fixups
+      revision traversal: SHOWN means shown
+      git-bundle: make verify a bit more chatty.
+      revision --boundary: fix stupid typo
+      revision --boundary: fix uncounted case.
+      Fix broken create_branch() in builtin-branch.
+      prepare_packed_git(): sort packs by age and localness.
+      Documentation: add git-mergetool to the command list.
+      shortlog: prompt when reading from terminal by mistake
+      Remove unused diffcore_std_no_resolve
+      diff --quiet
+      Teach --quiet to diff backends.
+      revision.c: explain what tree_difference does
+      try-to-simplify-commit: use diff-tree --quiet machinery.
+      applymbox: brown paper bag fix.
+      Update main git.html page to point at 1.5.0.5 documentation
+      Fix merge-index
+      GIT 1.5.1-rc1
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Linus Torvalds (8):
+      Lazy man's auto-CRLF
+      Make AutoCRLF ternary variable.
+      Re-fix get_sha1_oneline()
+      Make trivial wrapper functions around delta base generation and freeing
+      Implement a simple delta_base cache
+      Avoid unnecessary strlen() calls
+      Trivial cleanup of track_tree_refs()
+      Set up for better tree diff optimizations
+
+Martin Waitz (1):
+      Support for large files on 32bit systems.
+
+Michael Coleman (2):
+      git-send-email: abort/usage on bad option
+      fix various doc typos
+
+Nicolas Pitre (12):
+      sha1_file.c: cleanup hdr usage
+      sha1_file.c: cleanup "offset" usage
+      sha1_file.c: don't ignore an error condition in sha1_loose_object_info()
+      formalize typename(), and add its reverse type_from_string()
+      convert object type handling from a string to a number
+      get rid of lookup_object_type()
+      make sure enum object_type is signed
+      local-fetch.c: some error printing cleanup
+      fix t5300-pack-object.sh
+      add test for OFS_DELTA objects
+      clean up pack index handling a bit
+      Reuse cached data out of delta base cache.
+
+Paolo Bonzini (5):
+      git-config: document --rename-section, provide --remove-section
+      git-archimport: allow remapping branch names
+      git-commit: add a --interactive option
+      git-branch, git-checkout: autosetup for remote branch tracking
+      git-fetch, git-branch: Support local --track via a special remote '.'
+
+Pavel Roskin (1):
+      git-remote: support remotes with a dot in the name
+
+Sam Vilain (3):
+      git-svn: make test for SVK mirror path import
+      git-svn: don't consider SVN URL usernames significant when comparing
+      git-svn: document --username
+
+Santi Béjar (2):
+      t/t5515-fetch-merge-logic.sh: Added tests for the merge login in git-fetch
+      t/t5515-fetch-merge-logic.sh: Add two more tests
+
+Sergey Vlasov (1):
+      Documentation/git-svn.txt: Fix formatting errors
+
+Shawn O. Pearce (43):
+      Cleanup check_valid in commit-tree.
+      cherry-pick: Bug fix 'cherry picked from' message.
+      Make 'make' quieter while building git
+      Make 'make' quiet by default
+      Display the null SHA-1 as the base for an OBJ_OFS_DELTA.
+      Fix mmap leak caused by reading bad indexes.
+      Don't build external_grep if its not used
+      General const correctness fixes
+      Use uint32_t for all packed object counts.
+      Use uint32_t for pack-objects counters.
+      Use off_t when we really mean a file offset.
+      Use off_t in pack-objects/fast-import when we mean an offset
+      Cast 64 bit off_t to 32 bit size_t
+      Preallocate memory earlier in fast-import
+      Move post-update hook to after all other activity
+      Don't run post-update hook unless a ref changed
+      Refactor run_update_hook to be more useful
+      Refactor handling of error_string in receive-pack
+      Teach receive-pack to run pre-receive/post-receive hooks
+      Use atomic updates to the fast-import mark file
+      Allow fast-import frontends to reload the marks table
+      Switch to run_command_v_opt in revert
+      Remove unused run_command variants
+      Start defining a more sophisticated run_command
+      Split run_command into two halves (start/finish)
+      Teach run_command how to setup a stdin pipe
+      Refactor run_command error handling in receive-pack
+      Split back out update_hook handling in receive-pack
+      Change {pre,post}-receive hooks to use stdin
+      Remove unnecessary casts from fast-import
+      Simplify closing two fds at once in run-command.c
+      Fix t5510-fetch's use of sed
+      Teach run-command about stdout redirection
+      Teach run-command to redirect stdout to /dev/null
+      Replace fork_with_pipe in bundle with run_command
+      Correct new compiler warnings in builtin-revert
+      Use RUN_GIT_CMD to run push backends
+      Use run_command for proxy connections
+      Use run_command within merge-index
+      Use run_command within receive-pack to invoke index-pack
+      Use run_command within send-pack
+      use xstrdup please
+      Limit the size of the new delta_base_cache
+
+Simon 'corecode' Schubert (1):
+      Allow passing of an alternative CVSROOT via -d.
+
+Theodore Ts'o (5):
+      Teach git-remote to update existing remotes by fetching from them
+      Add config_boolean() method to the Git perl module
+      Allow git-remote to update named groups of remotes
+      Add git-mergetool to run an appropriate merge conflict resolution program
+      mergetool: print an appropriate warning if merge.tool is unknown
+
+Xavier Maillard (1):
+      contrib/emacs: Use non-interactive function to byte-compile files
+
+
+Version v1.5.0.7; changes since v1.5.0.6:
+-----------------------------------------
+
+Gerrit Pape (2):
+      Documentation/git-svnimport.txt: fix typo.
+      Documentation/git-rev-parse.txt: fix example in SPECIFYING RANGES.
+
+H. Peter Anvin (1):
+      git-upload-pack: make sure we close unused pipe ends
+
+Junio C Hamano (2):
+      rerere should not repeat the earlier hunks in later ones
+      GIT 1.5.0.7
+
+
+Version v1.5.0.6; changes since v1.5.0.5:
+-----------------------------------------
+
+J. Bruce Fields (5):
+      user-manual: run xsltproc without --nonet option
+      user-manual: Use def_ instead of ref_ for glossary references.
+      glossary: stop generating automatically
+      glossary: clean up cross-references
+      user-manual: introduce "branch" and "branch head" differently
+
+Jakub Narębski (4):
+      gitweb: Fix "next" link in commit view
+      gitweb: Don't escape attributes in CGI.pm HTML methods
+      gitweb: Fix not marking signoff lines in "log" view
+      gitweb: Add some installation notes in gitweb/INSTALL
+
+Jeff King (1):
+      commit: fix pretty-printing of messages with "\nencoding "
+
+Jim Meyering (1):
+      user-manual.txt: fix a tiny typo.
+
+Johannes Schindelin (1):
+      t4118: be nice to non-GNU sed
+
+Junio C Hamano (2):
+      git-commit: "read-tree -m HEAD" is not the right way to read-tree quickly
+      GIT 1.5.0.6
+
+Li Yang (1):
+      gitweb: Change to use explicitly function call cgi->escapHTML()
+
+Michael S. Tsirkin (1):
+      fix typo in git-am manpage
+
+Peter Eriksen (1):
+      Documentation/pack-format.txt: Clear up description of types.
+
+
+Version v1.5.0.5; changes since v1.5.0.4:
+-----------------------------------------
+
+Junio C Hamano (1):
+      GIT 1.5.0.5
+
+Santi Béjar (1):
+      git-merge: finish when git-read-tree fails
+
+
+Version v1.5.0.4; changes since v1.5.0.3:
+-----------------------------------------
+
+Alexandre Julliard (2):
+      git.el: Avoid appending a signoff line that is already present.
+      git.el: Retrieve commit log information from .dotest directory.
+
+Avi Kivity (1):
+      git-send-email: Document configuration options
+
+Brian Gernhardt (1):
+      Fix diff-options references in git-diff and git-format-patch
+
+Frank Lichtenheld (1):
+      cvsserver: asciidoc formatting changes
+
+J. Bruce Fields (7):
+      glossary: fix overoptimistic automatic linking of defined terms
+      user-manual: fix inconsistent example
+      user-manual: fix inconsistent use of pull and merge
+      user-manual: fix missing colon in git-show example
+      user-manual: fix rendering of history diagrams
+      user-manual: install user manual stylesheet with other web documents
+      git-merge: warn when -m provided on a fast forward
+
+Jeff King (2):
+      Documentation: s/seperator/separator/
+      fast-import: grow tree storage more aggressively
+
+Johannes Schindelin (2):
+      Begin SubmittingPatches with a check list
+      make t8001 work on Mac OS X again
+
+Junio C Hamano (3):
+      git-commit: cd to top before showing the final stat
+      git-checkout: fix "eval" used for merge labelling.
+      GIT 1.5.0.4
+
+Matthias Kestenholz (1):
+      Adjust reflog filemode in shared repository
+
+Matthias Lederhofer (1):
+      setup_git_directory_gently: fix off-by-one error
+
+Shawn O. Pearce (13):
+      git-gui: Relocate the menu/transport menu code.
+      git-gui: Add Reset to the Branch menu.
+      git-gui: Don't create empty (same tree as parent) commits.
+      git-gui: Remove unnecessary /dev/null redirection.
+      fast-import: Avoid infinite loop after reset
+      fast-import: Fail if a non-existant commit is used for merge
+      git-gui: Make 'make' quieter by default
+      Catch write_ref_sha1 failure in receive-pack
+      git-gui: Allow committing empty merges
+      git-gui: Revert "Don't modify CREDITS-FILE if it hasn't changed." This reverts commit 92446aba47b0e0db28f7b858ea387efcca30ab44.
+      git-gui: Revert "git-gui: Display all authors of git-gui." This reverts commit 871f4c97ad7e021d1a0a98c80c5da77fcf70e4af.
+      git-gui: Allow 'git gui version' outside of a repository
+      Don't package the git-gui credits file anymore
+
+Theodore Ts'o (1):
+      Add definition of <commit-ish> to the main git man page.
+
+Yann Dirson (1):
+      Clarify doc for git-config --unset-all.
+
+
+Version v1.5.0.3; changes since v1.5.0.2:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      git.el: Set the default commit coding system from the repository config.
+
+Aneesh Kumar K.V (1):
+      blameview: Fix the browse behavior in blameview
+
+Christian Schlotter (1):
+      Documentation: Correct minor typo in git-add documentation.
+
+Eygene Ryabinkin (2):
+      http-push.c::lock_remote(): validate all remote refs.
+      Another memory overrun in http-push.c
+
+Gerrit Pape (2):
+      git-cvsexportcommit: don't cleanup .msg if not yet committed to cvs.
+      Fix quoting in update hook template
+
+J. Bruce Fields (6):
+      Documentation: mention module option to git-cvsimport
+      user-manual: reset to ORIG_HEAD not HEAD to undo merge
+      user-manual: ensure generated manual references stylesheet
+      user-manual: insert earlier of mention content-addressable architecture
+      user-manual: how to replace commits older than most recent
+      user-manual: more detailed merge discussion
+
+Jim Meyering (1):
+      diff --cc: integer overflow given a 2GB-or-larger file
+
+Johannes Schindelin (3):
+      fetch.o depends on the headers, too.
+      builtin-archive: use RUN_SETUP
+      Document the config variable format.suffix
+
+Junio C Hamano (5):
+      git-apply: do not fix whitespaces on context lines.
+      Documentation: git-remote add [-t <branch>] [-m <branch>] [-f] name url
+      Start preparing Release Notes for 1.5.0.3
+      git-merge: fail correctly when we cannot fast forward.
+      GIT 1.5.0.3
+
+Linus Torvalds (2):
+      mailinfo: do not get confused with logical lines that are too long.
+      git-show: Reject native ref
+
+Matthias Kestenholz (1):
+      Fix git-gc usage note
+
+Michael Coleman (2):
+      Fix minor typos/grammar in user-manual.txt
+      builtin-fmt-merge-msg: fix bugs in --file option
+
+Michael Poole (1):
+      Correct ordering in git-cvsimport's option documentation
+
+Paolo Bonzini (1):
+      git-archimport: support empty summaries, put summary on a single line.
+
+Ramsay Jones (5):
+      Fix a "label defined but unreferenced" warning.
+      Fix an "implicit function definition" warning.
+      Fix some "comparison is always true/false" warnings.
+      Fix a "pointer type missmatch" warning.
+      Unset NO_C99_FORMAT on Cygwin.
+
+Sergey Vlasov (3):
+      Documentation/build-docdep.perl: Fix dependencies for included asciidoc files
+      Documentation/git-quiltimport.txt: Fix labeled list formatting
+      Documentation/git-send-email.txt: Fix labeled list formatting
+
+Shawn O. Pearce (1):
+      index-pack: Loop over pread until data loading is complete.
+
+Theodore Ts'o (1):
+      Fix git-show man page formatting in the EXAMPLES section
+
+Uwe Kleine-König (1):
+      Include config.mak in doc/Makefile
+
+Yasushi SHOJI (1):
+      glossary: Add definitions for dangling and unreachable objects
+
+
+Version v1.5.0.2; changes since v1.5.0.1:
+-----------------------------------------
+
+Christian Schlotter (1):
+      git-clone: Sync documentation to usage note.
+
+Dmitry V. Levin (1):
+      git-show-ref --verify: Fail if called without a reference
+
+Fredrik Kuivinen (1):
+      Fix 'git commit -a' in a newly initialized repository
+
+Jason Riedy (3):
+      Add a compat/strtoumax.c for Solaris 8.
+      Obey NO_C99_FORMAT in fast-import.c.
+      Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.
+
+Johannes Schindelin (1):
+      git-diff: fix combined diff
+
+Junio C Hamano (11):
+      Reword git-am 3-way fallback failure message.
+      diff-patch: Avoid emitting double-slashes in textual patch.
+      Don't modify CREDITS-FILE if it hasn't changed.
+      rerere: do not skip two conflicted paths next to each other.
+      rerere: do not deal with symlinks.
+      Add Release Notes to prepare for 1.5.0.2
+      merge-index: fix longstanding bug in merging symlinks
+      merge-recursive: fix longstanding bug in merging symlinks
+      diff --cc: fix display of symlink conflicts during a merge.
+      Documentation: describe "-f/-t/-m" options to "git-remote add"
+      GIT 1.5.0.2
+
+Martin Koegler (1):
+      git-gui: Create new branches from a tag.
+
+Michael Loeffler (1):
+      Use gunzip -c over gzcat in import-tars example.
+
+Pavel Roskin (1):
+      git-remote: support remotes with a dot in the name
+
+Robin Rosenberg (1):
+      Limit filename for format-patch
+
+Roland Dreier (1):
+      Allow arbitrary number of arguments to git-pack-objects
+
+Santi Béjar (1):
+      core.legacyheaders: Use the description used in RelNotes-1.5.0
+
+Shawn O. Pearce (16):
+      git-gui: Refactor 'exec git subcmd' idiom.
+      git-gui: Basic version check to ensure git 1.5.0 or later is used.
+      git-gui: Permit merging tags into the current branch.
+      git-gui: More consistently display the application name.
+      git-gui: Print version on the console.
+      git-gui: Prefer version file over git-describe.
+      git-gui: Expose the browser as a subcommand.
+      git-gui: Correct crash when saving options in blame mode.
+      git-gui: Use mixed path for docs on Cygwin.
+      git-gui: Display all authors of git-gui.
+      git-gui: Change summary of git-gui.
+      git-gui: Include browser in our usage message.
+      git-gui: Remove TODO list.
+      git-gui: Don't crash in citool mode on initial commit.
+      Document the new core.bare configuration option.
+      Include git-gui credits file in dist.
+
+
+Version v1.5.0.1; changes since v1.5.0:
+---------------------------------------
+
+Alexandre Julliard (2):
+      git-daemon: Avoid leaking the listening sockets into child processes.
+      sha1_file.c: Round the mmap offset to half the window size.
+
+Fredrik Kuivinen (2):
+      Read the config in rev-list
+      Documentation/i18n.txt: it is i18n.commitencoding not core.commitencoding
+
+Junio C Hamano (15):
+      Documentation: Drop full-stop from git-fast-import title.
+      cmd-list: add git-remote
+      Makefile: update check-docs target
+      Clarify two backward incompatible repository options.
+      Still updating 1.5.0 release notes.
+      Add RelNotes 1.5.0.1
+      Make sure packedgitwindowsize is multiple of (pagesize * 2)
+      Make gitk work reasonably well on Cygwin.
+      gitk: Use show-ref instead of ls-remote
+      GIT-VERSION-FILE: check ./version first.
+      pretend-sha1: grave bugfix.
+      git-merge: minor fix for no_trivial_merge_strategies.
+      Do not take mode bits from index after type change.
+      Update draft release notes for 1.5.0.1
+      GIT 1.5.0.1
+
+Mark Levedahl (3):
+      gitk - remove trailing whitespace from a few lines.
+      Make gitk save and restore the user set window position.
+      Make gitk save and restore window pane position on Linux and Cygwin.
+
+Nicolas Pitre (1):
+      Minor corrections to release notes
+
+Paul Mackerras (1):
+      Change git repo-config to git config
+
+Shawn O. Pearce (2):
+      Attempt to improve git-rebase lead-in description.
+      Convert update-index references in docs to add.
+
+Tommi Kyntola (1):
+      git-blame: prevent argument parsing segfault
+
+
+Version v1.5.0; changes since v1.5.0-rc4:
+-----------------------------------------
+
+Alexandre Julliard (3):
+      diff.c: Reuse the pprint_rename function for diff --summary output.
+      diff.c: Properly quote file names in diff --summary output.
+      diff.c: More logical file name quoting for renames in diffstat.
+
+Andy Parkins (2):
+      git-gui: fix typo in GIT-VERSION-GEN, "/dev/null" not "/devnull"
+      Fix potential command line overflow in hooks--update
+
+Aneesh Kumar K.V (1):
+      blameview: Move the commit info to a pane below the blame window.
+
+David Kågedal (5):
+      Handle uncommitted changes and cache descriptions
+      git-blame.el: improve color handling
+      git-blame.el: blame unsaved changes
+      git-blame.el: Doc fixes and cleanup
+      git-blame.el: Autoupdate while editing
+
+Dotan Barak (1):
+      Make it easier to override path to asciidoc command
+
+Eric Wong (1):
+      git-svn: correctly handle boolean options via git-config
+
+Jakub Narębski (2):
+      git-blame: Add Emacs Lisp file headers and GNU GPL boilerplate
+      git-blame: Change installation instructions
+
+James Bowes (1):
+      Read cvsimport options from repo-config
+
+Johannes Schindelin (5):
+      for_each_reflog_ent: be forgiving about missing message
+      log --reflog: honour --relative-date
+      format-patch -n: make sorting easier by padding number
+      log --reflog: use dwim_log
+      git-gc: run pack-refs by default unless the repo is bare
+
+Junio C Hamano (17):
+      create_symref(): create leading directories as needed.
+      reflog: handle $name => remotes/%s/HEAD mapping consistently for logs
+      Documentation/git-pull: describe default behaviour and config interactions
+      git-fetch: document automatic tag following.
+      wt_status_prepare(): clean up structure initialization.
+      diff_flush_name(): take struct diff_options parameter.
+      t4016: test quoting funny pathnames in diff output
+      Documentation: git-rebase -C<n>
+      Teach git-am to pass -p option down to git-apply
+      Add discussion section to git-tag documentation.
+      Add RPM target for git-gui
+      Do not forget to pack objects reachable from HEAD reflog.
+      for-each-reflog: not having $GIT_DIR/logs directory is not an error.
+      "git-fetch --tags $URL" should not overwrite existing tags
+      Documentation: Moving out of detached HEAD does not warn anymore.
+      Add release notes to the distribution.
+      GIT 1.5.0
+
+Linus Torvalds (2):
+      git reflog show
+      Mark places that need blob munging later for CRLF conversion.
+
+Mark Levedahl (2):
+      Make gitk save and restore the user set window position.
+      Make gitk save and restore window pane position on Linux and Cygwin.
+
+Matthias Lederhofer (1):
+      git merge documentation: -m is optional
+
+Michael Loeffler (1):
+      import-tars: brown paper bag fix for file mode.
+
+Michael S. Tsirkin (3):
+      Update git-log and git-show documentation
+      add -C[NUM] to git-am
+      Document that git-am can read standard input.
+
+Michael Spang (1):
+      Work around Subversion race in git-svn tests.
+
+Mukund (1):
+      Fixed some typos in git-repack docs
+
+Nicolas Pitre (2):
+      remove mailmap.linux
+      Update RPM core package description
+
+Pavel Roskin (1):
+      Clarify that git-update-server-info should be run for every git-push
+
+René Scharfe (1):
+      Avoid ugly linewrap in git help
+
+Shawn O. Pearce (313):
+      git-gui: Initial revision.
+      git-gui: Additional early feature development.
+      git-gui: Fixed UI layout problems on Windows.
+      git-gui: Corrected keyboard bindings on Windows, improved state management.
+      git-gui: Verify we should actually perform a commit when asked to do so.
+      git-gui: Finished commit implementation.
+      git-gui: Implemented amended commits.
+      git-gui: Misc. nit type of bug fixes.
+      git-gui: Started construction of fetch and push operations.
+      git-gui: Worked around environment variable problems on Windows.
+      git-gui: Reorganized startup procedure to ensure gitdir is right.
+      git-gui: Fix menu item accelerator display on Mac OS X.
+      git-gui: Correctly handle CR vs. LF within the console of fetch.
+      git-gui: Check for fetch or push command failure and denote it.
+      git-gui: Don't complain if no .git/remotes exist.
+      git-gui: Added current TODO list.
+      git-gui: Last minute idea about fetch shortcuts.
+      git-gui: Automatically reopen any console closed by the user.
+      git-gui: Cache all repo-config data in an array.
+      git-gui: Added support for pulling from default branch of a remote.
+      git-gui: Updated TODO list now that pull is starting to work.
+      git-gui: Corrected diff-index/diff-files protocol parsing errors.
+      git-gui: Performance improvements for large file sets.
+      git-gui: More performance improvements to rescan logic.
+      git-gui: Flip commit message buffer and diff area.
+      git-gui: Added repack database menu option, to invoke git repack.
+      git-gui: Allow the user to disable update-index --refresh during rescan.
+      git-gui: Grab the index lock while running pull.
+      git-gui: Pluralize timestamps within the options menu.
+      git-gui: Disable pull menu items when the index is locked.
+      git-gui: Don't let the user pull into an uncommitted working directory.
+      git-gui: Update TODO list.
+      git-gui: Bug fix for bad variable reference in display_file.
+      git-gui: Changed term 'check-in' to 'include'.
+      git-gui: Show only the abbreviated SHA1 after committing.
+      git-gui: Cache the GIT_COMMITTER_IDENT value on first sign-off.
+      git-gui: Save window geometry to .git/config during exit.
+      git-gui: Change accelerator for "Include All" to M1-I.
+      git-gui: Created edit menu and basic editing bindings.
+      git-gui: Clear undo/redo stack when loading a message file from disk.
+      git-gui: Updated TODO list now that geometry is stored.
+      git-gui: Always indicate the file in the diff viewer.
+      git-gui: Correctly handle files containing LF in their name.
+      git-gui: Efficiently update the UI after committing.
+      git-gui: Use catch rather than array names to check file.
+      git-gui: Rename difffont/mainfont variables.
+      git-gui: Use native tk_messageBox for errors.
+      git-gui: Cleaned up error message formatting.
+      git-gui: Simplified format of geometry configuration.
+      git-gui: Misc. formatting cleanups.
+      git-gui: Misc. bug fixes for mouse click crashes.
+      git-gui: Added context menus for consoles and commit message buffer.
+      git-gui: Fix mouse cursor behavior when in widgets.
+      git-gui: Teach sign off to be more intelligent.
+      git-gui: Corrected font used for options menu items.
+      git-gui: Honor system font and let user configure fonts.
+      git-gui: Allow the user to change the diff viewer font size.
+      git-gui: Refresh a file if it has an empty diff.
+      git-gui: Make use of the Tk font system rather than faking it.
+      git-gui: Improve right click context menu binding on all platforms.
+      git-gui: Rename quitting global to is_quitting.
+      git-gui: Use arrow cursor rather than left_ptr.
+      git-gui: Refactor options menu into an options dialog.
+      git-gui: Allow the user to manipulate the fonts from the options panel.
+      git-gui: Supply progress feedback when running update-index.
+      git-gui: Minor options dialog UI cleanups.
+      git-gui: Added Options... menu item to end of diff context menu.
+      git-gui: Use 'after 1' to post UI rather than tkwait.
+      git-gui: Correct bugs in font config handling.
+      git-gui: Hide non-commit related commands when invoked as git-citool.
+      git-gui: Don't load the global options unless necessary.
+      git-gui: Allow the user to disable diff stat summary during pull.
+      git-gui: Run the pre-commit hook in the background.
+      git-gui: Remove the commit_active global variable.
+      git-gui: Added post-commit invocation after the commit is done.
+      git-gui: Always use eq/ne for string comparsions.
+      git-gui: Reshow diff if we sent the file to update-index.
+      git-gui: Cleanup diff construction code to prepare for more options.
+      git-gui: Allow the user to control the number of context lines in a diff.
+      git-gui: Sort the list of paths being updated in the index.
+      git-gui: Use a smaller pipe buffer for update-index.
+      git-gui: Allow the user to copy name of the file in the diff viewer.
+      git-gui: Correct language for M_/A_ status codes.
+      git-gui: Display status on left in diff header.
+      git-gui: Minor UI layout improvements for console windows.
+      git-gui: Reverted file name text field to a label.
+      git-gui: By default don't allow partially included files.
+      git-gui: Refactor mouse clicking on file names/icons.
+      git-gui: Narrow the no differences information message.
+      git-gui: Implemented multiple selection in file lists.
+      git-gui: Refactor update_status -> rescan.
+      git-gui: Provide an after-rescan script to rescan.
+      git-gui: Allow update_index to also run a script when it completes.
+      git-gui: Automatically update-index all included files before commit.
+      git-gui: Disable diff actions when no diff is active.
+      git-gui: Created makefile to install the program.
+      git-gui: Correctly handle GIT_DIR environment variable.
+      git-gui: Create Windows shortcut icons for git-gui.
+      git-gui: Protect ourselves from funny GIT_DIR/working directory setups.
+      git-gui: Handle ' within paths when creating Windows shortcuts.
+      git-gui: Only populate a fetch or push if we have an action.
+      git-gui: Create a .app file on MacOS X if requested.
+      git-gui: Display error dialog on Mac OS X when no .git found.
+      git-gui: Make initial commits work properly.
+      git-gui: Only reshow diff when really necessary.
+      git-gui: Refactor file state representations.
+      git-gui: Add menu option to include only selected files.
+      git-gui: Misc. comment formatting cleanups.
+      git-gui: Start UI with the index locked.
+      git-gui: Remove completed items from TODO list.
+      git-gui: Toggle between new commit and amend commit modes.
+      git-gui: Verify the user has GIT_COMMITTER_IDENT before comitting.
+      git-gui: Rephrase rescan before commit informational message.
+      git-gui: Allow adding untracked files in selection.
+      git-gui: Don't create PkgInfo on Mac OS X "desktop icons".
+      git-gui: Teach the gui how to uninclude a file.
+      git-gui: Make consecutive icon clicks toggle included status of a file.
+      git-gui: Correct toggling of deleted file status.
+      git-gui: Fix list loading corruption introduced by 1461c5f3.
+      git-gui: Describe deleted symlinks in a more friendly way.
+      git-gui: Correct toggling of added/untracked status for new files.
+      git-gui: Updated TODO list now that a task is complete.
+      git-gui: Refactored diff line display formatting logic.
+      git-gui: Restore the all important shebang line.
+      git-gui: Update in memory states after commit.
+      git-gui: Correct some state matchings for include/remove.
+      git-gui: Improve handling of merge commits.
+      git-gui: Allow users to run fsck-objects from the gui.
+      git-gui: Don't save amended commit message buffer.
+      git-gui: Reworded verify console title.
+      git-gui: Seperate out the database operations in project menu.
+      git-gui: Rename Project menu to Repository.
+      git-gui: Added about dialog box.
+      git-gui: Be more Macintosh like.
+      git-gui: Make the copyright notice serve double duty.
+      git-gui: Include the Tcl/Tk version in the about dialog.
+      git-gui: Abstract out windows platform test to is_Windows proc.
+      git-gui: Correct is_MacOSX platform test.
+      git-gui: Warn Cygwin users about possible environment issues.
+      git-gui: Added configuration editor TODO list.
+      git-gui: Refactor M1 binding selection.
+      git-gui: Added menu command to visualize all branches.
+      git-gui: Don't start 'gitk --all' on Mac OS X.
+      git-gui: Improve pull error dialogs.
+      git-gui: Added revert changes command.
+      git-gui: Display the current branch.
+      git-gui: Support file state MD (modified/deleted).
+      git-gui: Created Branch menu.
+      git-gui: Parse off refs/remotes when showing current branch.
+      git-gui: Abort on not implemented branch switching.
+      git-gui: Automatically skip tracking branches in branch menu.
+      git-gui: Rename all_branches -> all_heads.
+      git-gui: Misc. comment and formatting cleanups.
+      git-gui: Started implementation of switch_branch.
+      git-gui: Set a proper title on our revert confirm dialog box.
+      git-gui: Updated todo list.
+      git-gui: Enable resolution of merge conflicts.
+      git-gui: Auto-update any A? or M? files during rescan.
+      git-gui: Reworded 'Include' to 'Add' to match core Git.
+      git-gui: Created very crude Tools menu, to support miga.
+      git-gui: Show all fetched branches for remote pulls.
+      git-gui: Run git-gc rather than git-repack.
+      git-gui: Corrected behavior of deleted (but existing in HEAD) files.
+      git-gui: Correct wording of the revert confirmation dialog.
+      git-gui: Work around odd cygpath bug on Windows.
+      git-gui: Change more 'include' language to 'add'.
+      git-gui: Hide the ugly bash command line from the windows desktop icon.
+      git-gui: Modified makefile to embed version into git-gui script.
+      git-gui: Display the git-gui version in the Help->About dialog.
+      git-gui: Display the full GPL copyright notice in about dialog.
+      git-gui: Ensure version number is always current.
+      git-gui: Allow the user to copy the version data to the clipboard.
+      git-gui: Don't offer my miga hack if its configuration file isn't present.
+      git-gui: Suggest when running 'git gc' may be worthwhile.
+      git-gui: Refactor reponame computation.
+      git-gui: Cleanup usage of gitdir global variable.
+      git-gui: Allow [gitdir ...] to act as [file join [gitdir] ...].
+      git-gui: Make the gitk starting message match our usual format.
+      git-gui: Display the directory we are entering during startup.
+      git-gui: Start file status display refactoring.
+      git-gui: Convert UI to use 'staged for commit' interface.
+      git-gui: Correct DD file state to be only D_.
+      git-gui: Remove invalid DM state.
+      git-gui: Cleanup state descriptions.
+      git-gui: Refactor add/remove proc names to align with reality.
+      git-gui: Add or unstage based on the specific icon used.
+      git-gui: Refactor the revert (aka checkout-index) implementation.
+      git-gui: Refactor the add to commit state filters.
+      git-gui: Simplify printing of index info to update-index.
+      git-gui: Only permit selection in one list at a time.
+      git-gui: Pad the cancel/save buttons in the options window.
+      git-gui: Implemented create branch GUI.
+      git-gui: Bind M1-N to create branch.
+      git-gui: Implemented local branch deletion.
+      git-gui: Allow users to delete branches merged upstream.
+      git-gui: Allow creating branches from tracking heads.
+      git-gui: Use borders on text fields in branch dialog.
+      git-gui: Remove 'Allow Partially Added Files' option.
+      git-gui: Move commit_prehook into commit_tree.
+      git-gui: Improve the branch delete confirmation dialogs.
+      git-gui: Don't delete the test target branch.
+      git-gui: Attempt to checkout the new branch after creation.
+      git-gui: Refactor current_diff -> current_diff_path.
+      git-gui: Remove combined diff showing behavior.
+      git-gui: Improve the display of merge conflicts.
+      git-gui: Improve diff --cc viewing for unmerged files.
+      git-gui: Fix bug in unmerged file display.
+      git-gui: Clear diff from viewer if the side changed.
+      git-gui: Correct disappearing unstaged files.
+      git-gui: Add Refresh to diff viewer context menu.
+      git-gui: Correct unmerged file detection at commit time.
+      git-gui: Pad new branch name input box.
+      git-gui: Use a grid layout for branch dialog.
+      git-gui: Improve the merge check interface for branch deletion.
+      git-gui: Change rude error popup to info popup.
+      git-gui: Correctly ignore '* Unmerged path' during diff.
+      git-gui: Make diff viewer colors match gitk's defaults.
+      git-gui: Never line wrap in file lists.
+      git-gui: Don't offer tracking branches if none exist.
+      git-gui: Give a better error message on an empty branch name.
+      git-gui: Allow user to specify a branch name pattern.
+      git-gui: Improve keyboard traversal in dialogs.
+      git-gui: Fully select a field when entering into it.
+      git-gui: Automatically toggle the relevant radio buttons.
+      git-gui: Correctly categorize tracking branches and heads.
+      git-gui: Update todo list with finished and new items.
+      git-gui: Slightly tweak new window geometry.
+      git-gui: Create missing branch head on initial commit.
+      git-gui: Don't format the mode line of a diff.
+      git-gui: Force an update-index --refresh on unchanged files.
+      git-gui: Don't attempt to tag new file/deleted file headers in diffs.
+      git-gui: Fix 'Select All' action on Windows.
+      git-gui: Ignore 'No newline at end of file' marker line.
+      git-gui: Always start a rescan on an empty diff.
+      git-gui: Don't show content of untracked binary files.
+      git-gui: Limit display of large untracked files.
+      git-gui: When possible show the type of an untracked file.
+      git-gui: Don't try to tag the 'Binary files * and * differ' line.
+      git-gui: Remove spurious newline in untracked file display.
+      git-gui: Honor system encoding for filenames.
+      git-gui: Handle commit encoding better.
+      git-gui: Display database stats (count-objects -v) on demand.
+      git-gui: Implement basic branch switching through read-tree.
+      git-gui: Use system default labelframe bordering.
+      git-gui: Display the size of the pack directory.
+      git-gui: Only allow Refresh in diff context menu when we have a diff.
+      git-gui: Allow staging/unstaging individual diff hunks.
+      git-gui: Elide CRs appearing in diff output from display.
+      git-gui: Cleanup end-of-line whitespace in commit messages.
+      git-gui: Unset unnecessary UI setup variable.
+      git-gui: Force focus to the diff viewer on mouse click.
+      git-gui: Support 'Visualize All Branches' on Mac OS X.
+      git-gui: Pad the database statistics dialog window.
+      git-gui: Prefer Tk's entry widget over a 1 line text field.
+      git-gui: Remove Pull menu and cleanup Branch/Fetch/Push menus.
+      git-gui: Don't switch branches if changing to the current branch.
+      git-gui: Maintain the same file list for diff during refresh.
+      git-gui: Always use lsearch -exact, to prevent globbing.
+      git-gui: Added arbitrary branch pushing support.
+      git-gui: Remove no longer used pull from remote code.
+      git-gui: Always use -v option to push.
+      git-gui: Refactor console success/failure handling.
+      git-gui: Use builtin version of 'git gc'.
+      git-gui: Implement local merge operations.
+      git-gui: Let users abort with `reset --hard` type logic.
+      git-gui: Update status bar during a merge.
+      git-gui: Don't allow users to commit a bad octopus merge.
+      git-gui: Don't allow merges in the middle of other things.
+      git-gui: Always offer scrollbars for branch lists.
+      git-gui: Support merge.summary, merge.verbosity.
+      git-gui: Reword meaning of merge.summary.
+      git-gui: Offer quick access to the HTML formatted documentation.
+      git-gui: Test for Cygwin differently than from Windows.
+      git-gui: Implemented file browser and incremental blame.
+      git-gui: Improve the icons used in the browser display.
+      git-gui: Display the current branch name in browsers.
+      git-gui: Allow users to edit user.name, user.email from options.
+      git-gui: Use -M and -C when running blame.
+      git-gui: Correctly handle spaces in filepaths.
+      git-gui: Display original filename and line number in blame.
+      git-gui: Install column headers in blame viewer.
+      git-gui: Use a grid layout for the blame viewer.
+      git-gui: Assign background colors to each blame hunk.
+      Correct ^0 asciidoc syntax in fast-import docs.
+      Correct some language in fast-import documentation.
+      Correct spelling of fast-import in docs.
+      tar archive frontend for fast-import.
+      git-gui: Update known branches during rescan.
+      git-gui: Support keyboard traversal in browser.
+      git-gui: Replace \ with \\ when showing paths.
+      git-gui: Refactor single_commit to a proc.
+      git-gui: Separate transport/branch menus from multicommit.
+      git-gui: Optionally save commit buffer on exit.
+      git-gui: View blame from the command line.
+      git-gui: Select subcommands like git does.
+      git-gui: Relabel the Add All action.
+      git-gui: Use git-config now over git-repo-config.
+      git-gui: Redesign the display of annotated files.
+      git-gui: Jump to the first annotation block as soon as its available.
+      git-gui: Improve annotated file display.
+      git-gui: Focus into blame panels on Mac OS.
+      git-gui: Stop deleting gitk preferences.
+      fast-import: Hide the pack boundary commits by default.
+      fast-import: Add tip about importing renames.
+      bash: Hide git-fast-import.
+      fast-import: Support reusing 'from' and brown paper bag fix reset.
+      git-gui: Allow gitexecdir, INSTALL to be set by the caller.
+      git-gui: Rename GIT_VERSION to GITGUI_VERSION.
+      git-gui: Generate a version file on demand.
+      git-gui: Handle gitgui tags in version gen.
+      git-gui: Guess our version accurately as a subproject.
+      git-gui: Change base version to 0.6.
+      Link git-gui into the master Makefile.
+
+Theodore Ts'o (2):
+      Print a sane error message if an alias expands to an invalid git command
+      Allow aliases to expand to shell commands
+
+
+Version v1.5.0-rc4; changes since v1.5.0-rc3:
+---------------------------------------------
+
+Alex Riesen (1):
+      Avoid ActiveState Perl IO in t800[12]
+
+Andy Parkins (2):
+      doc: hooks.txt said post-commit default sends an email, it doesn't
+      git-for-each-ref doesn't return "the bit after $GIT_DIR/refs"
+
+Aneesh Kumar K.V (1):
+      blameview: Support browsable functionality to blameview.
+
+David Kågedal (1):
+      git-blame: an Emacs minor mode to view file with git-blame output.
+
+Eric Wong (2):
+      git-svn: do not let Git.pm warn if we prematurely close pipes
+      Disallow invalid --pretty= abbreviations
+
+Gerrit Pape (1):
+      git-archimport: initial import needs empty directory
+
+Horst H. von Brand (1):
+      Call make always with CFLAGS in git.spec
+
+Johannes Schindelin (4):
+      Teach the '@{...}' notation to git-log -g
+      Update the documentation for the new '@{...}' syntax
+      Commands requiring a work tree must not run in GIT_DIR
+      fast-import: Fix compile warnings
+
+Junio C Hamano (36):
+      create_symref(): do not assume pathname from git_path() persists long enough
+      detached HEAD -- finishing touches
+      Use "git checkout -q" in git-bisect
+      Tutorial: fix asciidoc formatting of "git add" section.
+      Tutorial-2: Adjust git-status output to recent reality.
+      core-tutorial: http reference link fix
+      fix reflog entries for "git-branch"
+      honor GIT_REFLOG_ACTION in git-commit
+      Why is it bad to rewind a branch that has already been pushed out?
+      combine-diff: special case --unified=0
+      show-branch -g: default to the current branch.
+      git-clone --reference: saner handling of borrowed symrefs.
+      Revert "Allow branch.*.merge to talk about remote tracking branches."
+      Rename get_ident() to fmt_ident() and make it available to outside
+      t9200: Work around HFS+ issues.
+      bisect: it needs to be done in a working tree.
+      git-blame: no rev means start from the working tree file.
+      Add pretend_sha1_file() interface.
+      Use pretend_sha1_file() in git-blame and git-merge-recursive.
+      blame: document --contents option
+      Teach git-remote add to fetch and track
+      Fix longstanding mismerge of ALL_CFLAGS vs BASIC_CFLAGS
+      gitk: Use show-ref instead of ls-remote
+      git-push: allow globbing wildcard refspec.
+      gitweb: fix mismatched parenthesis
+      annotate: fix for cvsserver.
+      S_IFLNK != 0140000
+      Remove contrib/colordiff
+      Add deprecation notices.
+      Remove git-merge-recur
+      git-clone --reference: work well with pack-ref'ed reference repository
+      for-each-reflog: fix case for empty log directory
+      t4200: skip gc-rerere test on systems with non GNU date.
+      git-add -i: update removed path correctly.
+      Documentation: Add gfi to the main command list.
+      GIT v1.5.0-rc4
+
+Linus Torvalds (2):
+      pager: Work around window resizing bug in 'less'
+      Fix "git log -z" behaviour
+
+Mark Levedahl (2):
+      gitk - remove trailing whitespace from a few lines.
+      Make gitk work reasonably well on Cygwin.
+
+Michael Coleman (1):
+      Fix some documentation typos and grammar
+
+Michele Ballabio (1):
+      Documentation: add KMail in SubmittingPatches
+
+Nicolas Pitre (14):
+      make reflog filename independent from struct ref_lock
+      lock_ref_sha1_basic(): remember the original name of a ref when resolving it
+      enable separate reflog for HEAD
+      add reflog entries for HEAD when detached
+      move create_symref() past log_ref_write()
+      add logref support to git-symbolic-ref
+      add reflog when moving HEAD to a new branch
+      reword the detached head message a little again
+      add a quiet option to git-checkout
+      prevent HEAD reflog to be interpreted as current branch reflog
+      provide a nice @{...} syntax to always mean the current branch reflog
+      scan reflogs independently from refs
+      Enable HEAD@{...} and make it independent from the current branch
+      Let git-checkout always drop any detached head
+
+Pavel Roskin (2):
+      git-config --rename-section could rename wrong section
+      Assorted typo fixes
+
+Robin Rosenberg (1):
+      Why is it bad to rewind a branch that has already been pushed out?
+
+Shawn O. Pearce (113):
+      Created fast-import, a tool to quickly generating a pack from blobs.
+      Added automatic index generation to fast-import.
+      Cleaned up memory allocation for object_entry structs.
+      Refactored fast-import's internals for future additions.
+      Added basic command handler to fast-import.
+      Implemented branch handling and basic tree support in fast-import.
+      Added tree and commit writing to fast-import.
+      Implement blob ID validation in fast-import.
+      Converted fast-import to a text based protocol.
+      Changed fast-import's pack header creation to use pack.h
+      Allow symlink blobs in trees during fast-import.
+      Fixed segfault in fast-import after growing a tree.
+      Converted fast-import to accept standard command line parameters.
+      Added mark store/find to fast-import.
+      Added branch load counter to fast-import.
+      Implemented 'tag' command in fast-import.
+      Implemented tree reloading in fast-import.
+      Round out memory pool allocations in fast-import to pointer sizes.
+      Remove branch creation command from fast-import.
+      Moved from command to after data to help cvs2svn.
+      Account for tree entry memory costs in fast-import.
+      Added option to export the marks table when fast-import terminates.
+      Added --branch-log to option to fast-import.
+      Fixed GPF in fast-import caused by unterminated linked list.
+      Fixed compile error in fast-import.
+      Map only part of the generated pack file at any point in time.
+      Added 'reset' command to clear a branch's tree.
+      Don't crash fast-import if no branch log was requested.
+      Converted hash memcpy/memcmp to new hashcpy/hashcmp/hashclr.
+      Implemented tree delta compression in fast-import.
+      Recycle data buffers for tree generation in fast-import.
+      Reuse the same buffer for all commits/tags in fast-import.
+      Replace ywrite in fast-import with the standard write_or_die.
+      Correct tree corruption problems in fast-import.
+      Additional fast-import tree delta corruption cleanups.
+      Fix repository corruption when using marks for modified blobs.
+      Support creation of merge commits in fast-import.
+      Allow creating branches without committing in fast-import.
+      Improve reuse of sha1_file library within fast-import.
+      Misc. type cleanups within fast-import.
+      Restructure fast-import to support creating multiple packfiles.
+      Remove unnecessary duplicate_count in fast-import.
+      Implemented manual packfile switching in fast-import.
+      Don't create a final empty packfile in fast-import.
+      Optimize index creation on large object sets in fast-import.
+      Implemented automatic checkpoints within fast-import.
+      Print the packfile names to stdout from fast-import.
+      Corrected buffer overflow during automatic checkpoint in fast-import.
+      Use uintmax_t for marks in fast-import.
+      Replace redundant yread() with read_in_full() in fast-import.
+      Reuse sha1 in packed_git in fast-import.
+      Use .keep files in fast-import during processing.
+      Ensure we close the packfile after creating it in fast-import.
+      Remove unnecessary pack_fd global in fast-import.
+      Correct max_packsize default in fast-import.
+      Correct object_count type and stat output in fast-import.
+      Print out the edge commits for each packfile in fast-import.
+      Corrected BNF input documentation for fast-import.
+      Correct a few types to be unsigned in fast-import.
+      Declare no-arg functions as (void) in fast-import.
+      Correct packfile edge output in fast-import.
+      Always use struct pack_header for pack header in fast-import.
+      Use fixed-size integers when writing out the index in fast-import.
+      Remove unnecessary options from fast-import.
+      Support delimited data regions in fast-import.
+      Create test case for fast-import.
+      Reduce value duplication in t9300-fast-import.
+      Accept 'inline' file data in fast-import commit structure.
+      Pull out remote listing functions in git-remote.
+      Teach 'git remote' how to cleanup stale tracking branches.
+      Cleanup prepare_packed_git_one to reuse install_packed_git.
+      Correct comment in prepare_packed_git_one.
+      Refactor open_packed_git to return an error code.
+      Don't find objects in packs which aren't available anymore.
+      Don't leak file descriptors from unavailable pack files.
+      Cleanup subcommand documentation for git-remote.
+      Keep untracked files not involved in a merge.
+      Default GIT_MERGE_VERBOSITY to 5 during tests.
+      bash: Remove short option completions for branch/checkout/diff.
+      bash: Classify cat-file and reflog as plumbing.
+      bash: Complete long options to git-add.
+      bash: Add space after unique command name is completed.
+      bash: Classify more commends out of completion.
+      bash: Support unique completion on git-config.
+      bash: Support unique completion when possible.
+      bash: Support internal revlist options better.
+      Include checkpoint command in the BNF.
+      Reduce memory usage of fast-import.
+      Show an example of deleting commits with git-rebase.
+      bash: Support completion on git-cherry.
+      bash: Hide diff-stages from completion.
+      bash: Offer --prune completion for git-gc.
+      bash: Hide git-resolve, its deprecated.
+      bash: Support --add completion to git-config.
+      bash: Support git-bisect and its subcommands.
+      Don't support shell-quoted refnames in fast-import.
+      Initial draft of fast-import documentation.
+      bash: Support git-rebase -m continuation completion.
+      bash: Complete git-remote subcommands.
+      Remove --branch-log from fast-import.
+      Correct compiler warnings in fast-import.
+      Correct minor style issue in fast-import.
+      Correct fast-import timezone documentation.
+      Remove unnecessary null pointer checks in fast-import.
+      Minor fast-import documentation corrections.
+      Support RFC 2822 date parsing in fast-import.
+      Don't do non-fastforward updates in fast-import.
+      Minor timestamp related documentation corrections for fast-import.
+      Teach fast-import how to clear the internal branch content.
+      Teach fast-import how to sit quietly in the corner.
+      Dump all refs and marks during a checkpoint in fast-import.
+      Don't crash fast-import if the marks cannot be exported.
+      Add a Tips and Tricks section to fast-import's manual.
+
+Simon 'corecode' Schubert (1):
+      Allow forcing of a parent commit, even if the parent is not a direct one.
+
+Stelian Pop (1):
+      Add hg-to-git conversion utility.
+
+Uwe Kleine-König (1):
+      add replay and log to the usage string of git-bisect
+
+Yasushi SHOJI (1):
+      gitweb: Convert project name to UTF-8
+
+
+Version v1.5.0-rc3; changes since v1.5.0-rc2:
+---------------------------------------------
+
+Alex Riesen (5):
+      Insert ACTIVESTATE_STRING in Git.pm
+      Force Activestate Perl to tie git command pipe handle to a handle class
+      Cleanup uninitialized value in chomp
+      Allow default core.logallrefupdates to be overridden with template's config
+      Fix git-update-index to work with relative pathnames.
+
+Alexandre Julliard (1):
+      vc-git.el: Take into account the destination name in vc-checkout.
+
+Andy Parkins (5):
+      New files in git weren't being downloaded during CVS update
+      If abbrev is set to zero in git-describe, don't add the unique suffix
+      Allow the tag signing key to be specified in the config file
+      UNIX reference time of 1970-01-01 00:00 is UTC timezone, not local time zone
+      Heavily expanded update hook to send more useful emails than the old hook
+
+Aneesh Kumar K.V (2):
+      blameview: Use git-cat-file to read the file content.
+      Update git-cat-file documentation
+
+Bill Lear (1):
+      Document --check option to git diff.
+
+David Kågedal (1):
+      Improved error message from git-rebase
+
+Eric Wong (1):
+      git-svn: remove leading slash when printing removed directories
+
+J. Bruce Fields (31):
+      Documentation: add git user's manual
+      Documentation: expand preface and todo's
+      Documentation: git-rebase discussion, miscellaneous user-manual updates
+      Documentation: more user-manual todo's
+      Documentation: reorder development section, todo's
+      Documentation: begin discussion of git-remote in user manual
+      Documentation: rev-list -> rev-parse, other typos, start examples
+      user manual: answer some comments from Junio
+      user-manual: replace init-db by init
+      user-manual: reindent
+      user-manual:  rewrap, fix heading levels
+      user-manual: add "quick start" as chapter 1
+      user-manual: minor quickstart reorganization
+      user-manual: clarify difference between tag and branch
+      user-manual: update references discussion
+      user-manual: update git-gc discussion
+      user-manual: stub discussion of fsck and reflog
+      user-manual: reorganize fetch discussion, add internals, etc.
+      user-manual: git-fsck, dangling objects
+      user-manual: fsck-objects -> fsck
+      user-manual: repo-config -> config
+      user-manual: add references to git-config man page
+      user-manual: typo fix
+      user-manual: fix a header level
+      user-manual: reflogs, other recovery
+      user-manual: rewrap a few long lines
+      user-manual: minor "TODO" updates
+      user-manual: document git-show-branch example
+      user-manual: SHA1 -> object name
+      user-manual: point to README for gitweb information
+      user-manual: todo's
+
+Jakub Narębski (3):
+      Documentation/config.txt: Document config file syntax better
+      t/t1300-repo-config.sh: value continued on next line
+      Documentation/config.txt: Correct info about subsection name
+
+Jason Riedy (1):
+      Use inttypes.h rather than stdint.h.
+
+Jeff King (4):
+      format-patch: fix bug with --stdout in a subdirectory
+      contrib/vim: update syntax for changed commit template
+      diffcore-pickaxe: fix infinite loop on zero-length needle
+      Add a sample program 'blameview' to show how to use git-blame --incremental
+
+Johannes Schindelin (2):
+      annotate: use pager
+      reflog inspection: introduce shortcut "-g"
+
+Johannes Sixt (1):
+      Add a missing fork() error check.
+
+Junio C Hamano (43):
+      User manual: fix typos in examples
+      Documentation/tutorial-2: Fix interesting typo in an example.
+      Revert "prune: --grace=time"
+      Make sure git_connect() always give two file descriptors.
+      is_repository_shallow(): prototype fix.
+      shallow repository: disable unsupported operations for now.
+      git-gc: do not run git-prune by default.
+      cvsimport: activate -a option, really.
+      .mailmap: fix screw-ups in Uwe's name
+      honor --author even with --amend, -C, and -c.
+      reflog gc: a tag that does not point at a commit is not a crime.
+      git-checkout -m: fix merge case
+      git-daemon documentation on enabling services.
+      ls-remote and clone: accept --upload-pack=<path> as well.
+      Refactor the pack header reading function out of receive-pack.c
+      Allow fetch-pack to decide keeping the fetched pack without exploding
+      fetch-pack: remove --keep-auto and make it the default.
+      Consolidate {receive,fetch}.unpackLimit
+      Allow non-developer to clone, checkout and fetch more easily.
+      parse-remote: do not barf on a remote shorthand without any refs to fetch.
+      show-branch -g: default to HEAD
+      Documentation: pack-refs --all vs default behaviour
+      Make sure we do not write bogus reflog entries.
+      git-merge: leave sensible reflog message when used as the first level UI.
+      create_symref: check error return from open().
+      write_in_full: size_t is unsigned.
+      Don't force everybody to call setup_ident().
+      git-blame --porcelain: quote filename in c-style when needed.
+      Update describe documentation.
+      Document 'git-blame --incremental'
+      git-fsck-objects is now synonym to git-fsck
+      Two small typofixes.
+      lock_any_ref_for_update(): do not accept malformatted refs.
+      git-commit -s: no extra space when sign-offs appear at the end already.
+      git-blame: somewhat better commenting.
+      git-send-email: remove debugging output.
+      Fix git-tag -u
+      Documentation: "git-checkout <tree> <path>" takes any tree-ish
+      t9200: Re-code non-ascii path test in UTF-8
+      t9200: do not test -x bit if the filesystem does not support it.
+      git main documentation: point at the user's manual.
+      Do not use hardcoded path to xhmtl.xsl to generate user's manual
+      GIT v1.5.0-rc3
+
+Linus Torvalds (5):
+      fsck-objects: refactor checking for connectivity
+      Fix seriously broken "git pack-refs"
+      Add dangling objects tips.
+      git-blame --incremental
+      git-push through git protocol
+
+Mark Wooding (3):
+      wt-status: Actually accept `color.status.BLAH' configuration variables.
+      Documentation/config.txt: Fix documentation of colour config tweaks.
+      Make fsck and fsck-objects be builtins.
+
+Nicolas Pitre (3):
+      fix suggested branch creation command when detaching head
+      git-log -g --pretty=oneline should display the reflog message
+      tone down the detached head warning
+
+Peter Eriksen (2):
+      sha1_file.c: Avoid multiple calls to find_pack_entry().
+      Documentation: --amend cannot be combined with -c/-C/-F.
+
+René Scharfe (1):
+      git-blame --incremental: don't use pager
+
+Sam Vilain (1):
+      contrib/emacs/vc-git.el: support vc-version-other-window
+
+Santi Béjar (1):
+      git-fetch: Allow fetching the remote HEAD
+
+Shawn O. Pearce (6):
+      Remove unnecessary found variable from describe.
+      Teach git-describe to display distances from tags.
+      Compute accurate distances in git-describe before output.
+      Teach for-each-ref about a little language called Tcl.
+      Don't coredump on bad refs in update-server-info.
+      Escape --upload-pack from expr.
+
+Simon 'corecode' Schubert (1):
+      Replace perl code with pure shell code
+
+Tom Prince (1):
+      Rename git-repo-config to git-config.
+
+Uwe Kleine-König (2):
+      rename --exec to --upload-pack for fetch-pack and peek-remote
+      make --upload-pack option to git-fetch configurable
+
+
+Version v1.5.0-rc2; changes since v1.5.0-rc1:
+---------------------------------------------
+
+Bob Proulx (1):
+      git-revert: Fix die before git-sh-setup defines it.
+
+Chris Wedgwood (1):
+      cache.h; fix a couple of prototypes
+
+David Kågedal (2):
+      Shell syntax fix in git-reset
+      Document --ignore-if-in-upstream in git-format-patch
+
+Doug Maxey (1):
+      gitk: add current directory to main window title
+
+Eric Wong (2):
+      git-svn: fix tests to work with older svn
+      git-svn: print and flush authentication prompts to STDERR
+
+Jason Riedy (4):
+      Start all test scripts with /bin/sh.
+      Set _ALL_SOURCE for AIX, but avoid its struct list.
+      Replace "echo -n" with printf in shell scripts.
+      Solaris 5.8 returns ENOTDIR for inappropriate renames.
+
+Jeff King (1):
+      git-pull: disallow implicit merging to detached HEAD
+
+Johannes Schindelin (9):
+      Fix spurious compile error
+      config_set_multivar(): disallow newlines in keys
+      show_date(): fix relative dates
+      apply --cached: fix crash in subdirectory
+      Do not verify filenames in a bare repository
+      Teach the revision walker to walk by reflogs with --walk-reflogs
+      --walk-reflogs: disallow uninteresting commits
+      --walk-reflogs: actually find the right commit by date.
+      --walk-reflogs: do not crash with cyclic reflog ancestry
+
+Junio C Hamano (69):
+      reflog-expire: brown paper bag fix.
+      merge-recursive: do not report the resulting tree object name
+      Explain "Not a git repository: '.git'".
+      glossary typofix
+      Make git-prune-packed a bit more chatty.
+      Define cd_to_toplevel shell function in git-sh-setup
+      Use cd_to_toplevel in scripts that implement it by hand.
+      Allow whole-tree operations to be started from a subdirectory
+      Use log output encoding in --pretty=email headers.
+      t3901: test "format-patch | am" pipe with i18n
+      git-commit documentation: -a adds and also removes
+      Consistent message encoding while reusing log from an existing commit.
+      More tests in t3901.
+      git log documentation: teach -<n> form.
+      Add describe test.
+      Documentation: merge-output is not too verbose now.
+      Use merge-recursive in git-revert/git-cherry-pick
+      git reflog expire: document --stale-fix option.
+      Fix git-fetch while on detached HEAD not to give needlessly alarming errors
+      git-push documentation: remaining bits
+      git-rm documentation: remove broken behaviour from the example.
+      tutorial: shorthand for remotes but show distributed nature of git
+      git-commit documentation: remove comment on unfixed git-rm
+      Use merge-recursive in git-checkout -m (branch switching)
+      Document where configuration files are in config.txt
+      git-commit: document log message formatting convention
+      Documentation/SubmittingPatches: Gnus tips
+      Documentation/git-tag: the command can be used to also verify a tag.
+      Documentation/git-tools.txt: mention tig and refer to wiki
+      Documentation/git-tar-tree.txt: default umask is now 002
+      Documentation/git-status.txt: mention color configuration
+      Documentation/git-whatchanged.txt: show -<n> instead of --max-count.
+      Documentation/git-sh-setup.txt: programmer's docs
+      Documentation: detached HEAD
+      Make a short-and-sweet "git-add -i" synonym for "git-add --interactive"
+      Documentation: describe shallow repository
+      Documentation/glossary.txt: unpacked objects are loose.
+      Documentation/glossary.txt: describe remotes/ tracking and packed-refs
+      Introduce 'git-format-patch --suffix=.patch'
+      git-format-patch: do not crash with format.headers without value.
+      Documentation/git-resolve: deprecated.
+      Documentation: suggest corresponding Porcelain-level in plumbing docs.
+      Documentation: m can be relative in "git-blame -Ln,m"
+      Documentation/git-parse-remote.txt: we deal with config vars as well
+      git-format-patch -3
+      Add --summary to git-format-patch by default
+      git-format-patch: make --binary on by default
+      git-format-patch: the default suffix is now .patch, not .txt
+      Use fixed-size integers for .idx file I/O
+      Documentation: move command list in git.txt into separate files.
+      Documentation: sync git.txt command list and manual page title
+      Documentation: Generate command lists.
+      for_each_reflog_ent: do not leak FILE *
+      refs.c::read_ref_at(): fix bogus munmap() call.
+      Documentation: generated cmds-*.txt does not depend on git.txt
+      Documentation/git.txt: command re-classification
+      dwim_ref(): Separate name-to-ref DWIM code out.
+      Extend read_ref_at() to be usable from places other than sha1_name.
+      show-branch --reflog: show the reflog message at the top.
+      show-branch --reflog: tighten input validation.
+      show-branch --reflog: fix show_date() call
+      Stop ignoring Documentation/README
+      git-tag -d: allow deleting multiple tags at once.
+      branch -f: no reason to forbid updating the current branch in a bare repo.
+      git-rebase: allow rebasing a detached HEAD.
+      log --walk-reflog: documentation
+      reflog-walk: build fixes
+      Fix --walk-reflog with --pretty=oneline
+      GIT v1.5.0-rc2
+
+Linus Torvalds (2):
+      Clean up write_in_full() users
+      Fix up totally buggered read_or_die()
+
+Matthias Lederhofer (2):
+      prune-packed: add -q to usage
+      prune: --grace=time
+
+Michael S. Tsirkin (1):
+      fix documentation for git-commit --no-verify
+
+Nicolas Pitre (4):
+      use 'init' instead of 'init-db' for shipped docs and tools
+      simplify the "no changes added to commit" message
+      some doc updates
+      sanitize content of README file
+
+Peter Baumann (1):
+      Make gitk work when launched in a subdirectory
+
+Quy Tonthat (1):
+      git-remote: no longer silent on unknown commands.
+
+René Scharfe (1):
+      Documentation: a few spelling fixes
+
+Santi Béjar (1):
+      tutorial: Use only separate layout
+
+Shawn O. Pearce (18):
+      Improve merge performance by avoiding in-index merges.
+      Hide output about SVN::Core not being found during tests.
+      Remove read_or_die in favor of better error messages.
+      Remove unnecessary call_depth parameter in merge-recursive.
+      Allow the user to control the verbosity of merge-recursive.
+      Enable output buffering in merge-recursive.
+      Display a progress meter during merge-recursive.
+      Convert output messages in merge-recursive to past tense.
+      Always perfer annotated tags in git-describe.
+      Hash tags by commit SHA1 in git-describe.
+      Use binary searching on large buckets in git-describe.
+      Improve git-describe performance by reducing revision listing.
+      Correct priority of lightweight tags in git-describe.
+      Remove hash in git-describe in favor of util slot.
+      Use nice names in conflict markers during cherry-pick/revert.
+      Document the master@{n} reflog query syntax.
+      Refer users to git-rev-parse for revision specification syntax.
+      Document pack .idx file format upgrade strategy.
+
+Simon 'corecode' Schubert (2):
+      Use fixed-size integers for the on-disk pack structure.
+      Use standard -t option for touch.
+
+Uwe Kleine-König (4):
+      document --exec for git-push
+      Update documentation of fetch-pack, push and send-pack
+      make --exec=... option to git-push configurable
+      rename --exec to --receive-pack for push and send-pack
+
+
+Version v1.5.0-rc1; changes since v1.5.0-rc0:
+---------------------------------------------
+
+Alex Riesen (1):
+      Speed-up recursive by flushing index only once for all entries
+
+Alexandre Julliard (12):
+      Shallow clone: do not ignore shallowness when following tags
+      fetch-pack: Properly remove the shallow file when it becomes empty.
+      upload-pack: Check for NOT_SHALLOW flag before sending a shallow to the client.
+      git-fetch: Reset shallow_depth before auto-following tags.
+      get_shallow_commits: Avoid memory leak if a commit has been reached already.
+      fetch-pack: Do not fetch tags for shallow clones.
+      git-clean: Fix the -q option.
+      git.el: Don't use --info-only when resolving a file.
+      git.el: Avoid setting font lock keywords before entering log-edit mode.
+      git-apply: Remove directories that have become empty after deleting a file.
+      git-clone: Make sure the master branch exists before running cat on it.
+      git.el: Define the propertize function if needed, for XEmacs compatibility.
+
+Andy Parkins (1):
+      hooks/commit-msg: add example to add Signed-off-by line to message
+
+Andy Whitcroft (6):
+      send pack check for failure to send revisions list
+      ssh-upload: prevent buffer overrun
+      short i/o: clean up the naming for the write_{in,or}_xxx family
+      short i/o: fix calls to read to use xread or read_in_full
+      short i/o: fix calls to write to use xwrite or write_in_full
+      short i/o: fix config updates to use write_in_full
+
+Brian Gernhardt (3):
+      Add documentation for git-branch's color configuration.
+      Ignore git-init and git-remote
+      Auto-quote config values in config.c:store_write_pair()
+
+Eric Wong (21):
+      git-svn: quiet down tests and fix some unportable shell constructs
+      git-svn: dcommit should diff against the current HEAD after committing
+      t6024-recursive-merge: quiet down this test
+      test-lib: quiet down init-db output for tests
+      t9200-git-cvsexportcommit.sh: quiet down commit
+      git-svn: remove non-delta fetch code paths
+      git-svn: print out the SVN library version in --version, too
+      git-svn: verify_ref() should actually --verify
+      git-svn: sort multi-init output
+      git-svn: remove svnadmin dependency from the tests
+      git-svn: t/t9100-git-svn-basic: remove old check for NO_SYMLINK
+      git-svn: t/t91??-*: optimize the tests a bit
+      instaweb: load Apache mime and dir modules if they are needed
+      git-svn: make multi-init less confusing
+      git-svn: update documentation for multi-{init|fetch}
+      git-svn: make --repack work consistently between fetch and multi-fetch
+      Documentation/git-svn: clarify dcommit, rebase vs pull/merge
+      git-svn: fix show-ignore
+      git-svn: add --prefix= option to multi-init
+      git-svn: pass an unambiguous ref to rev-list when grafting-branches
+      Avoid errors and warnings when attempting to do I/O on zero bytes
+
+Fredrik Kuivinen (1):
+      instaweb: Nicer error message when the http daemon isn't found
+
+J. Bruce Fields (9):
+      Docs: update cvs-migration.txt to reflect clone's new default behavior
+      Documentation: update git-clone.txt for clone's new default behavior
+      Documentation: update glossary entry for "origin"
+      Documentation: update tutorial's discussion of origin
+      Documentation: update git-pull.txt for new clone behavior
+      Documentation: remove master:origin example from pull-fetch-param.txt
+      Documentation: tutorial editing
+      Documentation: clarify definition of "reachable"
+      Documentation: add git-remote man page
+
+Jakub Narębski (14):
+      gitweb: Add mod_perl version string to "generator" meta header
+      gitweb: Precompile CGI routines for mod_perl
+      Add info about new test families (8 and 9) to t/README
+      gitweb: Fix error in git_project_index subroutine
+      gitweb: Fix bug in git_difftree_body (was '!=' instead of 'ne')
+      gitweb: There can be empty patches (in git_patchset_body)
+      gitweb: Fix "Use of uninitialized value" warning in git_tags_body
+      gitweb: Fix error in git_patchest_body for file creation/deletion patch
+      gitweb: Fix error in "rename to"/"copy to" git diff header output
+      gitweb: Fix errors in git_patchset_body for empty patches
+      Revert "gitweb: There can be empty patches (in git_patchset_body)"
+      gitweb: Fix split patches output (e.g. file to symlink)
+      gitweb: Remove superfluous "|" in "commit" view
+      gitweb: Fix git_patchset_body not closing <div class="patch">
+
+Jeff King (1):
+      get_tree_entry: map blank requested entry to tree root
+
+Jim Meyering (1):
+      update hook: redirect _both_ diagnostic lines to stderr upon tag failure
+
+Johannes Schindelin (9):
+      upload-pack: no longer call rev-list
+      support fetching into a shallow repository
+      allow cloning a repository "shallowly"
+      allow deepening of a shallow repository
+      add tests for shallow stuff
+      xdl_merge(): fix a segmentation fault when refining conflicts
+      Fix yet another subtle xdl_merge() bug
+      Sanitize for_each_reflog_ent()
+      Fix t1410 for core.filemode==false
+
+Junio C Hamano (106):
+      We should make sure that the protocol is still extensible.
+      Why does it mean we do not have to register shallow if we have one?
+      Why didn't we mark want_obj as ~UNINTERESTING in the old code?
+      shallow clone: unparse and reparse an unshallowed commit
+      add for_each_reflog_ent() iterator
+      Protect commits recorded in reflog from pruning.
+      Teach git-repack to preserve objects referred to by reflog entries.
+      reflog: fix warning message.
+      Move in_merge_bases() to commit.c
+      git reflog expire
+      reflog expire: prune commits that are not incomplete
+      reflog expire: do not punt on tags that point at non commits.
+      show-branch --reflog: add documentation.
+      Document --numstat in git-apply and git-diff
+      Document git-reset <commit> -- <paths>...
+      Move encoding conversion routine out of mailinfo to utf8.c
+      i18n.logToUTF8: convert commit log message to UTF-8
+      Teach log family --encoding
+      everyday: update for v1.5.0
+      count-objects -v: show number of packs as well.
+      rerere gc: honor configuration and document it
+      git-reflog: gc.* configuration and documentation.
+      everyday: replace a few 'prune' and 'repack' with 'gc'
+      Use 'repack -a -d -l' instead of 'repack -a -d' in git-gc
+      Set NO_MMAP for Cygwin by default
+      UTF-8: introduce i18n.logoutputencoding.
+      gcc does not necessarily pass runtime libpath with -R
+      Work around http-fetch built with cURL 7.16.0
+      Rename t3900 test vector file
+      t3900: test conversion to non UTF-8 as well
+      GIT_SKIP_TESTS: allow users to omit tests that are known to break
+      core.logallrefupdates: log remotes/ tracking branches.
+      Allow non-fast-forward of remote tracking branches in default clone
+      t5400 send-pack test: try a bit more nontrivial transfer.
+      Revert "read_directory: show_both option."
+      Fix 'git add' with .gitignore
+      pack-objects: fix use of use_pack().
+      mmap: set FD_CLOEXEC for file descriptors we keep open for mmap()
+      send-pack: fix pipeline.
+      Documentation: illustrate send-pack pipeline.
+      commit re-encoding: fix confusion between no and default conversion.
+      t3900: test log --encoding=none
+      Documentation: i18n commit log message notes.
+      Documentation: minor rewording for git-log and git-show pages.
+      Move commit reencoding parameter parsing to revision.c
+      commit-tree: cope with different ways "utf-8" can be spelled.
+      i18n: drop "encoding" header in the output after re-coding.
+      Documentation/config.txt (and repo-config manpage): mark-up fix.
+      Update documentation for update hook.
+      send-pack.c: use is_null_sha1()
+      send-pack: tell pack-objects to use its internal rev-list.
+      Do not merge random set of refs out of wildcarded refs
+      i18n: do not leak 'encoding' header even when we cheat the conversion.
+      Update send-pack pipeline documentation.
+      fail pull/merge early in the middle of conflicted merge
+      git-fetch: remove .keep file at the end.
+      Strongly discourage --update-head-ok in fetch-options documentation.
+      Update clone/fetch documentation with --depth (shallow clone) option
+      Remove unused variable (git-commit.sh)
+      fetch-pack: do not use lockfile structure on stack.
+      Fix infinite loop when deleting multiple packed refs.
+      tutorial: misc updates.
+      git-verify-tag: make sure we remove temporary file.
+      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
+      rerere: Fix removal of already resolved path.
+      git-remote
+      builtin-prune: memory diet.
+      Fix timestamp for test-tick
+      builtin-prune: make file-scope static struct to an argument.
+      builtin-prune: separate ref walking from reflog walking.
+      Move traversal of reachable objects into a separate library.
+      reflog expire --fix-stale
+      reflog --fix-stale: do not check the same trees and commits repeatedly.
+      diff-index --cached --raw: show tree entry on the LHS for unmerged entries.
+      git-reset <tree> -- <path> restores absense of <path> in <tree>
+      Spell default packedgitlimit slightly differently
+      Move initialization of log_all_ref_updates
+      Introduce is_bare_repository() and core.bare configuration variable
+      git-fetch: allow updating the current branch in a bare repository.
+      git-status: show detached HEAD
+      Detached HEAD (experimental)
+      git-checkout: do not warn detaching HEAD when it is already detached.
+      git-checkout: rewording comments regarding detached HEAD.
+      git-checkout: safety when coming back from the detached HEAD state.
+      git-checkout: fix branch name output from the command
+      --utf8 is now default for 'git-am'
+      --prune is now default for 'pack-refs'
+      rm git-rerere.perl -- it is now a built-in.
+      merge-base: do not leak commit list
+      Do not ignore a detected patchfile brokenness.
+      Fix "Do not ignore a detected patchfile brokenness."
+      builtin-archive: do not free a tree held by the object layer.
+      git-checkout: safety check for detached HEAD checks existing refs
+      git-checkout: handle local changes sanely when detaching HEAD
+      git-am: should work when "--no-utf8 --utf8" is given
+      -u is now default for 'git-applymbox'
+      -u is now default for 'git-mailinfo'.
+      Makefile: remove $foo when $foo.exe is built/installed.
+      merge-recursive: do not use on-file index when not needed.
+      Document git-init
+      index-pack: write-or-die instead of unchecked write-in-full.
+      config-set: check write-in-full returns in set_multivar
+      git-rm: do not fail on already removed file.
+      git-status: wording update to deal with deleted files.
+      plug a few leaks in revision walking used in describe.
+      GIT v1.5.0-rc1
+
+Jürgen Rühle (7):
+      Clarify syntax and role of git-add in status output
+      Improve "nothing to commit" part of status output
+      Support --amend on initial commit in status output
+      Improve cached content header of status output
+      Remove unnecessary git-rm --cached reference from status output
+      send-email: work around double encoding of in-body From field.
+      Provide better feedback for the untracked only case in status output
+
+Lars Hjemli (3):
+      Skip excessive blank lines before commit body
+      Refactor print-functions in builtin-branch
+      git-branch: show detached HEAD
+
+Linus Torvalds (3):
+      write-cache: do not leak the serialized cache-tree data.
+      write_in_full: really write in full or return error on disk full.
+      Better error messages for corrupt databases
+
+Luben Tuikov (1):
+      Blame "linenr" link jumps to previous state at "orig_lineno"
+
+Martin Langhoff (6):
+      cvsimport: skip commits that are too recent
+      cvsimport: skip commits that are too recent (option and documentation)
+      cvsimport: document -S and -L options
+      cvsimport: cleanup temporary cvsps file
+      cvsserver: detect early of we are up to date and avoid costly rev-list
+      cvsserver: fix revision number during file adds
+
+Michael Loeffler (1):
+      git-commit: do not fail to print the diffstat even if there is a file named HEAD
+
+Nicolas Pitre (5):
+      add .mailmap for git-shortlog output with the git repository
+      Add git-reflog to .gitignore
+      move git-blame to its place in .gitignore
+      "init-db" can really be just "init"
+      Add git-init documentation.
+
+Pavel Roskin (1):
+      Fix warnings in sha1_file.c - use C99 printf format if available
+
+Quy Tonthat (1):
+      git-send-email: default value for "From:" field.
+
+René Scharfe (3):
+      Make check target depend on common-cmds.h
+      Remove shadowing variable from traverse_trees()
+      Set default "tar" umask to 002 and owner.group to root.root
+
+Robert Fitzsimons (2):
+      gitweb: Re-enable rev-list --parents for parse_commit.
+      gitweb: Fix shortlog only showing HEAD revision.
+
+Santi Béjar (2):
+      Documentation/tutorial: misc updates
+      git-tag: add flag to verify a tag
+
+Sasha Khapyorsky (3):
+      git-svnimport: support for incremental import
+      git-svnimport: clean svn path when accessing SVN repo
+      git-svnimport: fix edge revisions double importing
+
+Shawn O. Pearce (49):
+      Don't crash during repack of a reflog with pruned commits.
+      Create 'git gc' to perform common maintenance operations.
+      Use GIT_REFLOG_ACTION environment variable instead.
+      Honor GIT_REFLOG_ACTION in git-rebase.
+      Use branch names in 'git-rebase -m' conflict hunks.
+      Ensure `git-pull` fails if `git-merge` fails.
+      Honor pull.{twohead,octopus} in git-merge.
+      Allow git-merge to select the default strategy.
+      Move better_branch_name above get_ref in merge-recursive.
+      Allow merging bare trees in merge-recursive.
+      Use merge-recursive in git-am -3.
+      Replace unpack_entry_gently with unpack_entry.
+      Introduce new config option for mmap limit.
+      Refactor packed_git to prepare for sliding mmap windows.
+      Use off_t for index and pack file lengths.
+      Create read_or_die utility routine.
+      Refactor how we open pack files to prepare for multiple windows.
+      Replace use_packed_git with window cursors.
+      Loop over pack_windows when inflating/accessing data.
+      Document why header parsing won't exceed a window.
+      Unmap individual windows rather than entire files.
+      Fully activate the sliding window pack access.
+      Load core configuration in git-verify-pack.
+      Ensure core.packedGitWindowSize cannot be less than 2 pages.
+      Improve error message when packfile mmap fails.
+      Support unmapping windows on 'temporary' packfiles.
+      Create pack_report() as a debugging aid.
+      Test suite for sliding window mmap implementation.
+      Default core.packdGitWindowSize to 1 MiB if NO_MMAP.
+      Release pack windows before reporting out of memory.
+      Replace mmap with xmmap, better handling MAP_FAILED.
+      Cleanup read_cache_from error handling.
+      Fix random segfaults in pack-objects.
+      Force core.filemode to false on Cygwin.
+      Use PATH_MAX constant for --bare.
+      Replace "GIT_DIR" with GIT_DIR_ENVIRONMENT.
+      Automatically detect a bare git repository.
+      Remove unnecessary argc parameter from run_command_v.
+      Redirect update hook stdout to stderr.
+      Use /dev/null for update hook stdin.
+      Teach Git how to parse standard power of 2 suffixes.
+      Update packedGit config option documentation.
+      Add test case for update hooks in receive-pack.
+      Increase packedGit{Limit,WindowSize} on 64 bit systems.
+      Don't die in git-http-fetch when fetching packs.
+      Don't save the commit buffer in git-describe.
+      Make git-describe a builtin.
+      Disallow working directory commands in a bare repository.
+      Chose better tag names in git-describe after merges.
+
+Stefan-W. Hahn (1):
+      Replacing the system call pread() with lseek()/xread()/lseek() sequence.
+
+Steven Grimm (3):
+      Describe git-clone's actual behavior in the summary
+      Print a more accurate error message when we fail to create a lock file.
+      Update git-svn manpage to remove the implication that SVN::* is optional.
+
+Theodore Ts'o (2):
+      Fix formatting for urls section of fetch, pull, and push manpages
+      Fix formatting for urls section of fetch, pull, and push manpages
+
+
+Version v1.5.0-rc0; changes since v1.4.4.5:
+-------------------------------------------
+
+Alex Riesen (1):
+      Make perl/ build procedure ActiveState friendly.
+
+Alexandre Julliard (1):
+      vc-git: Ignore errors caused by a non-existent directory in vc-git-registered.
+
+Andreas Ericsson (2):
+      ls-files: Give hints when errors happen.
+      git-diff: Introduce --index and deprecate --cached.
+
+Andy Parkins (8):
+      Improve git-prune -n output
+      Add support to git-branch to show local and remote branches
+      Use .git/config for storing "origin" shortcut repository
+      De-emphasise the symbolic link documentation.
+      Explicitly add the default "git pull" behaviour to .git/config on clone
+      Colourise git-branch output
+      Allow subcommand.color and color.subcommand color configuration
+      git-status always says what branch it's on
+
+Aneesh Kumar K.V (1):
+      Add config example with respect to branch
+
+Brian Gernhardt (6):
+      Add --add option to git-repo-config
+      Make git-diff documentation use [--] when it should.
+      Add documentation for show-branch --topics
+      Remove COLLISION_CHECK from Makefile since it's not used.
+      Keep "git --git-dir" from causing a bus error.
+      Make git-show-branch options similar to git-branch.
+
+David S. Miller (1):
+      Pass -M to diff in request-pull
+
+Eric Wong (29):
+      git-svn: handle authentication without relying on cached tokens on disk
+      git-svn: correctly access repos when only given partial read permissions
+      git-svn: exit with status 1 for test failures
+      git-svn: allow SVN:: lib users to track the root of the repository (again)
+      git-svn: use ~/.subversion config files when using SVN:: libraries
+      git-svn: enable delta transfers during fetches when using SVN:: libs
+      git-svn: update tests for recent changes
+      git-svn: error out when the SVN connection fails during a fetch
+      git-svn: fix output reporting from the delta fetcher
+      git-svn: color support for the log command
+      git-svn: documentation updates
+      git-svn: fix multi-init
+      git-svn: avoid network timeouts for long-running fetches
+      git-svn: extra error check to ensure we open a file correctly
+      git-svn: use do_switch for --follow-parent if the SVN library supports it
+      rerere: add clear, diff, and status commands
+      rerere: record (or avoid misrecording) resolved, skipped or aborted rebase/am
+      git-svn: enable logging of information not supported by git
+      git-svn: allow dcommit to take an alternate head
+      git-svn: correctly display fatal() error messages
+      git-svn: correctly handle packed-refs in refs/remotes/
+      git-svn: correctly handle "(no author)" when using an authors file
+      git-svn: convert to using Git.pm
+      git-svn: remove support for the svn command-line client
+      git-svn: rename 'commit' command to 'set-tree'
+      git-cvsserver: fix breakage when calling git merge-file
+      Remove NO_ACCURATE_DIFF options from build systems
+      git-svn: enable common fetch/commit options for dcommit
+      Makefile: add quick-install-doc for installing pre-built manpages
+
+Han-Wen Nienhuys (2):
+      git-tag: allow empty tag message if -m is given explicitly.
+      ident.c: Trim hint printed when gecos is empty.
+
+Iñaki Arenaza (1):
+      git-cvsimport: add support for CVS pserver method HTTP/1.x proxying
+
+J. Bruce Fields (5):
+      Documentation: clarify tutorial pull/merge discussion
+      cvs-migration: improved section titles, better push/commit explanation
+      Documentation: reorganize cvs-migration.txt
+      Documentation: update git-clone man page with new behavior
+      Documentation: simpler shared repository creation
+
+Jakub Narębski (26):
+      gitweb: Protect against possible warning in git_commitdiff
+      gitweb: Buffer diff header to deal with split patches + git_patchset_body refactoring
+      gitweb: Default to $hash_base or HEAD for $hash in "commit" and "commitdiff"
+      gitweb: New improved formatting of chunk header in diff
+      gitweb: Add an option to href() to return full URL
+      gitweb: Refactor feed generation, make output prettier, add Atom feed
+      gitweb: Finish restoring "blob" links in git_difftree_body
+      gitweb: Replace SPC with &nbsp; also in tag comment
+      gitweb: Do not use esc_html in esc_path
+      gitweb: Use git-show-ref instead of git-peek-remote
+      gitweb: Add author and committer email extraction to parse_commit
+      gitweb: Add author and contributor email to Atom feed
+      gitweb: Use author_epoch for pubdate in gitweb feeds
+      gitweb: Make project description in projects list link to summary view
+      gitweb: Fix Atom feed <logo>: it is $logo, not $logo_url
+      git-clone: Rename --use-immingled-remote option to --no-separate-remote
+      Document git-diff whitespace flags -b and -w
+      gitweb: Allow PNG, GIF, JPEG images to be displayed in "blob" view
+      gitweb: Don't use Content-Encoding: header in git_snapshot
+      gitweb: Show target of symbolic link in "tree" view
+      gitweb: Add generic git_object subroutine to display object of any type
+      gitweb: Hyperlink target of symbolic link in "tree" view (if possible)
+      gitweb: SHA-1 in commit log message links to "object" view
+      gitweb: Do not show difftree for merges in "commit" view
+      gitweb: Add title attribute to ref marker with full ref name
+      gitweb: Add "next" link to commit view
+
+Jeff King (2):
+      shortlog: fix segfault on empty authorname
+      vim syntax: follow recent changes to commit template
+
+Jim Meyering (1):
+      Set permissions of each new file before "cvs add"ing it.
+
+Johannes Schindelin (30):
+      Build in shortlog
+      shortlog: do not crash on parsing "[PATCH"
+      shortlog: read mailmap from ./.mailmap again
+      shortlog: handle email addresses case-insensitively
+      shortlog: fix "-n"
+      shortlog: use pager
+      sha1_object_info(): be consistent with read_sha1_file()
+      xdiff: add xdl_merge()
+      xdl_merge(): fix an off-by-one bug
+      xdl_merge(): fix thinko
+      diff -b: ignore whitespace at end of line
+      xdl_merge(): fix and simplify conflict handling
+      cvs-migration document: make the need for "push" more obvious
+      Add builtin merge-file, a minimal replacement for RCS merge
+      merge-file: support -p and -q; fix compile warnings
+      Get rid of the dependency on RCS' merge program
+      merge-recursive: add/add really is modify/modify with an empty base
+      INSTALL: no need to have GNU diff installed
+      git-show: grok blobs, trees and tags, too
+      Document git-merge-file
+      add a function to rename sections in the config
+      git-branch: rename config vars branch.<branch>.*, too
+      Introduce GIT_TEMPLATE_DIR
+      Use git-merge-file in git-merge-one-file, too
+      git-tag: support -F <file> option
+      git-reset --hard: tell the user what the HEAD was reset to
+      move read_mmfile() into xdiff-interface
+      Add a test for git-rerere
+      Make git-rerere a builtin
+      commit-tree: encourage UTF-8 commit messages.
+
+Josef Weidendorfer (2):
+      Add branch.*.merge warning and documentation update
+      Move "no merge candidate" warning into git-pull
+
+Junio C Hamano (115):
+      upload-pack: stop the other side when they have more roots than we do.
+      apply --numstat: mark binary diffstat with - -, not 0 0
+      pack-objects: tweak "do not even attempt delta" heuristics
+      Store peeled refs in packed-refs file.
+      remove merge-recursive-old
+      git-merge: make it usable as the first class UI
+      merge: allow merging into a yet-to-be-born branch.
+      Store peeled refs in packed-refs (take 2).
+      git-fetch: reuse ls-remote result.
+      git-fetch: fix dumb protocol transport to fetch from pack-pruned ref
+      git-fetch: allow glob pattern in refspec
+      refs outside refs/{heads,tags} match less strongly.
+      Typefix builtin-prune.c::prune_object()
+      Allow git push to delete remote ref.
+      gitweb: (style) use chomp without parentheses consistently.
+      git-clone: stop dumb protocol from copying refs outside heads/ and tags/.
+      git-branch -D: make it work even when on a yet-to-be-born branch
+      git-shortlog: fix common repository prefix abbreviation.
+      git-shortlog: make common repository prefix configurable with .mailmap
+      git-commit: show --summary after successful commit.
+      git-fetch: exit with non-zero status when fast-forward check fails
+      git-fetch: allow forcing glob pattern in refspec
+      fetch-pack: do not barf when duplicate re patterns are given
+      grep: do not skip unmerged entries when grepping in the working tree.
+      git-merge: tighten error checking.
+      git-merge: do not leak rev-parse output used for checking internally.
+      cvsimport: style fixup.
+      git-merge: fix confusion between tag and branch
+      xmerge: make return value from xdl_merge() more usable.
+      merge-recursive: use xdl_merge().
+      read-tree: further loosen "working file will be lost" check.
+      Loosen "working file will be lost" check in Porcelain-ish
+      read-tree: document --exclude-per-directory
+      git-merge: squelch needless error message.
+      git-merge: fix "fix confusion between tag and branch" for real
+      Fix perl/ build.
+      git-rerere: add 'gc' command.
+      Documentation/git-commit: rewrite to make it more end-user friendly.
+      git-commit: allow --only to lose what was staged earlier.
+      shortlog: remove "[PATCH]" prefix from shortlog output
+      shortlog: fix segfault on empty authorname
+      diff --numstat: show binary with '-' to match "apply --numstat"
+      add test case for recursive merge
+      git-push: document removal of remote ref with :<dst> pathspec
+      Revert "git-diff: Introduce --index and deprecate --cached."
+      git merge: reword failure message.
+      spurious .sp in manpages
+      git-push: accept tag <tag> as advertised.
+      send-pack: tighten checks for remote names
+      branch --color: change default color selection.
+      git-blame: show lines attributed to boundary commits differently.
+      config documentation: group color items together.
+      git-svn: allow both diff.color and color.diff
+      Update git-diff documentation
+      git-fetch: make it work from within a subdirectory.
+      git-reset: make it work from within a subdirectory.
+      git-reset [--mixed] <tree> [--] <paths>...
+      merge: give a bit prettier merge message to "merge branch~$n"
+      git-clone: use wildcard specification for tracking branches
+      git-pull: refuse default merge without branch.*.merge
+      git-clone: lose the artificial "first" fetch refspec
+      git-clone: lose the traditional 'no-separate-remote' layout
+      update-index: make D/F conflict error a bit more verbose.
+      git-add: remove conflicting entry when adding.
+      Fix check_file_directory_conflict().
+      Fix mis-mark-up in git-merge-file.txt documentation
+      markup fix in svnimport documentation.
+      rev-list --left-right
+      Teach all of log family --left-right output.
+      Make left-right automatic.
+      Teach show-branch how to show ref-log data.
+      git-fetch: Avoid reading packed refs over and over again
+      avoid accessing _all_ loose refs in git-show-ref --verify
+      show-ref: fix --quiet --verify
+      show-ref: fix --verify --hash=length
+      parse-remote::expand_refs_wildcard()
+      show-ref: fix --exclude-existing
+      racy-git: documentation updates.
+      rerere: fix breakage of resolving.
+      fix testsuite: make sure they use templates freshly built from the source
+      Teach git-branch to delete tracking branches with -r -d
+      blame: -b (blame.blankboundary) and --root (blame.showroot)
+      git-add --interactive
+      git-add --interactive: hunk splitting
+      Revert "fix testsuite: make sure they use templates freshly built from the source"
+      Do not create $GIT_DIR/remotes/ directory anymore.
+      Use preprocessor constants for environment variable names.
+      Revert "Make left-right automatic."
+      fix populate-filespec
+      config_rename_section: fix FILE* leak
+      simplify inclusion of system header files.
+      revision: --skip=<n>
+      git-add: error out when given no arguments.
+      compat/inet_ntop: do not use u_int
+      diff documentation: mostly talk about <commit>
+      Revert "git-pull: refuse default merge without branch.*.merge"
+      parse-remote: mark all refs not for merge only when fetching more than one
+      _XOPEN_SOURCE problem also exists on FreeBSD
+      commit-tree: do not overflow MAXPARENT
+      merge and reset: adjust for "reset --hard" messages
+      default pull: forget about "newbie protection" for now.
+      Do not support "partial URL shorthand" anymore.
+      Really fix headers for __FreeBSD__
+      git-tag: lose exit after die
+      Allow branch.*.merge to talk about remote tracking branches.
+      git-add --interactive: add documentation
+      match_pathspec() -- return how well the spec matched
+      git-rm: update to saner semantics
+      t3600: update the test for updated git rm
+      git-rm: Documentation
+      read_directory: show_both option.
+      git-add: add ignored files when asked explicitly.
+      git-add: warn when adding an ignored file with an explicit request.
+      git-add -f: allow adding otherwise ignored files.
+      GIT v1.5.0 preview
+
+Lars Hjemli (4):
+      Add -v and --abbrev options to git-branch
+      git-branch: add options and tests for branch renaming
+      rename_ref: use lstat(2) when testing for symlink
+      git-branch: let caller specify logmsg
+
+Luben Tuikov (1):
+      Export PERL_PATH
+
+Michael Loeffler (1):
+      git-fetch: ignore dereferenced tags in expand_refs_wildcard
+
+Nicolas Pitre (11):
+      builtin git-shortlog is broken
+      pack-objects: remove redundent status information
+      make 'git add' a first class user friendly interface to the index
+      change the unpack limit treshold to a saner value
+      repacked packs should be read-only
+      make commit message a little more consistent and conforting
+      make patch_delta() error cases a bit more verbose
+      make git a bit less cryptic on fetch errors
+      index-pack usage of mmap() is unacceptably slower on many OSes other than Linux
+      clarify some error messages wrt unknown object types
+      checkout: make the message about the need for a new branch a bit clearer
+
+Paul Mackerras (1):
+      gitk: Fix enabling/disabling of menu items on Mac OS X
+
+Peter Baumann (1):
+      config option log.showroot to show the diff of root commits
+
+Petr Baudis (1):
+      Make git-clone --use-separate-remote the default
+
+Quy Tonthat (4):
+      git-clone documentation
+      Documentation: new option -P for git-svnimport
+      git-branch -d: do not stop at the first failure.
+      Documentation/git-branch: new -r to delete remote-tracking branches.
+
+René Scharfe (1):
+      shortlog: remove range check
+
+Robert Fitzsimons (17):
+      gitweb: Show '...' links in "summary" view only if there are more items
+      gitweb: Add missing show '...' links change.
+      gitweb: optimize git_get_last_activity.
+      gitweb: optimize git_shortlog_body.
+      gitweb: optimize git_summary.
+      gitweb: Use rev-list pattern search options.
+      gitweb: Require a minimum of two character for the search text.
+      gitweb: Allow search to be disabled from the config file.
+      gitweb: Paginate commit/author/committer search output
+      gitweb: Add parse_commits, used to bulk load commit objects.
+      gitweb: We do longer need the --parents flag in rev-list.
+      gitweb: Change summary, shortlog actions to use parse_commits.
+      gitweb: Change log action to use parse_commits.
+      gitweb: Change header search action to use parse_commits.
+      gitweb: Change atom, rss actions to use parse_commits.
+      gitweb: Change history action to use parse_commits.
+      gitweb: Use rev-list --skip option.
+
+Robin Rosenberg (1):
+      Make cvsexportcommit work with filenames with spaces and non-ascii characters.
+
+Sean Estabrooks (1):
+      Update documentation to remove incorrect GIT_DIFF_OPTS example.
+
+Shawn O. Pearce (30):
+      Teach git-completion.bash how to complete git-merge.
+      Hide plumbing/transport commands from bash completion.
+      Teach bash how to complete options for git-name-rev.
+      Add current branch in PS1 support to git-completion.bash.
+      Teach bash how to complete git-format-patch.
+      Teach bash how to complete git-cherry-pick.
+      Teach bash how to complete git-rebase.
+      Teach bash about git log/show/whatchanged options.
+      Support bash completion of refs/remote.
+      Teach bash about git-repo-config.
+      Support --strategy=x completion in addition to --strategy x.
+      Cache the list of merge strategies and available commands during load.
+      Teach bash about git-am/git-apply and their whitespace options.
+      Teach bash how to complete long options for git-commit.
+      Fix broken bash completion of local refs.
+      Remove uncontested renamed files during merge.
+      Avoid accessing a slow working copy during diffcore operations.
+      Provide more meaningful output from 'git init-db'.
+      Enable reflogs by default in any repository with a working directory.
+      Teach bash the new features of 'git show'.
+      Suggest use of "git add file1 file2" when there is nothing to commit.
+      Align section headers of 'git status' to new 'git add'.
+      Default GIT_COMMITTER_NAME to login name in recieve-pack.
+      Suggest 'add' in am/revert/cherry-pick.
+      Rename imap-send's internal info/warn functions.
+      Introduce a global level warn() function.
+      Use extended SHA1 syntax in merge-recursive conflicts.
+      Display 'theirs' branch name when possible in merge.
+      Rename gitfakemmap to git_mmap.
+      Switch git_mmap to use pread.
+
+Terje Sten Bjerkseth (1):
+      Fix system header problems on Mac OS X
+
+Uwe Kleine-König (1):
+      Fix documentation copy&paste typo
+
+
+Version v1.4.4.5; changes since v1.4.4.4:
+-----------------------------------------
+
+Nicolas Pitre (5):
+      clean up pack index handling a bit
+      clean up and optimize nth_packed_object_sha1() usage
+      get rid of num_packed_objects()
+      pack-objects: learn about pack index version 2
+      sha1_file.c: learn about index version 2
+
+
+Version v1.4.4.4; changes since v1.4.4.3:
+-----------------------------------------
+
+Johannes Schindelin (1):
+      diff --check: fix off by one error
+
+Junio C Hamano (3):
+      spurious .sp in manpages
+      Fix infinite loop when deleting multiple packed refs.
+      pack-check.c::verify_packfile(): don't run SHA-1 update on huge data
+
+
+Version v1.4.4.3; changes since v1.4.4.2:
+-----------------------------------------
+
+Alex Riesen (1):
+      Clarify fetch error for missing objects.
+
+Brian Gernhardt (1):
+      Move Fink and Ports check to after config file
+
+Chris Wright (1):
+      no need to install manpages as executable
+
+Eric Wong (2):
+      git-svn: exit with status 1 for test failures
+      git-svn: correctly display fatal() error messages
+
+Jim Meyering (1):
+      Don't use memcpy when source and dest. buffers may overlap
+
+Junio C Hamano (1):
+      GIT 1.4.4.3
+
+Martin Langhoff (1):
+      cvsserver: Avoid miscounting bytes in Perl v5.8.x
+
+Shawn O. Pearce (2):
+      Make sure the empty tree exists when needed in merge-recursive.
+      Bypass expensive content comparsion during rename detection.
+
+
+Version v1.4.4.2; changes since v1.4.4.1:
+-----------------------------------------
+
+Alex Riesen (1):
+      git-blame: fix rev parameter handling.
+
+Andy Parkins (2):
+      Increase length of function name buffer
+      Document git-repo-config --bool/--int options.
+
+Eric Wong (4):
+      git-svn: error out from dcommit on a parent-less commit
+      git-svn: correctly handle revision 0 in SVN repositories
+      git-svn: preserve uncommitted changes after dcommit
+      git-svn: avoid fetching files twice in the same revision
+
+Johannes Schindelin (1):
+      git-mv: search more precisely for source directory in index
+
+Junio C Hamano (5):
+      git blame -C: fix output format tweaks when crossing file boundary.
+      tutorial: talk about user.name early and don't start with commit -a
+      receive-pack: do not insist on fast-forward outside refs/heads/
+      unpack-trees: make sure "df_conflict_entry.name" is NUL terminated.
+      git-reset to remove "$GIT_DIR/MERGE_MSG"
+
+René Scharfe (1):
+      archive-zip: don't use sizeof(struct ...)
+
+
+Version v1.4.4.1; changes since v1.4.4:
+---------------------------------------
+
+Alexandre Julliard (1):
+      gitweb: Put back shortlog instead of graphiclog in the project list.
+
+Chris Riddoch (1):
+      Move --pretty options into Documentation/pretty-formats.txt
+
+Jim Meyering (1):
+      Run "git repack -a -d" once more at end, if there's 1MB or more of not-packed data.
+
+Johannes Schindelin (1):
+      Seek back to current filepos when mmap()ing with NO_MMAP
+
+Junio C Hamano (7):
+      git-checkout: do not allow -f and -m at the same time.
+      git-checkout: allow pathspec to recover lost working tree directory
+      convert-objects: set _XOPEN_SOURCE to 600
+      git-fetch: follow lightweit tags as well.
+      do_for_each_ref: perform the same sanity check for leftovers.
+      trust-executable-bit: fix breakage for symlinks
+      GIT 1.4.4.1
+
+Linus Torvalds (2):
+      git-pull: allow pulling into an empty repository
+      "git fmt-merge-msg" SIGSEGV
+
+Michal Rokos (1):
+      archive: use setvbuf() instead of setlinebuf()
+
+Paolo Ciarrocchi (2):
+      Teach SubmittingPatches about git-commit -s
+      Doc: Make comment about merging in tutorial.txt more clear
+
+Petr Baudis (4):
+      Fix git-for-each-refs broken for tags
+      git-apply: Documentation typo fix
+      Documentation: Define symref and update HEAD description
+      Documentation: Correct alternates documentation, document http-alternates
+
+René Scharfe (4):
+      sparse fix: non-ANSI function declaration
+      sparse fix: Using plain integer as NULL pointer
+      git-apply: slightly clean up bitfield usage
+      Document git-runstatus
+
+
+Version v1.4.4; changes since v1.4.4-rc2:
+-----------------------------------------
+
+Johannes Sixt (2):
+      test-lib.sh: A command dying due to a signal is an unexpected failure.
+      Catch errors when writing an index that contains invalid objects.
+
+Jonas Fonseca (1):
+      git-update-index(1): fix use of quoting in section title
+
+Junio C Hamano (1):
+      GIT 1.4.4
+
+Robin Rosenberg (1):
+      Rework cvsexportcommit to handle binary files for all cases.
+
+
+Version v1.4.4-rc2; changes since v1.4.4-rc1:
+---------------------------------------------
+
+Eric Wong (3):
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+      git-svn: fix dcommit losing changes when out-of-date from svn
+
+Jakub Narębski (3):
+      gitweb: Better git-unquoting and gitweb-quoting of pathnames
+      gitweb: Use character or octal escape codes (and add span.cntrl) in esc_path
+      gitweb: New improved patchset view
+
+Junio C Hamano (14):
+      gitweb: fix disabling of "forks"
+      gitweb: minimally fix "fork" support.
+      gitweb: do not give blame link unconditionally in diff-tree view
+      git-status: quote LF in its output
+      git-pickaxe: retire pickaxe
+      gitweb: protect blob and diff output lines from controls.
+      gitweb: protect commit messages from controls.
+      gitweb: fix unmatched div in commitdiff
+      Documentation: move blame examples
+      git-annotate: no need to exec blame; it is built-in now.
+      git-annotate: fix -S on graft file with comments.
+      path-list: fix path-list-insert return value
+      git-cvsserver: read from git with -z to get non-ASCII pathnames.
+      GIT 1.4.4-rc2
+
+OGAWA Hirofumi (1):
+      gitk: Fix nextfile() and add prevfile()
+
+Petr Baudis (1):
+      Nicer error messages in case saving an object to db goes wrong
+
+Robert Shearman (1):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+
+
+Version v1.4.4-rc1; changes since v1.4.3.5:
+-------------------------------------------
+
+Alan Chandler (1):
+      Gitweb - provide site headers and footers
+
+Alexandre Julliard (5):
+      pack-refs: Store the full name of the ref even when packing only tags.
+      git.el: Added functions for moving to the next/prev unmerged file.
+      git.el: Added a function to open the current file in another window.
+      git.el: Move point after the log message header when entering log-edit mode.
+      git.el: Include MERGE_MSG in the log-edit buffer even when not committing a merge.
+
+Andy Parkins (2):
+      Make filenames line up in git-status output
+      Remove uneccessarily similar printf() from print_ref_list() in builtin-branch
+
+Andy Whitcroft (2):
+      cvsimport: move over to using git-for-each-ref to read refs.
+      git-for-each-ref: improve the documentation on scripting modes
+
+Aneesh Kumar K.V (1):
+      gitweb: Remove extra "/" in path names for git_get_project_list
+
+Christian Couder (12):
+      Add [-s|--hash] option to Linus' show-ref.
+      Use Linus' show ref in "git-branch.sh".
+      Document git-show-ref [-s|--hash] option.
+      Fix show-ref usage for --dereference.
+      Add pack-refs and show-ref test cases.
+      When creating branch c/d check that branch c does not already exists.
+      Uncomment test case: git branch c/d should barf if branch c exists.
+      Fix a remove_empty_dir_recursive problem.
+      Clean up "git-branch.sh" and add remove recursive dir test cases.
+      Use git-update-ref to delete a tag instead of rm()ing the ref file.
+      Check that a tag exists using show-ref instead of looking for the ref file.
+      Do not create tag leading directories since git update-ref does it.
+
+Dennis Stosberg (3):
+      lock_ref_sha1_basic does not remove empty directories on BSD
+      Remove bashism from t3210-pack-refs.sh
+      Bash completion support for aliases
+
+Dmitry V. Levin (1):
+      git-clone: define die() and use it.
+
+Edgar Toernig (1):
+      Use memmove instead of memcpy for overlapping areas
+
+Eric Wong (3):
+      git-send-email: do not pass custom Date: header
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+
+Jakub Narębski (14):
+      gitweb: Improve git_print_page_path
+      gitweb: Add '..' (up directory) to tree view if applicable
+      gitweb: Get rid of git_print_simplified_log
+      gitweb: Filter out commit ID from @difftree in git_commit and git_commitdiff
+      gitweb: Print commit message without title in commitdiff only if there is any
+      gitweb: Use --no-commit-id in git_commit and git_commitdiff
+      Documentation: Update information about <format> in git-for-each-ref
+      gitweb: Move git_get_last_activity subroutine earlier
+      gitweb: Add "next" link to commitdiff view
+      gitweb: Secure against commit-ish/tree-ish with the same name as path
+      gitweb: Use 's' regexp modifier to secure against filenames with LF
+      gitweb: Use git-for-each-ref to generate list of heads and/or tags
+      gitweb: Output also empty patches in "commitdiff" view
+      gitweb: Better support for non-CSS aware web browsers
+
+Jeff King (4):
+      wt-status: use simplified resolve_ref to find current branch
+      gitignore: git-pack-refs is a generated file.
+      gitignore: git-show-ref is a generated file.
+      git-pickaxe: work properly in a subdirectory.
+
+Jim Meyering (1):
+      Don't use $author_name undefined when $from contains no /\s</.
+
+Johannes Schindelin (3):
+      Fix git-update-index --again
+      show-branch: mark active branch with a '*' again
+      Turn on recursive with --summary
+
+Jonas Fonseca (1):
+      Add man page for git-show-ref
+
+Junio C Hamano (96):
+      Add git-for-each-ref: helper for language bindings
+      Fix t1400-update-ref test minimally
+      fsck-objects: adjust to resolve_ref() clean-up.
+      symbolit-ref: fix resolve_ref conversion.
+      Add callback data to for_each_ref() family.
+      Tell between packed, unpacked and symbolic refs.
+      pack-refs: do not pack symbolic refs.
+      git-pack-refs --prune
+      pack-refs: fix git_path() usage.
+      lock_ref_sha1_basic: remove unused parameter "plen".
+      Clean-up lock-ref implementation
+      update-ref: -d flag and ref creation safety.
+      update a few Porcelain-ish for ref lock safety.
+      Teach receive-pack about ref-log
+      receive-pack: call setup_ident before git_config
+      grep --all-match
+      teach revision walker about --all-match.
+      git-diff/git-apply: make diff output a bit friendlier to GNU patch (part 1)
+      ref locking: allow 'foo' when 'foo/bar' used to exist but not anymore.
+      refs: minor restructuring of cached refs data.
+      lock_ref_sha1(): do not sometimes error() and sometimes die().
+      lock_ref_sha1(): check D/F conflict with packed ref when creating.
+      delete_ref(): delete packed ref
+      git-branch: remove D/F check done by hand.
+      show-ref --hash=len, --abbrev=len, and --abbrev
+      git-fetch: adjust to packed-refs.
+      Fix refs.c;:repack_without_ref() clean-up path
+      gitweb: make leftmost column of blame less cluttered.
+      git-fetch: do not look into $GIT_DIR/refs to see if a tag exists.
+      pack-refs: use lockfile as everybody else does.
+      gitweb: prepare for repositories with packed refs.
+      Revert 954a6183756a073723a7c9fd8d2feb13132876b0
+      pack-refs: call fflush before fsync.
+      blame.c: whitespace and formatting clean-up.
+      git-blame: --show-name (and -f)
+      git-blame: --show-number (and -n)
+      blame.c: move code to output metainfo into a separate function.
+      git-send-email: do not drop custom headers the user prepared
+      ref-log: allow ref@{count} syntax.
+      git-send-email: real name with period need to be dq-quoted on From: line
+      git-blame --porcelain
+      gitweb: use blame --porcelain
+      Make git-send-email detect mbox-style patches more readily
+      core.logallrefupdates create new log file only for branch heads.
+      git-pack-refs --all
+      core.logallrefupdates thinko-fix
+      pack-objects: document --delta-base-offset option
+      blame: Document and add help text for -f, -n, and -p
+      gitweb: spell "blame --porcelain" with -p
+      git-repack: repo.usedeltabaseoffset
+      diff --numstat
+      gitweb: use for-each-ref to show the latest activity across branches
+      ref-log: fix D/F conflict coming from deleted refs.
+      git-pickaxe: blame rewritten.
+      git-pickaxe -M: blame line movements within a file.
+      git-pickaxe -C: blame cut-and-pasted lines.
+      git-pickaxe: pagenate output by default.
+      git-pickaxe: fix nth_line()
+      git-pickaxe: improve "best match" heuristics
+      git-pickaxe: introduce heuristics to avoid "trivial" chunks
+      git-pickaxe: do not keep commit buffer.
+      git-pickaxe: do not confuse two origins that are the same.
+      git-pickaxe: get rid of wasteful find_origin().
+      git-pickaxe: swap comparison loop used for -C
+      sha1_name.c: avoid compilation warnings.
+      t3200: git-branch testsuite update
+      tests: merge-recursive is usable without Python
+      merge: loosen overcautious "working file will be lost" check.
+      merge-recursive: use abbreviated commit object name.
+      merge-recursive: make a few functions static.
+      merge-recursive: adjust to loosened "working file clobbered" check
+      t6022: ignoring untracked files by merge-recursive when they do not matter
+      Documentation: fix git-format-patch mark-up and link it from git.txt
+      send-pack --keep: do not explode into loose objects on the receiving end.
+      git-pickaxe: WIP to refcount origin structure.
+      git-pickaxe: allow -Ln,m as well as -L n,m
+      git-pickaxe: refcount origin correctly in find_copy_in_parent()
+      git-pickaxe: tighten sanity checks.
+      Revert "send-pack --keep: do not explode into loose objects on the receiving end."
+      git-pickaxe: split find_origin() into find_rename() and find_origin().
+      git-pickaxe: cache one already found path per commit.
+      Introduce a new revision set operator <rev>^!
+      branch: work in subdirectories.
+      for-each-ref: "creator" and "creatordate" fields
+      git-pickaxe: rename detection optimization
+      git-pickaxe: simplify Octopus merges further
+      git-pickaxe: re-scan the blob after making progress with -M
+      git-pickaxe: re-scan the blob after making progress with -C
+      git-pickaxe: fix origin refcounting
+      cherry is built-in, do not ship git-cherry.sh
+      git-blame: add internal statistics to count read blobs.
+      git-pickaxe: optimize by avoiding repeated read_sha1_file().
+      Document git-pack-refs and link it to git(7).
+      git-pickaxe: -L /regexp/,/regexp/
+      git-pickaxe: allow "-L <something>,+N"
+      GIT 1.4.3-rc1
+
+Karl Wiberg (1):
+      ignore-errors requires cl
+
+Lars Hjemli (2):
+      Make git-branch a builtin
+      Fix show-ref usagestring
+
+Linus Torvalds (8):
+      Add "git show-ref" builtin command
+      Teach "git checkout" to use git-show-ref
+      Start handling references internally as a sorted in-memory list
+      Add support for negative refs
+      Make ref resolution saner
+      Enable the packed refs file format
+      Allow '-' in config variable names
+      git push: add verbose flag and allow overriding of default target repository
+
+Luben Tuikov (5):
+      gitweb: blame: print commit-8 on the leading row of a commit-block
+      gitweb: blame: Mouse-over commit-8 shows author and date
+      gitweb: blame porcelain: lineno and orig lineno swapped
+      git-revert with conflicts to behave as git-merge with conflicts
+      gitweb: esc_html() author in blame
+
+Martin Waitz (2):
+      gitweb: start to generate PATH_INFO URLs.
+      gitweb: warn if feature cannot be overridden.
+
+Matthew Wilcox (1):
+      Add --dry-run option to git-send-email
+
+Nicolas Pitre (24):
+      introduce delta objects with offset to base
+      teach git-unpack-objects about deltas with offset to base
+      teach git-index-pack about deltas with offset to base
+      make git-pack-objects able to create deltas with offset to base
+      make pack data reuse compatible with both delta types
+      let the GIT native protocol use offsets to delta base when possible
+      zap a debug remnant
+      allow delta data reuse even if base object is a preferred base
+      index-pack: compare only the first 20-bytes of the key.
+      add the capability for index-pack to read from a stream
+      enable index-pack streaming capability
+      make index-pack able to complete thin packs.
+      add progress status to index-pack
+      mimic unpack-objects when --stdin is used with index-pack
+      enhance clone and fetch -k experience
+      index-pack: minor fixes to comment and function name
+      missing small substitution
+      make git-push a bit more verbose
+      Allow pack header preprocessing before unpack-objects/index-pack.
+      git-fetch can use both --thin and --keep with fetch-pack now
+      improve fetch-pack's handling of kept packs
+      have index-pack create .keep file more carefully
+      remove .keep pack lock files when done with refs update
+      git-pack-objects progress flag documentation and cleanup
+
+Petr Baudis (11):
+      Fix broken sha1 locking
+      Fix buggy ref recording
+      gitweb: Document features better
+      gitweb: Fix search form when PATH_INFO is enabled
+      bisect reset: Leave the tree in usable state if git-checkout failed
+      gitweb: Restore object-named links in item lists
+      gitweb: Make search type a popup menu
+      gitweb: Do not automatically append " git" to custom site name
+      gitweb: Show project's README.html if available
+      gitweb: Support for 'forks'
+      gitweb: Fix up bogus $stylesheet declarations
+
+René Scharfe (4):
+      git-archive --format=zip: use default version ID
+      git-archive --format=zip: add symlink support
+      Built-in cherry
+      Make git-cherry handle root trees
+
+Robert Shearman (2):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+      git-rebase: Add a -v option to show a diffstat of the changes upstream at the start of a rebase.
+
+Robin Rosenberg (2):
+      Mention that pull can work locally in the synopsis
+      Swap the porcelain and plumbing commands in the git man page
+
+Ryan Anderson (1):
+      Remove git-annotate.perl and create a builtin-alias for git-blame
+
+Santi Béjar (2):
+      fetch: Misc output cleanup
+      merge and resolve: Output short hashes and .. in "Updating ..."
+
+Sasha Khapyorsky (2):
+      git-svnimport.perl: copying directory from original SVN place
+      git-svnimport: support for partial imports
+
+Sean Estabrooks (1):
+      Add --global option to git-repo-config.
+
+Sergey Vlasov (2):
+      git-send-email: Document support for local sendmail instead of SMTP server
+      git-send-email: Read the default SMTP server from the GIT config file
+
+Shawn O. Pearce (15):
+      Use column indexes in git-cvsserver where necessary.
+      Allow short pack names to git-pack-objects --unpacked=.
+      Only repack active packs by skipping over kept packs.
+      Teach git-index-pack how to keep a pack file.
+      Remove unused variable in receive-pack.
+      Move deny_non_fast_forwards handling completely into receive-pack.
+      Teach receive-pack how to keep pack files based on object count.
+      Added completion support for git-branch.exe.
+      Added bash completion support for git-reset.
+      Added missing completions for show-branch and merge-base.
+      Only load .exe suffix'd completions on Cygwin.
+      Bash completion support for remotes in .git/config.
+      Take --git-dir into consideration during bash completion.
+      Support bash completion on symmetric difference operator.
+      Remove more sed invocations from within bash completion.
+
+
+Version v1.4.3.5; changes since v1.4.3.4:
+-----------------------------------------
+
+Alex Riesen (1):
+      merge-recursive implicitely depends on trust_executable_bit
+
+Eric Wong (3):
+      git-svn: avoid printing filenames of files we're not tracking
+      git-svn: don't die on rebuild when --upgrade is specified
+      git-svn: fix dcommit losing changes when out-of-date from svn
+
+Jakub Narębski (1):
+      Documentation: Transplanting branch with git-rebase --onto
+
+Jeff King (1):
+      Fix git-runstatus for repositories containing a file named HEAD
+
+Junio C Hamano (3):
+      adjust_shared_perm: chmod() only when needed.
+      path-list: fix path-list-insert return value
+      git-cvsserver: read from git with -z to get non-ASCII pathnames.
+
+Petr Baudis (1):
+      Nicer error messages in case saving an object to db goes wrong
+
+Robert Shearman (1):
+      git-rebase: Use --ignore-if-in-upstream option when executing git-format-patch.
+
+Tero Roponen (1):
+      remove an unneeded test
+
+
+Version v1.4.3.4; changes since v1.4.3.3:
+-----------------------------------------
+
+Andy Parkins (2):
+      Minor grammar fixes for git-diff-index.txt
+      git-clone documentation didn't mention --origin as equivalent of -o
+
+Christian Couder (3):
+      Remove --syslog in git-daemon inetd documentation examples.
+      Documentation: add upload-archive service to git-daemon.
+      Documentation: add git in /etc/services.
+
+Edgar Toernig (1):
+      Use memmove instead of memcpy for overlapping areas
+
+J. Bruce Fields (1):
+      Documentation: updates to "Everyday GIT"
+
+Jakub Narębski (3):
+      diff-format.txt: Combined diff format documentation supplement
+      diff-format.txt: Correct information about pathnames quoting in patch format
+      gitweb: Check git base URLs before generating URL from it
+
+Jan Harkes (1):
+      Continue traversal when rev-list --unpacked finds a packed commit.
+
+Johannes Schindelin (1):
+      link_temp_to_file: call adjust_shared_perm() only when we created the directory
+
+Junio C Hamano (9):
+      Documentation: clarify refname disambiguation rules.
+      combine-diff: a few more finishing touches.
+      combine-diff: fix hunk_comment_line logic.
+      combine-diff: honour --no-commit-id
+      Surround "#define DEBUG 0" with "#ifndef DEBUG..#endif"
+      quote.c: ensure the same quoting across platforms.
+      revision traversal: --unpacked does not limit commit list anymore.
+      link_temp_to_file: don't leave the path truncated on adjust_shared_perm failure
+      apply: handle "traditional" creation/deletion diff correctly.
+
+Nicolas Pitre (1):
+      pack-objects doesn't create random pack names
+
+René Scharfe (1):
+      git-cherry: document limit and add diagram
+
+Shawn O. Pearce (3):
+      Use ULONG_MAX rather than implicit cast of -1.
+      Remove SIMPLE_PROGRAMS and make git-daemon a normal program.
+      Remove unsupported C99 style struct initializers in git-archive.
+
+
+Version v1.4.3.3; changes since v1.4.3.2:
+-----------------------------------------
+
+Eric Wong (1):
+      git-svn: fix symlink-to-file changes when using command-line svn 1.4.0
+
+Gerrit Pape (1):
+      Set $HOME for selftests
+
+Junio C Hamano (5):
+      Documentation: note about contrib/.
+      RPM package re-classification.
+      Refer to git-rev-parse:Specifying Revisions from git.txt
+      Update cherry documentation.
+      Documentation/SubmittingPatches: 3+1 != 6
+
+Petr Baudis (1):
+      xdiff: Match GNU diff behaviour when deciding hunk comment worthiness of lines
+
+Tuncer Ayaz (1):
+      git-fetch.sh printed protocol fix
+
+
+Version v1.4.3.2; changes since v1.4.3.1:
+-----------------------------------------
+
+Alexandre Julliard (1):
+      prune-packed: Fix uninitialized variable.
+
+J. Bruce Fields (1):
+      Make prune also run prune-packed
+
+Jakub Narębski (2):
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align (2)
+      gitweb: Do not esc_html $basedir argument to git_print_tree_entry
+
+Jim Meyering (2):
+      git-clone: honor --quiet
+      xdiff/xemit.c (xdl_find_func): Elide trailing white space in a context header.
+
+Junio C Hamano (2):
+      pager: default to LESS=FRSX not LESS=FRS
+      daemon: do not die on older clients.
+
+Karl Wiberg (1):
+      git-vc: better installation instructions
+
+Lars Hjemli (1):
+      Fix usagestring for git-branch
+
+Petr Baudis (1):
+      gitweb: Fix setting $/ in parse_commit()
+
+René Scharfe (1):
+      git-merge: show usage if run without arguments
+
+Santi Béjar (1):
+      Documentation for the [remote] config
+
+
+Version v1.4.3.1; changes since v1.4.3:
+---------------------------------------
+
+Junio C Hamano (1):
+      pager: default to LESS=FRS
+
+Lars Hjemli (1):
+      Fix typo in show-index.c
+
+Linus Torvalds (1):
+      git-apply: prepare for upcoming GNU diff -u format change.
+
+Nguyễn Thái Ngọc Duy (2):
+      Reject hexstring longer than 40-bytes in get_short_sha1()
+      Add revspec documentation for ':path', ':[0-3]:path' and git-describe
+
+Nicolas Pitre (1):
+      reduce delta head inflated size
+
+
+Version v1.4.3; changes since v1.4.3-rc3:
+-----------------------------------------
+
+Andy Whitcroft (1):
+      add proper dependancies on the xdiff source
+
+Junio C Hamano (1):
+      Revert "move pack creation to version 3"
+
+Linus Torvalds (1):
+      Fix hash function in xdiff library
+
+Markus Amsler (1):
+      git-imap-send: Strip smtp From_ header from imap message.
+
+Petr Baudis (1):
+      svnimport: Fix broken tags being generated
+
+René Scharfe (2):
+      Make write_sha1_file_prepare() void
+      Replace open-coded version of hash_sha1_file()
+
+
+Version v1.4.3-rc3; changes since v1.4.3-rc2:
+---------------------------------------------
+
+Christian Couder (1):
+      Fix tracing when GIT_TRACE is set to an empty string.
+
+Eric Wong (8):
+      git-svn: multi-init saves and reuses --tags and --branches arguments
+      git-svn: log command fixes
+      Documentation/git-svn: document some of the newer features
+      git-svn: -h(elp) message formatting fixes
+      commit: fix a segfault when displaying a commit with unreachable parents
+      git-svn: add a message encouraging use of SVN::* libraries
+      git-svn: fix commits over svn+ssh://
+      git-svn: reduce memory usage for large commits
+
+Johannes Schindelin (3):
+      diff: fix 2 whitespace issues
+      cvsserver: Show correct letters for modified, removed and added files
+      cvsserver: fix "cvs diff" in a subdirectory
+
+Junio C Hamano (6):
+      Add WEBDAV timeout to http-fetch.
+      git-fetch --update-head-ok typofix
+      git-pull: we say commit X, not X commit.
+      git.spec.in: perl subpackage is installed in perl_vendorlib not vendorarch
+      apply --numstat -z: line termination fix.
+      t4015: work-around here document problem on Cygwin.
+
+Martin Waitz (1):
+      paginate git-diff by default
+
+Nicolas Pitre (1):
+      atomic write for sideband remote messages
+
+René Scharfe (3):
+      Documentation: add missing second colons and remove a typo
+      Add hash_sha1_file()
+      Make write_sha1_file_prepare() static
+
+Yasushi SHOJI (1):
+      clone: the given repository dir should be relative to $PWD
+
+
+Version v1.4.3-rc2; changes since v1.4.3-rc1:
+---------------------------------------------
+
+Alan Chandler (2):
+      Update the gitweb/README file to include setting the GITWEB_CONFIG environment
+      Fix usage string to match that given in the man page
+
+Alexandre Julliard (2):
+      git.el: Fixed inverted "renamed from/to" message.
+      vc-git.el: Switch to using git-blame instead of git-annotate.
+
+Dennis Stosberg (2):
+      lock_ref_sha1_basic does not remove empty directories on BSD
+      Add default values for --window and --depth to the docs
+
+Franck Bui-Huu (1):
+      Add git-upload-archive to the main git man page
+
+Jakub Narębski (1):
+      gitweb: Cleanup Git logo and Git logo target generation
+
+Junio C Hamano (9):
+      Makefile: install and clean merge-recur, still.
+      git-mv: invalidate the removed path properly in cache-tree
+      git-push: .git/remotes/ file does not require SP after colon
+      escape tilde in Documentation/git-rev-parse.txt
+      tar-tree deprecation: we eat our own dog food.
+      gitweb: Make the Git logo link target to point to the homepage
+      git-send-email: avoid uninitialized variable warning.
+      cherry-pick: make -r the default
+      Fix git-revert
+
+Luben Tuikov (3):
+      gitweb: Escape ESCAPE (\e) character
+      gitweb: Do not print "log" and "shortlog" redundantly in commit view
+      gitweb: blame: Minimize vertical table row padding
+
+Martin Waitz (4):
+      gitweb: document webserver configuration for common gitweb/repo URLs.
+      git-commit: cleanup unused function.
+      git-commit: fix coding style.
+      test-lib: separate individual test better in verbose mode.
+
+Nicolas Pitre (1):
+      add commit count options to git-shortlog
+
+Petr Baudis (4):
+      Show snapshot link in shortlog only if have_snapsho
+      gitweb: Separate (new) and (deleted) in commitdiff by a space
+      gitweb: Handle commits with empty commit messages more reasonably
+      gitweb: [commit view] Do not suppress commitdiff link in root commit
+
+René Scharfe (1):
+      git-tar-tree: don't RUN_SETUP
+
+Robin Rosenberg (1):
+      Error in test description of t1200-tutorial
+
+Yasushi SHOJI (1):
+      gitweb: refactor decode() for utf8 conversion
+
+
+Version v1.4.3-rc1; changes since v1.4.2.4:
+-------------------------------------------
+
+Alex Riesen (3):
+      Use const for interpolate arguments
+      fix daemon.c compilation for NO_IPV6=1
+      do not discard constness in interp_set_entry value argument
+
+Andy Whitcroft (3):
+      send-pack: remove remote reference limit
+      send-pack: switch to using git-rev-list --stdin
+      svnimport: add support for parsing From: lines for author
+
+Aneesh Kumar K.V (4):
+      gitweb: Support for snapshot
+      gitweb: fix snapshot support
+      gitweb: Make blame and snapshot a feature.
+      gitweb: Fix git_blame
+
+Art Haas (1):
+      Patch for http-fetch.c and older curl releases
+
+Christian Couder (8):
+      Trace into open fd and refactor tracing code.
+      Trace into a file or an open fd and refactor tracing code.
+      Update GIT_TRACE documentation.
+      Fix memory leak in prepend_to_path (git.c).
+      Move add_to_string to "quote.c" and make it extern.
+      Fix a memory leak in "connect.c" and die if command too long.
+      Fix space in string " false" problem in "trace.c".
+      Remove empty ref directories that prevent creating a ref.
+
+David Rientjes (18):
+      blame.c return cleanup
+      builtin-grep.c cleanup
+      builtin-push.c cleanup
+      diff.c cleanup
+      http-push.c cleanup
+      read-cache.c cleanup
+      Make pprint_tag void and cleans up call in cmd_cat_file.
+      Make show_entry void
+      Make checkout_all void.
+      Make fsck_dir void.
+      Make pack_objects void.
+      Make track_tree_refs void.
+      Make upload_pack void and remove conditional return.
+      Make sha1flush void and remove conditional return.
+      make inline is_null_sha1 global
+      use appropriate typedefs
+      remove unnecessary initializations
+      Do not use memcmp(sha1_1, sha1_2, 20) with hardcoded length.
+
+Dennis Stosberg (10):
+      "test" in Solaris' /bin/sh does not support -e
+      Makefile fix for Solaris
+      Add possibility to pass CFLAGS and LDFLAGS specific to the perl subdir
+      Solaris has strlcpy() at least since version 8
+      Look for sockaddr_storage in sys/socket.h
+      Fix detection of ipv6 on Solaris
+      Fix compilation with Sun CC
+      gitweb: Use --git-dir parameter instead of setting $ENV{'GIT_DIR'}
+      gitweb: Remove forgotten call to git_to_hash
+      use do() instead of require() to include configuration
+
+Dmitry V. Levin (3):
+      Make count-objects, describe and merge-tree work in subdirectory
+      Documentation: Fix broken links
+      Handle invalid argc gently
+
+Eric Wong (5):
+      pass DESTDIR to the generated perl/Makefile
+      git-svn: establish new connections on commit after fork
+      git-svn: recommend rebase for syncing against an SVN repo
+      git-svn: add the 'dcommit' command
+      git-svn: stop repeatedly reusing the first commit message with dcommit
+
+Franck Bui-Huu (10):
+      Add a newline before appending "Signed-off-by: " line
+      log-tree.c: cleanup a bit append_signoff()
+      Add git-archive
+      git-archive: wire up TAR format.
+      git-archive: wire up ZIP format.
+      Add git-upload-archive
+      connect.c: finish_connect(): allow null pid parameter
+      Test return value of finish_connect()
+      upload-archive: monitor child communication even more carefully.
+      git-archive: update documentation
+
+Haavard Skinnemoen (1):
+      git-send-email: Don't set author_not_sender from Cc: lines
+
+Jakub Narębski (138):
+      gitweb: whitespace cleanup
+      gitweb: Use list for of open for running git commands, thorougly.
+      gitweb: simplify git_get_hash_by_path
+      gitweb: More explicit error messages for open "-|"
+      gitweb: Cleanup - chomp $line in consistent style
+      gitweb: Cleanup - chomp @lines in consistent style
+      gitweb: Add git_page_nav for later use
+      gitweb: Navbar refactoring - use git_page_nav to generate navigation bar
+      gitweb: Replace form-feed character by ^L
+      gitweb: Show project descriptions with utf-8 characters in project list correctly
+      gitweb: Add "\n" after <br/> in git_page_nav
+      gitweb: Pager refactoring - use git_get_paging_nav for pagination
+      gitweb: Remove $project from git_get_paging_nav arguments
+      gitweb: Headers refactoring - use git_header_div for header divs
+      gitweb: Remove characters entities entirely when shortening string
+      gitweb: Ref refactoring - use git_get_referencing for marking tagged/head commits
+      gitweb: Refactor generation of shortlog, tags and heads body
+      gitweb: do not quote path for list version of open "-|"
+      gitweb: Remove characters entities entirely when shortening string -- correction
+      gitweb: Reordering code and dividing it into categories
+      gitweb: Refactoring git_project_list
+      autoconf: Add support for setting SHELL_PATH and PERL_PATH
+      autoconf: Move site configuration section earlier in configure.ac
+      autoconf: Add support for setting PYTHON_PATH or NO_PYTHON
+      autoconf: Check for ll hh j z t size specifiers introduced by C99
+      autoconf: Typo cleanup, reordering etc.
+      Copy description of new build configuration variables to configure.ac
+      autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc
+      gitweb: Separate input validation and dispatch, add comment about opml action
+      gitweb: die_error first (optional) parameter is HTTP status
+      gitweb: Use undef for die_error to use default first (status) parameter value
+      gitweb: Don't undefine query parameter related variables before die_error
+      gitweb: Cleanup and uniquify error messages
+      gitweb: No periods for error messages
+      gitweb: No error messages with unescaped/unprotected user input
+      gitweb: PATH_INFO=/ means no project
+      gitweb: Inline $rss_link
+      gitweb: Refactor untabifying - converting tabs to spaces
+      gitweb: fix commitdiff for root commits
+      gitweb: Skip nonmatching lines in difftree output, consistently
+      autoconf: Unset NO_STH and NEED_STH when it is detected not needed
+      gitweb: Remove unused variables in git_shortlog_body and git_heads
+      autoconf: Add configure target to main Makefile
+      autoconf: Error out on --without-shell and --without-perl
+      autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
+      autoconf: Move variables which we always set to config.mak.in
+      autoconf: It is --without-python, not --no-python
+      autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
+      gitweb: Whitespace cleanup - tabs are for indent, spaces are for align
+      gitweb: Great subroutines renaming
+      gitweb: Separate ref parsing in git_get_refs_list into parse_ref
+      gitweb: Refactor printing shortened title in git_shortlog_body and git_tags_body
+      gitweb: Separate main part of git_history into git_history_body
+      gitweb: Separate finding project owner into git_get_project_owner
+      gitweb: Change appereance of marker of refs pointing to given object
+      gitweb: Skip comments in mime.types like file
+      gitweb: True fix: Support for the standard mime.types map in gitweb
+      gitweb: Separate printing difftree in git_commit into git_difftree_body
+      gitweb: Show project's git URL on summary page
+      gitweb: Add support for per project git URLs
+      gitweb: Uniquify version info output, add meta generator in page header
+      gitweb: Refactor printing commit message
+      gitweb: Added parse_difftree_raw_line function for later use
+      gitweb: Use parse_difftree_raw_line in git_difftree_body
+      gitweb: bugfix: a.list formatting regression
+      gitweb: Replace some presentational HTML by CSS
+      gitweb: Whitespace cleanup: realign, reindent
+      gitweb: Use underscore instead of hyphen to separate words in HTTP headers names
+      gitweb: Route rest of action subroutines through %actions
+      gitweb: Use here-doc
+      gitweb: Drop the href() params which keys are not in %mapping
+      gitweb: Sort CGI parameters returned by href()
+      gitweb: Use git-diff-tree patch output for commitdiff
+      gitweb: Show information about incomplete lines in commitdiff
+      gitweb: Remove invalid comment in format_diff_line
+      gitweb: Streamify patch output in git_commitdiff
+      gitweb: Add git_get_{following,preceding}_references functions
+      gitweb: Faster return from git_get_preceding_references if possible
+      gitweb: Add git_get_rev_name_tags function
+      gitweb: Use git_get_name_rev_tags for commitdiff_plain X-Git-Tag: header
+      gitweb: Add support for hash_parent_base parameter for blobdiffs
+      gitweb: Allow for pre-parsed difftree info in git_patchset_body
+      gitweb: Parse two-line from-file/to-file diff header in git_patchset_body
+      gitweb: Add invisible hyperlink to from-file/to-file diff header
+      gitweb: Always display link to blobdiff_plain in git_blobdiff
+      gitweb: Change here-doc back for style consistency in git_blobdiff
+      gitweb: Use git-diff-tree or git-diff patch output for blobdiff
+      gitweb: git_blobdiff_plain is git_blobdiff('plain')
+      gitweb: Remove git_diff_print subroutine
+      gitweb: Remove creating directory for temporary files
+      gitweb: git_annotate didn't expect negative numeric timezone
+      gitweb: Remove workaround for git-diff bug fixed in f82cd3c
+      gitweb: Improve comments about gitweb features configuration
+      gitweb: blobs defined by non-textual hash ids can be cached
+      gitweb: Fix typo in git_difftree_body
+      gitweb: Fix typo in git_patchset_body
+      gitweb: Remove unused git_get_{preceding,following}_references
+      gitweb: Remove git_to_hash function
+      gitweb: Use @diff_opts, default ('M'), as git-diff and git-diff-tree paramete
+      gitweb: Make git_print_log generic; git_print_simplified_log uses it
+      gitweb: Do not remove signoff lines in git_print_simplified_log
+      gitweb: Add author information to commitdiff view
+      gitweb: git_print_log: signoff line is non-empty line
+      gitweb: Add diff tree, with links to patches, to commitdiff view
+      gitweb: Add local time and timezone to git_print_authorship
+      gitweb: Move git-ls-tree output parsing to parse_ls_tree_line
+      gitweb: Separate printing of git_tree row into git_print_tree_entry
+      gitweb: Extend parse_difftree_raw_line to save commit info
+      gitweb: Change the name of diff to parent link in "commit" view to "diff
+      gitweb: Add GIT favicon, assuming image/png type
+      gitweb: Correct typo: '==' instead of 'eq' in git_difftree_body
+      gitweb: Divide page path into directories -- path's "breadcrumbs"
+      autoconf: Add -liconv to LIBS when NEEDS_LIBICONV
+      autoconf: Check for subprocess.py
+      autoconf: Quote AC_CACHE_CHECK arguments
+      autoconf: Fix copy'n'paste error
+      autoconf: Set NO_ICONV if iconv is found neither in libc, nor in libiconv
+      autoconf: Add support for setting NO_ICONV and ICONVDIR
+      autoconf: Add config.cache to .gitignore
+      gitweb: Make pickaxe search a feature
+      gitweb: Paginate history output
+      gitweb: Use File::Find::find in git_get_projects_list
+      gitweb: Do not parse refs by hand, use git-peek-remote instead
+      gitweb: Add git_project_index for generating index.aux
+      gitweb: Allow for href() to be used for links without project param
+      gitweb: Add link to "project_index" view to "project_list" page
+      gitweb: Fix mimetype_guess_file for files with multiple extensions
+      gitweb: Even more support for PATH_INFO based URLs
+      gitweb: Require project for almost all actions
+      gitweb: Always use git-peek-remote in git_get_references
+      gitweb: Make git_get_refs_list do work of git_get_references
+      gitweb: Fix thinko in git_tags and git_heads
+      gitweb: Make git_get_hash_by_path check type if provided
+      gitweb: Strip trailing slashes from $path in git_get_hash_by_path
+      gitweb: Use "return" instead of "return undef" for some subs
+      gitweb: Split validate_input into validate_pathname and validate_refname
+      gitweb: Add git_url subroutine, and use it to quote full URLs
+      gitweb: Quote filename in HTTP Content-Disposition: header
+
+Jeff King (9):
+      gitweb: optionally read config from GITWEB_CONFIG
+      diff: support custom callbacks for output
+      Move color option parsing out of diff.c and into color.[ch]
+      git-commit.sh: convert run_status to a C builtin
+      git-status: document colorization config options
+      contrib/vim: add syntax highlighting file for commits
+      wt-status: remove extraneous newline from 'deleted:' output
+      rev-list: fix segfault with --{author,committer,grep}
+      git-repack: allow git-repack to run in subdirectory
+
+Johannes Schindelin (35):
+      Git.xs: older perl do not know const char *
+      Status update on merge-recursive in C
+      Cumulative update of merge-recursive in C
+      merge-recur: Convert variable names to lower_case
+      merge-recur: Get rid of debug code
+      merge-recur: Remove dead code
+      merge-recur: Fix compiler warning with -pedantic
+      merge-recur: Cleanup last mixedCase variables...
+      merge-recur: Explain why sha_eq() and struct stage_data cannot go
+      merge-recur: fix thinko in unique_path()
+      read-trees: refactor the unpack_trees() part
+      read-tree: move merge functions to the library
+      merge-recur: use the unpack_trees() interface instead of exec()ing read-tree
+      merge-recur: virtual commits shall never be parsed
+      merge-recursive: fix rename handling
+      http-push: avoid fork() by calling merge_bases() directly
+      merge-recur: do not call git-write-tree
+      merge-recur: do not setenv("GIT_INDEX_FILE")
+      merge-recur: if there is no common ancestor, fake empty one
+      merge-recur: try to merge older merge bases first
+      merge-recur: do not die unnecessarily
+      discard_cache(): discard index, even if no file was mmap()ed
+      Add the --color-words option to the diff options family
+      builtin-mv: readability patch
+      unpack-objects: remove unused variable "eof"
+      Makefile: fix typo
+      Remove uneeded #include
+      fmt-merge-msg: fix off-by-one bug
+      Teach runstatus about --untracked
+      add receive.denyNonFastforwards config variable
+      receive-pack: plug memory leak in fast-forward checking code.
+      Document receive.denyNonFastforwards
+      runstatus: do not recurse into subdirectories if not needed
+      daemon: default to 256 for HOST_NAME_MAX if it is not defined
+      diff --stat: ensure at least one '-' for deletions, and one '+' for additions
+
+Jon Loeliger (3):
+      Add virtualization support to git-daemon
+      Cleaned up git-daemon virtual hosting support.
+      Removed memory leaks from interpolation table uses.
+
+Jonas Fonseca (21):
+      git-apply(1): document missing options and improve existing ones
+      git-ls-remote(1): document --upload-pack
+      git-blame(1): mention options in the synopsis and advertise pickaxe
+      gitk(1): expand the manpage to look less like a template
+      git(7): put the synopsis in a verse style paragraph
+      gitview.txt: improve asciidoc markup
+      git-svn(1): improve asciidoc markup
+      describe: fix off-by-one error in --abbrev=40 handling
+      Use PATH_MAX instead of MAXPATHLEN
+      Use xrealloc instead of realloc
+      Use fstat instead of fseek
+      Use xcalloc instead of calloc
+      Add --relative-date option to the revision interface
+      git(7): move gitk(1) to the list of porcelain commands
+      Use xmalloc instead of malloc
+      Include config.mak.autogen in the doc Makefile
+      git-rev-list(1): group options; reformat; document more options
+      git-apply(1): document --unidiff-zero
+      git-repack(1): document --window and --depth
+      Fix trivial typos and inconsistencies in hooks documentation
+      gitk(1): mention --all
+
+Junio C Hamano (125):
+      Perl interface: add build-time configuration to allow building with -fPIC
+      Perl interface: make testsuite work again.
+      perl: fix make clean
+      Git.pm: tentative fix to test the freshly built Git.pm
+      Perly Git: arrange include path settings properly.
+      Makefile: Set USE_PIC on x86-64
+      Perly git: work around buggy make implementations.
+      Git.pm: clean generated files.
+      Perly Git: make sure we do test the freshly built one.
+      INSTALL: a tip for running after building but without installing.
+      Work around sed and make interactions on the backslash at the end of line.
+      upload-pack: use object pointer not copy of sha1 to keep track of has/needs.
+      upload-pack: lift MAX_NEEDS and MAX_HAS limitation
+      recur vs recursive: help testing without touching too many stuff.
+      sha1_file.c: expose map_sha1_file() interface.
+      pack-objects: reuse deflated data from new-style loose objects.
+      unpack-objects: read configuration data upon startup.
+      Makefile: git-merge-recur depends on xdiff libraries.
+      gitweb: There can be more than two levels of subdirectories
+      gitweb: an obvious cut and paste error.
+      gitweb: fix use of uninitialized value.
+      gitweb: when showing history of a tree, show tree link not blob
+      gitweb: avoid undefined value warning in print_page_path
+      gitweb/README: do not bug Kay with gitweb questions anymore
+      Makefile: gitweb/gitweb.cgi is now generated.
+      gitweb: do not use @@FOO@@ for replaced tokens
+      .gitignore: git-merge-recur is a built file.
+      Make git-checkout-index a builtin
+      builtins: Makefile clean-up
+      git.c: Rename NEEDS_PREFIX to RUN_SETUP
+      autoconf: fix NEEDS_SSL_WITH_CRYPTO
+      autoconf: NO_IPV6
+      Racy git: avoid having to be always too careful
+      read-cache: tweak racy-git delay logic
+      autoconf: clean temporary file mak.append
+      git-grep: show pathnames relative to the current directory
+      upload-pack: minor clean-up in multi-ack logic
+      Fix type of combine-diff.c::show_patch_diff()
+      Remove combine-diff.c::uninteresting()
+      t4116 apply --reverse test
+      git-apply --reverse: simplify reverse option.
+      git-apply --binary: clean up and prepare for --reverse
+      avoid nanosleep(2)
+      Documentation/technical/racy-git.txt
+      Add check program "git-check-racy"
+      Remove the "delay writing to avoid runtime penalty of racy-git avoidance"
+      builtin-grep: remove unused debugging cruft.
+      builtin-apply --reverse: two bugfixes.
+      diff.c: make binary patch reversible.
+      apply --reverse: tie it all together.
+      git-apply --reject
+      git-apply --reject: send rejects to .rej files.
+      git-apply --verbose
+      apply --reject: count hunks starting from 1, not 0
+      Convert memset(hash,0,20) to hashclr(hash).
+      hashcpy/hashcmp remaining bits.
+      builtin-grep.c: remove unused debugging piece.
+      update-index -g
+      git-apply --reject: finishing touches.
+      free(NULL) is perfectly valid.
+      daemon: prepare for multiple services.
+      daemon: add upload-tar service.
+      multi-service daemon: documentation
+      t5710: fix two thinkos.
+      Constness tightening for move/link_temp_to_file()
+      consolidate two copies of new style object header parsing code.
+      pack-objects: re-validate data we copy from elsewhere.
+      Revert "Convert git-annotate to use Git.pm"
+      Revert "Git.pm: Introduce fast get_object() method"
+      Revert "Make it possible to set up libgit directly (instead of from the environment)"
+      pack-objects: fix thinko in revalidate code
+      more lightweight revalidation while reusing deflated stream in packing
+      unpack-objects desperately salvages objects from a corrupt pack
+      revision.c: allow injecting revision parameters after setup_revisions().
+      Teach rev-list an option to read revs from the standard input.
+      Revert "daemon: add upload-tar service."
+      Make apply --binary a no-op.
+      diff --binary generates full index on binary files.
+      Separate object listing routines out of rev-list
+      pack-objects: run rev-list equivalent internally.
+      pack-objects: further work on internal rev-list logic.
+      pack-objects --unpacked=<existing pack> option.
+      get_sha1_hex() micro-optimization
+      archive: allow remote to have more formats than we understand.
+      Move sideband client side support into reusable form.
+      Move sideband server side support into reusable form.
+      archive: force line buffered output to stderr
+      Add --verbose to git-archive
+      Teach --exec to git-archive --remote
+      Prepare larger packet buffer for upload-pack protocol.
+      Add sideband status report to git-archive protocol
+      upload-archive: monitor child communication more carefully.
+      builtin-archive.c: rename remote_request() to extract_remote_arg()
+      pack-objects: document --revs, --unpacked and --all.
+      http-fetch: fix alternates handling.
+      unpack-objects -r: call it "recover".
+      Document git-grep -[Hh]
+      Define fallback PATH_MAX on systems that do not define one in <limits.h>
+      Fix git-am safety checks
+      http-fetch.c: consolidate code to detect missing fetch target
+      Add ftp:// protocol support for git-http-fetch
+      t1400: make test debuggable.
+      apply --unidiff-zero: loosen sanity checks for --unidiff=0 patches
+      builtin-grep: make pieces of it available as library.
+      revision traversal: prepare for commit log match.
+      revision traversal: --author, --committer, and --grep.
+      repack: use only pack-objects, not rev-list.
+      Update grep internal for grepping only in head/body
+      git log: Unify header_filter and message_filter into one.
+      Make hexval() available to others.
+      sha1_name.c: understand "describe" output as a valid object name
+      diff.c: second war on whitespace.
+      git-apply: second war on whitespace.
+      Add t5510 to test per branch configuration affecting git-fetch.
+      Remove upload-tar and make git-tar-tree a thin wrapper to git-archive
+      Deprecate merge-recursive.py
+      diff --stat: allow custom diffstat output width.
+      diff --stat: color output.
+      An illustration of rev-list --parents --pretty=raw
+      grep: free expressions and patterns when done.
+      grep: fix --fixed-strings combined with expression.
+      Contributed bash completion support for core Git tools.
+      git-diff -B output fix.
+      Remove -fPIC which was only needed for Git.xs
+      GIT 1.4.3-rc1
+
+Linus Torvalds (10):
+      Relative timestamps in git log
+      git-fsck-objects: lacking default references should not be fatal
+      Fix git-fsck-objects SIGSEGV/divide-by-zero
+      Add "-h/-H" parsing to "git grep"
+      Allow multiple "git_path()" uses
+      git-log --author and --committer are not left-anchored by default
+      Clean up approxidate() in preparation for fixes
+      Fix approxidate() to understand more extended numbers
+      diff --stat=width[,name-width]: allow custom diffstat output width.
+      Fix approxidate() to understand 12:34 AM/PM are 00:34 and 12:34
+
+Liu Yubao (1):
+      Fix duplicate xmalloc in builtin-add
+
+Luben Tuikov (19):
+      gitweb: git_tree displays blame based on repository config
+      gitweb: bugfix: git_commit and git_commitdiff parents
+      gitweb: blame table row no highlight fix
+      gitweb: bugfix: commitdiff regression
+      gitweb: bugfix: git_print_page_path() needs the hash base
+      gitweb: tree view: eliminate redundant "blob"
+      gitweb: Remove redundant "tree" link
+      gitweb: extend blame to show links to diff and previous
+      Revert "gitweb: extend blame to show links to diff and previous"
+      gitweb: Remove excessively redundant entries from git_difftree_body
+      gitweb: Add history and blame to git_difftree_body()
+      gitweb: "alternate" starts with shade (i.e. 1)
+      gitweb: Remove redundant "commit" link from shortlog
+      gitweb: Factor out gitweb_have_snapshot()
+      gitweb: Add snapshot to shortlog
+      gitweb: Don't use quotemeta on internally generated strings
+      gitweb: Remove redundant "commit" from history
+      gitweb: History: blob and tree are first, then commitdiff, etc
+      gitweb: tree view: hash_base and hash are now context sensitive
+
+Martin Langhoff (1):
+      git-repack: create new packs inside $GIT_DIR, not cwd
+
+Martin Waitz (11):
+      gitweb: fill in gitweb configuration by Makefile
+      gitweb: use out-of-line GIT logo.
+      gitweb: provide function to format the URL for an action link.
+      gitweb: consolidate action URL generation.
+      gitweb: continue consolidation of URL generation.
+      gitweb: support for "fp" parameter.
+      gitweb: support for / as home_link.
+      gitweb: fix project list if PATH_INFO=="/".
+      gitweb: more support for PATH_INFO based URLs
+      gitweb: fix uninitialized variable warning.
+      gitweb: fix display of trees via PATH_INFO.
+
+Matthias Kestenholz (6):
+      Make git-name-rev a builtin
+      Make git-pack-objects a builtin
+      Make git-unpack-objects a builtin
+      Make git-symbolic-ref a builtin
+      Add gitweb.cgi to .gitignore
+      Check if pack directory exists prior to descending into it
+
+Matthias Lederhofer (12):
+      pager: environment variable GIT_PAGER to override PAGER
+      gitweb: use a hash to lookup the sub for an action
+      gitweb: require $ENV{'GITWEB_CONFIG'}
+      gitweb: check if HTTP_ACCEPT is really set
+      gitweb: fix commitdiff_plain for root commits
+      gitweb: fix $project usage
+      gitweb: do not use 'No such directory' error message
+      gitweb: export options
+      gitweb: fix warnings in PATH_INFO code and add export_ok/strict_export
+      gitweb fix validating pg (page) parameter
+      format-patch: use cwd as default output directory
+      git-format-patch: fix bug using -o in subdirectories
+
+Nicolas Pitre (2):
+      move pack creation to version 3
+      many cleanups to sha1_file.c
+
+Paul Mackerras (10):
+      gitk: Minor cleanups
+      gitk: Recompute ancestor/descendent heads/tags when rereading refs
+      gitk: Add a row context-menu item for creating a new branch
+      gitk: Add a context menu for heads
+      gitk: Fix a couple of buglets in the branch head menu items
+      gitk: Add a menu item for cherry-picking commits
+      gitk: Update preceding/following tag info when creating a tag
+      gitk: Improve responsiveness while reading and layout out the graph
+      gitk: Fix some bugs in the new cherry-picking code
+      diff-index --cc shows a 3-way diff between HEAD, index and working tree.
+
+Pavel Roskin (3):
+      Fix probing for already installed Error.pm
+      Delete manuals if compiling without docs
+      Make perl interface a separate package
+
+Petr Baudis (43):
+      Introduce Git.pm (v4)
+      Git.pm: Implement Git::exec_path()
+      Git.pm: Call external commands using execv_git_cmd()
+      Git.pm: Implement Git::version()
+      Add Error.pm to the distribution
+      Git.pm: Better error handling
+      Git.pm: Handle failed commands' output
+      Git.pm: Enhance the command_pipe() mechanism
+      Git.pm: Implement options for the command interface
+      Git.pm: Add support for subdirectories inside of working copies
+      Convert git-mv to use Git.pm
+      Git.pm: assorted build related fixes.
+      Git.pm: Try to support ActiveState output pipe
+      Git.pm: Swap hash_object() parameters
+      Git.pm: Fix Git->repository("/somewhere/totally/elsewhere")
+      Git.pm: Support for perl/ being built by a different compiler
+      Git.pm: Remove PerlIO usage from Git.xs
+      Git.pm: Avoid ppport.h
+      Git.pm: Don't #define around die
+      Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging
+      Git.pm: Add config() method
+      Convert git-send-email to use Git.pm
+      Git.pm: Introduce ident() and ident_person() methods
+      Make it possible to set up libgit directly (instead of from the environment)
+      Git.pm: Introduce fast get_object() method
+      Convert git-annotate to use Git.pm
+      Eliminate Scalar::Util usage from private-Error.pm
+      Fix showing of path in tree view
+      gitweb: Link (HEAD) tree for each project from projects list
+      gitweb: More per-view navigation bar links
+      gitweb: Link to tree instead of snapshot in shortlog
+      gitweb: Link to latest tree from the head line in heads list
+      gitweb: Link to associated tree from a particular log item in full log view
+      gitweb: Rename "plain" labels to "raw"
+      gitweb: Relabel "head" as "HEAD"
+      Make path in tree view look nicer
+      gitweb: Fix tree link associated with each commit log entry.
+      gitweb: Fix @git_base_url_list usage
+      Fix snapshot link in tree view
+      Git.pm: Kill Git.xs for now
+      Deprecate git-resolve.sh
+      gitweb: Consolidate escaping/validation of query string
+      gitweb: fix over-eager application of esc_html().
+
+Pierre Habouzit (7):
+      Fix a comparison bug in diff-delta.c
+      avoid to use error that shadows the function name, use err instead.
+      git_dir holds pointers to local strings, hence MUST be const.
+      missing 'static' keywords
+      remove ugly shadowing of loop indexes in subloops.
+      use name[len] in switch directly, instead of creating a shadowed variable.
+      n is in fact unused, and is later shadowed.
+
+Randal L. Schwartz (1):
+      builtin-upload-archive.c broken on openbsd
+
+René Scharfe (15):
+      git-verify-pack: make builtin
+      Axe the last ent
+      Add write_or_die(), a helper function
+      Add git-zip-tree
+      git-cherry: remove unused variable
+      git-reset: remove unused variable
+      Add git-zip-tree to .gitignore
+      git-archive: make compression level of ZIP archives configurable
+      Use xstrdup instead of strdup in builtin-{tar,zip}-tree.c
+      git-archive: inline default_parse_extra()
+      git-tar-tree: devolve git-tar-tree into a wrapper for git-archive
+      Remove git-zip-tree
+      Rename builtin-zip-tree.c to archive-zip.c
+      git-tar-tree: Remove duplicate git_config() call
+      git-tar-tree: Move code for git-archive --format=tar to archive-tar.c
+
+Robin Rosenberg (2):
+      Quote arguments to tr in test-lib
+      Make cvsexportcommit remove files.
+
+Santi Béjar (4):
+      Fetch: default remote repository from branch properties
+      fetch: get the remote branches to merge from the branch properties
+      Add test for the default merges in fetch.
+      fetch: Reset remote refs list each time fetch_main is called
+
+Sasha Khapyorsky (3):
+      Trivial support for cloning and fetching via ftp://.
+      git-svnimport: Parse log message for Signed-off-by: lines
+      http/ftp: optionally ask curl to not use EPSV command
+
+Sergey Vlasov (2):
+      Documentation: Fix howto/revert-branch-rebase.html generation
+      git-svn: Fix fetch --no-ignore-externals with GIT_SVN_NO_LIB=1
+
+Shawn O. Pearce (15):
+      Verify we know how to read a pack before trying to using it.
+      Remove unnecessary forward declaration of unpack_entry.
+      Convert memcpy(a,b,20) to hashcpy(a,b).
+      Convert memcpy(a,b,20) to hashcpy(a,b).
+      Reorganize/rename unpack_non_delta_entry to unpack_compressed_entry.
+      Reuse compression code in unpack_compressed_entry.
+      Cleanup unpack_entry_gently and friends to use type_name array.
+      Cleanup unpack_object_header to use only offsets.
+      Convert unpack_entry_gently and friends to use offsets.
+      Replace uses of strdup with xstrdup.
+      Allow 'svn fetch' on '(no date)' revisions in Subversion.
+      Allow '(no author)' in git-svn's authors file.
+      Ignore executable bit when adding files if filemode=0.
+      Allow git-checkout when on a non-existant branch.
+      Corrected copy-and-paste thinko in ignore executable bit test case.
+
+Tilman Sauerbeck (2):
+      Indentation fix.
+      Added support for dropping privileges to git-daemon.
+
+Timo Hirvonen (2):
+      --name-only, --name-status, --check and -s are mutually exclusive
+      Remove awkward compatibility warts
+
+Ville Skyttä (1):
+      Be nicer if git executable is not installed
+
+Yasushi SHOJI (2):
+      gitweb: configurable home link string
+      gitweb: Decode long title for link tooltips
+
+
+Version v1.4.2.4; changes since v1.4.2.3:
+-----------------------------------------
+
+Linus Torvalds (1):
+      Fix hash function in xdiff library
+
+
+Version v1.4.2.3; changes since v1.4.2.2:
+-----------------------------------------
+
+Junio C Hamano (2):
+      git-mv: invalidate the removed path properly in cache-tree
+      git-push: .git/remotes/ file does not require SP after colon
+
+
+Version v1.4.2.2; changes since v1.4.2.1:
+-----------------------------------------
+
+Junio C Hamano (2):
+      Fix git-am safety checks
+      git-diff -B output fix.
+
+Liu Yubao (1):
+      Fix duplicate xmalloc in builtin-add
+
+
+Version v1.4.2.1; changes since v1.4.2:
+---------------------------------------
+
+Dennis Stosberg (1):
+      Solaris does not support C99 format strings before version 10
+
+Johannes Schindelin (5):
+      git-mv: succeed even if source is a prefix of destination
+      git-mv: add more path normalization
+      git-mv: special case destination "."
+      git-mv: fix off-by-one error
+      builtin-mv: readability patch
+
+Junio C Hamano (2):
+      finish_connect(): thinkofix
+      http-fetch: fix alternates handling.
+
+Luben Tuikov (2):
+      Fix regex pattern in commit-msg
+      sample commit-msg hook: no silent exit on duplicate Signed-off-by lines
+
+
+Version v1.4.2; changes since v1.4.2-rc4:
+-----------------------------------------
+
+Eric Wong (3):
+      git-svn: correctly kill keyword expansion without munging EOLs
+      git-svn: bugfix: allow SVN:: lib users to track the root of the repository
+      git-svn: split the path from the url correctly with limited perms
+
+Junio C Hamano (8):
+      git-apply: applying a patch to make a symlink shorter.
+      combine-diff: use color
+      Fix git-diff A...B
+      builtin-apply: remove unused increment
+      git-sh-setup: do not use repo-config to test the git directory
+      git-am: give better diagnostics when the patch does not apply during --3way
+      Better error message when we are unable to lock the index file
+      t/t4013: fix futzing with the version string.
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Paul Mackerras (2):
+      gitk: Allow the user to set some colors
+      gitk: Show the currently checked-out head in bold font
+
+Ramsay Jones (1):
+      Fix header breakage with _XOPEN_SOURCE.
+
+René Scharfe (9):
+      Add has_extension()
+      git-verify-pack: show usage when no pack was specified
+      git-verify-pack: more careful path handling
+      git-verify-pack: insist on .idx extension
+      git-verify-pack: get rid of while loop
+      git-verify-pack: free pack after use and a cleanup
+      git-verify-pack: buffer overrun paranoia
+      git-verify-pack: no need to count errors
+      drop length argument of has_extension
+
+Rutger Nijlunsing (2):
+      http-push: Make WebDAV work with (broken?) default apache2 WebDAV module
+      Add Documentation/howto/setup-git-server-over-http.txt
+
+
+Version v1.4.2-rc4; changes since v1.4.2-rc3:
+---------------------------------------------
+
+Jeff King (1):
+      git-push: allow pushing from subdirectories
+
+Johannes Schindelin (1):
+      Fix crash when GIT_DIR is invalid
+
+Jonas Fonseca (1):
+      Update git-init-db(1) and documentation of core.sharedRepository
+
+Junio C Hamano (13):
+      Cygwin needs NO_C99_FORMAT???
+      Further clean-up: usage() vs die()
+      Makefile: Cygwin does not seem to need NO_STRLCPY
+      Fix "grep -w"
+      debugging: XMALLOC_POISON
+      builtin-mv: fix use of uninitialized memory.
+      GIT-VERSION-GEN: adjust for ancient git
+      Documentation: git-status takes the same options as git-commit
+      Fix tutorial-2.html
+      check return value from diff_setup_done()
+      find_unique_abbrev() with len=0 should not abbreviate
+      make --find-copies-harder imply -C
+      allow diff.renamelimit to be set regardless of -M/-C
+
+Michael Krelin (1):
+      handle https:// protocol in git-clone
+
+Ramsay Jones (4):
+      Fixup command names in some usage strings.
+      Replace some calls to die(usage_str) with usage(usage_str).
+      Allow config file to specify Signed-off-by identity in format-patch.
+      commit walkers: setup_ident() to record correct committer in ref-log.
+
+René Scharfe (1):
+      git-tar-tree: fix minor memory leak
+
+Ryan Anderson (2):
+      log-tree: show_log() should respect the setting of diffopt->line_termination
+      annotate: Fix bug when parsing merges with differing real and logical parents.
+
+Uwe Zeisberger (1):
+      Document rev-list's option --merge
+
+
+Version v1.4.2-rc3; changes since v1.4.2-rc2:
+---------------------------------------------
+
+Gerrit Pape (1):
+      Build on Debian GNU/kFreeBSD
+
+Jakub Narębski (11):
+      Allow INSTALL, bindir, mandir to be set in main Makefile
+      Rename man1 and man7 variables to man1dir and man7dir
+      autoconf: Use autoconf to write installation directories to config.mak.autogen
+      Teach make clean about configure and autoconf
+      Copy description of build configuration variables to configure.ac
+      autoconf: Preparing the way for autodetection
+      autoconf: Checks for typedefs, structures, and compiler characteristics.
+      autoconf: Checks for some library functions.
+      autoconf: Checks for libraries
+      autoconf: Checks for some programs
+      configure.ac vertical whitespace usage cleanup
+
+Jeff King (4):
+      git-push: allow -f as an alias for --force
+      git-push: remove obsolete git-push.sh
+      Documentation: convert uses of git-link macro to gitlink
+      git-annotate: remove extraneous debugging line
+
+Johannes Schindelin (16):
+      Allow an alias to start with "-p"
+      git wrapper: add --git-dir=<path> and --bare options
+      git-instaweb: some Apache have mod_cgi builtin
+      git-instaweb: respect bindir from Makefile
+      gitweb: fix two warnings
+      t7001: add test for git-mv dir1 dir2/
+      git-cvsserver: support multiline commit messages
+      Extract helper bits from c-merge-recursive work
+      Make git-mv a builtin
+      builtin git-mv: support moving directories
+      instaweb: Be more clear if httpd or the browser fail
+      cvsserver: imitate git-update-ref when committing
+      Makefile: ssh-pull.o depends on ssh-fetch.c
+      Teach git-apply about '-R'
+      Fix http-fetch
+      tar-tree: illustrate an obscure feature better
+
+Josef Weidendorfer (1):
+      Extend testing git-mv for renaming of subdirectories
+
+Junio C Hamano (18):
+      git-diff A...B to (usually) mean "git-diff `git-merge-base A B` B"
+      t4112: simplify the test and remove unneeded working tree file.
+      lost-found: use fsck-objects --full
+      git-reset: detect update-ref error and report it.
+      log and diff family: honor config even from subdirectories
+      git-apply -R: binary patches are irreversible for now.
+      t4103: fix binary patch application test.
+      git-checkout: allow "checkout HEAD -- path"
+      Builtins: control the use of pager from the command table.
+      fetch/clone: mark messages from remote side stand out.
+      Fix "git diff blob1 blob2" showing the diff in reverse.
+      read-tree: shadowed variable fix.
+      Add a couple of subdirectory tests.
+      diff.c: do not use pathname comparison to tell renames
+      Show both blob names from "git diff blob1 blob2"
+      sideband: do not use color, just say "remote:"
+      Documentation/git.txt: link git-svn and git-instaweb from the main page.
+      GIT 1.4.2-rc3
+
+Linus Torvalds (4):
+      Call setup_git_directory() early
+      Call setup_git_directory() much earlier
+      Fix double "close()" in ce_compare_data
+      Fix up some fallout from "setup_git_directory()" cleanups
+
+Luben Tuikov (8):
+      gitweb.cgi: Teach git_history() to read hash from $hash_base
+      gitweb.cgi: Include direct link to "raw" files from "history"
+      gitweb.cgi: git_blame2: an alternative simple working git blame
+      gitweb.cgi: git_blame2: Allow back-trekking through commits
+      gitweb.cgi: Show "raw" head of project link even when $hash is not defined
+      gitweb.cgi: git_blame2: Revision blocks now have alternating colors
+      gitweb.cgi: Centralize printing of the page path
+      gitweb.cgi: git_blame2: slight optimization reading the blame lines
+
+Matthias Kestenholz (3):
+      Make git-prune-packed a builtin
+      Make git-repo-config a builtin
+      use declarations from builtin.h for builtin commands
+
+Matthias Lederhofer (5):
+      daemon: documentation for --reuseaddr, --detach and --pid-file
+      setup_git_directory_gently: do not barf when GIT_DIR is given.
+      git.c: allow alias expansion without a git directory
+      pager: config variable pager.color
+      git-grep: document --and, --or, --not, ( and )
+
+Michael S. Tsirkin (1):
+      mailinfo: accept >From in message header
+
+Michele Ballabio (1):
+      fixed variable declaration in gitk
+
+Pavel Roskin (3):
+      Typofix in configure.ac comment.
+      Quote all calls to GIT_CONF_APPEND_LINE
+      Set datarootdir in config.mak.in
+
+Petr Baudis (5):
+      Remove -d from *-fetch usage strings
+      Make pull() take some implicit data as explicit arguments
+      Make pull() support fetching multiple targets at once
+      Teach git-local-fetch the --stdin switch
+      Teach git-http-fetch the --stdin switch
+
+Ramsay Jones (7):
+      Ensure git-clone exits with error if perl script fails.
+      Fix annotate test script; notice when git-annotate fails.
+      Fix installation of templates on ancient systems.
+      New tests and en-passant modifications to mktag.
+      Add NO_C99_FORMAT to support older compilers.
+      Fix header breakage due to redefining PATH_MAX.
+      Remove cmd_usage() routine and re-organize the help/usage code.
+
+Robert Shearman (2):
+      rebase: Fix the detection of fast-forwarding of the current branch to upstream.
+      rebase: Make the fast-fowarding message more user-friendly by using branch names instead of SHA1 IDs.
+
+Shawn O. Pearce (1):
+      Display an error from update-ref if target ref name is invalid.
+
+
+Version v1.4.2-rc2; changes since v1.4.2-rc1:
+---------------------------------------------
+
+Alex Riesen (1):
+      Trivial path optimization test
+
+Alexandre Julliard (5):
+      git.el: Run git-rerere on commits if the rr-cache directory exists.
+      git.el: Prepend a slash to the file name when adding to .gitignore.
+      git.el: Try to reuse an existing buffer when running git-status.
+      git.el: Put the git customize group in the 'tools' parent group.
+      show-branch: Fix another performance problem.
+
+Daniel Drake (1):
+      gitweb: escape tag comments
+
+Eric Wong (2):
+      typechange tests for git apply (currently failing)
+      git-svn: fix fetching new directories copies when using SVN:: libs
+
+Jeff King (2):
+      pack-objects: check pack.window for default window size
+      Colorize 'commit' lines in log ui
+
+Johannes Schindelin (4):
+      Fix t4114 on cygwin
+      Always reset the color _before_ printing out the newline
+      cvsserver: suppress warnings
+      cvsserver: avoid warning about active db handles
+
+Josh Triplett (3):
+      git-format-patch: Make the second and subsequent mails replies to the first
+      Add option to enable threading headers
+      Add option to set initial In-Reply-To/References
+
+Junio C Hamano (8):
+      fetch/clone: check return status from ls-remote
+      builtin-log: typefix for recent format-patch changes.
+      checkout -f failed to check out a file if an existing directory interfered.
+      apply: check D/F conflicts more carefully.
+      apply: split out removal and creation into different phases.
+      apply: handle type-changing patch correctly.
+      git-fetch: fix --keep vs --thin
+      unpack-objects: remove stale and confusing comment
+
+Linus Torvalds (1):
+      sha1_file: add the ability to parse objects in "pack file format"
+
+Lukas Sandström (1):
+      git-am: Don't accept an mbox on stdin of we already have a .dotest directory
+
+Martin Langhoff (1):
+      cvsexportcommit - add -a (add author line) flag, cleanup warnings
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Peter Eriksen (1):
+      Substitute xmalloc()+memset(0) with xcalloc().
+
+Santi Béjar (1):
+      Defaulting fetch to origin when set in the repo-config
+
+Shawn O. Pearce (1):
+      Disable linking with Fink or DarwinPorts.
+
+Willy Tarreau (1):
+      tar-tree: add the "tar.umask" config option
+
+
+Version v1.4.2-rc1; changes since v1.4.1.1:
+-------------------------------------------
+
+A Large Angry SCM (1):
+      Additional merge-base tests (revised)
+
+Alex Riesen (1):
+      Do not use perl in git-commit.sh
+
+Alp Toker (9):
+      Fix some doubled word typos
+      Fix some doubled word typos
+      Fix typos involving the word 'commit'
+      typofix (git-name-rev documentation)
+      git-send-email: Remove redundant Reply-To header
+      gitweb: Send XHTML as 'application/xhtml+xml' where possible
+      gitweb: Include a site name in page titles
+      gitweb: Make command invocations go through the git wrapper
+      documentation (urls.txt) typofix
+
+Dennis Stosberg (2):
+      gitweb: Declare global variables with "our"
+      gitweb: Declare global variables with "our"
+
+Eric Wong (12):
+      Add git-instaweb, instantly browse the working repo with gitweb
+      instaweb: fix unportable ';' usage in sed
+      t8001-annotate: fix a bash-ism in this test
+      git-svn: avoid fetching files outside of the URL we're tracking
+      git-svn: migrate out of contrib
+      builtin-log: respect diff configuration options
+      diff.c: respect diff.renames config option
+      templates/hooks--update: replace diffstat calls with git diff --stat
+      git-svn: fix --file/-F option in commit-diff
+      tests: Set EDITOR=: and VISUAL=: globally
+      git-fetch: fix a bashism (==)
+      git-svn: don't check for migrations/upgrades on commit-diff
+
+Jakub Narębski (3):
+      send-email: format 2822 datestring ourselves.
+      Wrap long lines in docstrings in contrib/emacs/git.el
+      Display help for Git mode after pressing `h' or `?' in *git-status*
+
+Joachim Berdal Haga (2):
+      Make zlib compression level configurable, and change default.
+      core.compression documentation formatting fix.
+
+Johannes Schindelin (7):
+      refactor merge_bases() as preparation to libify merge-base
+      move get_merge_bases() to core lib.
+      Makefile: replace ugly and unportable sed invocation
+      Make git-fmt-merge-msg a builtin
+      Makefile: export NO_SVN_TESTS
+      Close the index file between writing and committing
+      Fix linking for not-so-clever linkers.
+
+Jonas Fonseca (1):
+      Documentation/urls.txt: Use substitution to escape square brackets
+
+Junio C Hamano (49):
+      Makefile: add framework to verify and bench sha1 implementations.
+      test-sha1: test hashing large buffer
+      t4013: add tests for diff/log family output options.
+      t4013: add more tests around -c and --cc
+      Fix some more diff options changes.
+      t4013 test updates for new output code.
+      combine-diff.c: type sanity.
+      format-patch: fix diff format option implementation
+      t4013: add format-patch tests.
+      t4013: note improvements brought by the new output code.
+      gitweb: optimize per-file history generation
+      gitweb: optimize per-file history generation
+      t4013: add "diff" UI program tests.
+      builtin-diff: turn recursive on when defaulting to --patch format.
+      commit.c: do not redefine UNINTERESTING bit.
+      get_merge_bases: clean up even when there is no common commit.
+      revert clear-commit-marks for now.
+      boolean: accept yes and no as well
+      send-email: do not barf when Term::ReadLine does not like your terminal
+      t6200: fmt-merge-msg test.
+      git-grep: fix parsing of pathspec separator '--'
+      git-grep: fix exit code when we use external grep.
+      git-grep: use a bit more specific error messages.
+      Re-fix clear_commit_marks().
+      git-grep: boolean expression on pattern matching.
+      git-reset: complain and exit upon seeing an unknown parameter.
+      mailinfo: assume input is latin-1 on the header as we do for the body
+      diffcore-rename: try matching up renames without populating filespec first.
+      builtin-rev-parse.c: constness tightening
+      show-branch: match documentation and usage
+      rev-parse documentation: talk about range notation.
+      git-svn: migrate out of contrib (follow-up)
+      diff.c: --no-color to defeat diff.color configuration.
+      Update diff-options and config documentation.
+      git log -p --merge [[--] paths...]
+      colored diff: diff.color = auto fix
+      diff: do not use configuration magic at the core-level
+      "git -p cmd" to page anywhere
+      merge-base: update the clean-up postprocessing
+      fmt-merge-msg fix
+      Fix grammatical error in git-revert
+      git-repack: avoid redirecting stderr into git-pack-objects
+      test-lib: unset GIT_TRACE
+      t4013 diff format tests update
+      Adjust t4013 tests to corrected format-patch.
+      Documentation: Fix ssh://[user@]host.xz URL
+      builtin-prune.c: forgot TYPE => OBJ changes.
+      Documentation/Makefile: product depends on asciidoc.conf
+      show-branch: fix performance problem.
+
+Linus Torvalds (7):
+      xdiff: generate "anti-diffs" aka what is common to two files
+      Prepare "git-merge-tree" for future work
+      Improved three-way blob merging code
+      Improve git-peek-remote
+      builtin "git prune"
+      Make the unpacked object header functions static to sha1_file.c
+      Remove TYPE_* constant macros and use object_type enums consistently.
+
+Luben Tuikov (6):
+      gitweb: Enable tree (directory) history display
+      gitweb: Enable tree (directory) history display
+      Add "raw" output option to blobs in "tree" view format
+      gitweb.cgi: Create $git_temp if it doesn't exist
+      gitweb.cgi: Teach "a=blob" action to know the blob/file mime type
+      gitweb.css: Use monospace fonts for commits and tree-diff.
+
+Matthias Lederhofer (10):
+      GIT_TRACE: show which built-in/external commands are executed
+      change ent to tree in git-diff documentation
+      git-rev-list: add documentation for --parents, --no-merges
+      daemon: use a custom die routine with syslog
+      daemon: if one of the standard fds is missing open it to /dev/null
+      upload-pack: ignore write errors to stderr
+      daemon: new option --pid-file=<path> to store the pid
+      daemon: new option --detach to run git-daemon in background
+      Documentation about exclude/ignore files
+      argv created by handle_alias should be NULL terminated
+
+Michal Rokos (2):
+      sed -e '/RE/r rfile/' needs space in 'r rfile'
+      Using 'perl' in *.sh
+
+Pavel Roskin (4):
+      Assorted typo fixes
+      Typofix in Makefile comment.
+      Fix more typos, primarily in the code
+      Avoid C99 comments, use old-style C comments instead.
+
+Peter Baumann (1):
+      git-cvsexportcommit can't handle merge commits correctly
+
+René Scharfe (5):
+      Add get_merge_bases_clean()
+      Add '...' operator for revisions
+      Make clear_commit_marks() clean harder
+      Fold get_merge_bases_clean() into get_merge_bases()
+      rev-list: free commit_list in ... handler
+
+Robert Shearman (1):
+      format-patch: Generate a newline between the subject header and the message body
+
+Ryan Anderson (3):
+      annotate: Support annotation of files on other revisions.
+      annotate: Correct most merge following to annotate correctly.
+      Disable color detection during format-patch
+
+Santi Béjar (1):
+      Teach rev-parse the ... syntax.
+
+Sergey Vlasov (1):
+      Fix "git-fetch --tags" exit status when nothing has been changed
+
+Shawn O. Pearce (9):
+      Avoid C99 initializers
+      Allow user.name and user.email to drive reflog entry.
+      Record the type of commit operation in the reflog.
+      Log ref changes made by git-fetch and git-pull.
+      Log ref changes made by git-merge and git-pull.
+      Log ref changes made by quiltimport.
+      Log ref changes made by resolve.
+      Make lazy mkdir more robust.
+      Record rebase changes as 'rebase' in the reflog.
+
+Stephan Feder (5):
+      Do not drop data from '\0' until eol in patch output
+      Teach --text option to diff
+      Teach diff -a as shorthand for --text
+      Add -a and --text to common diff options help
+      diff-options: Explain --text and -a
+
+Timo Hirvonen (14):
+      Merge with_raw, with_stat and summary variables to output_format
+      Make --raw option available for all diff commands
+      Set default diff output format after parsing command line
+      DIFF_FORMAT_RAW is not default anymore
+      Add msg_sep to diff_options
+      Don't xcalloc() struct diffstat_t
+      whatchanged: Default to DIFF_FORMAT_RAW
+      Print empty line between raw, stat, summary and patch
+      diff-tree: Use ---\n as a message separator
+      log --raw: Don't descend into subdirectories by default
+      Fix diff-tree -s
+      GIT_TRACE: fix a mixed declarations and code warning
+      diff: Support both attributes and colors
+      diff: Support 256 colors
+
+Ville Skyttä (1):
+      Fix print-log and diff compatibility with recent vc versions
+
+Yakov Lerner (1):
+      Mention the [user@] part in documentation of ssh:// urls.
+
+anonymous (1):
+      A better-scheduled PPC SHA-1 implementation.
+
+
+Version v1.4.1.1; changes since v1.4.1:
+---------------------------------------
+
+Junio C Hamano (1):
+      Makefile: tighten git-http-{fetch,push} dependencies
+
+Linus Torvalds (1):
+      revision.c: fix "dense" under --remove-empty
+
+Matthias Lederhofer (1):
+      upload-pack: fix timeout in create_pack_file
+
+Robin Rosenberg (1):
+      Empty author may be presented by svn as an empty string or a null value.
+
+
+Version v1.4.1; changes since v1.4.1-rc2:
+-----------------------------------------
+
+Eric Wong (1):
+      git-svn: allow a local target directory to be specified for init
+
+Johannes Schindelin (4):
+      add diff_flush_patch_id() to calculate the patch id
+      format-patch: introduce "--ignore-if-in-upstream"
+      t4014: fix for whitespace from "wc -l"
+      format-patch: use clear_commit_marks() instead of some ad-hockery
+
+Junio C Hamano (6):
+      git-repack: Be careful when updating the same pack as an existing one.
+      t4014: add format-patch --ignore-if-in-upstream test
+      t4014: fix test commit labels.
+      diff.c: fix get_patch_id()
+      Racy GIT (part #3)
+      upload-pack.c: <sys/poll.h> includes <ctype.h> on OpenBSD 3.8
+
+Linus Torvalds (4):
+      Do not try futile object pairs when repacking.
+      Abstract out accesses to object hash array
+      revision.c: --full-history fix.
+      git object hash cleanups
+
+Nicolas Pitre (2):
+      consider previous pack undeltified object state only when reusing delta data
+      don't load objects needlessly when repacking
+
+Petr Baudis (1):
+      Fix errno usage in connect.c
+
+Robin Rosenberg (1):
+      Minor documentation fixup.
+
+
+Version v1.4.1-rc2; changes since v1.4.1-rc1:
+---------------------------------------------
+
+Andreas Ericsson (1):
+      git wrapper: fix command name in an error message.
+
+Dennis Stosberg (3):
+      Solaris needs inclusion of signal.h for signal()
+      Fix pkt-line.h to compile with a non-GCC compiler
+      Fix expr usage for FreeBSD
+
+Eric Wong (10):
+      rebase: allow --merge option to handle patches merged upstream
+      rebase: cleanup rebasing with --merge
+      rebase: allow --skip to work with --merge
+      git-svn: SVN 1.1.x library compatibility
+      git-svn: several graft-branches improvements
+      git-svn: add the commit-diff command
+      git-svn: add --follow-parent and --no-metadata options to fetch
+      git-svn: be verbose by default on fetch/commit, add -q/--quiet option
+      rebase: get rid of outdated MRESOLVEMSG
+      rebase: check for errors from git-commit
+
+Jeff King (2):
+      git-commit: allow -e option anywhere on command line
+      quote.c: silence compiler warnings from EMIT macro
+
+Johannes Schindelin (5):
+      patch-id: take "commit" prefix as well as "diff-tree" prefix
+      Teach diff about -b and -w flags
+      cvsimport: always set $ENV{GIT_INDEX_FILE} to $index{$branch}
+      apply: replace NO_ACCURATE_DIFF with --inaccurate-eof runtime flag.
+      Save errno in handle_alias()
+
+Junio C Hamano (12):
+      Makefile: do not recompile main programs when libraries have changed.
+      usage: minimum type fix.
+      git-pull: abort when fmt-merge-msg fails.
+      git-merge --squash
+      diff --color: use reset sequence when we mean reset.
+      repo-config: fix printing of bool
+      diff --color: use $GIT_DIR/config
+      combine-diff.c: type sanity
+      connect.c: remove unused parameters from tcp_connect and proxy_connect
+      connect.c: check the commit buffer boundary while parsing.
+      t/README: start testing porcelainish
+      checkout -m: fix read-tree invocation
+
+Linus Torvalds (1):
+      Tweak diff colors
+
+Martin Langhoff (3):
+      git-repack -- respect -q and be quiet
+      cvsimport: setup indexes correctly for ancestors and incremental imports
+      cvsimport - cleanup of the multi-indexes handling
+
+Matthias Kestenholz (1):
+      add GIT-CFLAGS to .gitignore
+
+Matthias Lederhofer (1):
+      correct documentation for git grep
+
+Peter Eriksen (1):
+      Rename safe_strncpy() to strlcpy().
+
+Petr Baudis (1):
+      Customizable error handlers
+
+Timo Hirvonen (3):
+      git-merge: Don't use -p when outputting summary
+      Clean up diff.c
+      Make some strings const
+
+Yann Dirson (1):
+      git-commit: filter out log message lines only when editor was run.
+
+
+Version v1.4.1-rc1; changes since v1.4.0:
+-----------------------------------------
+
+Andre Noll (1):
+      object-refs: avoid division by zero
+
+David Woodhouse (1):
+      Log peer address when git-daemon called from inetd
+
+Dennis Stosberg (3):
+      Make t4101-apply-nonl bring along its patches
+      Make t8001-annotate and t8002-blame more portable
+      Fix t8001-annotate and t8002-blame for ActiveState Perl
+
+Eric W. Biederman (3):
+      Don't parse any headers in the real body of an email message.
+      Fix git-format-patch -s
+      Check and document the options to prevent mistakes.
+
+Eric Wong (29):
+      git-svn: t0000: add -f flag to checkout
+      git-svn: fix handling of filenames with embedded '@'
+      git-svn: eol_cp corner-case fixes
+      git-svn: restore original LC_ALL setting (or unset) for commit
+      git-svn: don't allow commit if svn tree is not current
+      git-svn: support -C<num> passing to git-diff-tree
+      git-svn: --branch-all-refs / -B support
+      git-svn: optimize --branch and --branch-all-ref
+      git-svn: support manually placed initial trees from fetch
+      git-svn: Move all git-svn-related paths into $GIT_DIR/svn
+      git-svn: minor cleanups, extra error-checking
+      git-svn: add --repack and --repack-flags= options
+      git-svn: add --shared and --template= options to pass to init-db
+      git-svn: add some functionality to better support branches in svn
+      git-svn: add UTF-8 message test
+      git-svn: add 'log' command, a facsimile of basic `svn log'
+      git-svn: add support for Perl SVN::* libraries
+      git-svn: make the $GIT_DIR/svn/*/revs directory obsolete
+      git-svn: avoid creating some small files
+      git-svn: fix several small bugs, enable branch optimization
+      git-svn: Eliminate temp file usage in libsvn_get_file()
+      git-svn: bugfix and optimize the 'log' command
+      git-svn: tests no longer fail if LC_ALL is not a UTF-8 locale
+      git-svn: svn (command-line) 1.0.x compatibility
+      git-svn: rebuild convenience and bugfixes
+      git-svn: fix --rmdir when using SVN:: libraries
+      rebase: Allow merge strategies to be used when rebasing
+      rebase: error out for NO_PYTHON if they use recursive merge
+      git-svn: fix commit --edit flag when using SVN:: libraries
+
+Florian Forster (9):
+      gitweb: Adding a `blame' interface.
+      gitweb: Make the `blame' interface in gitweb optional.
+      Remove ranges from switch statements.
+      Initialize FAMs using `FLEX_ARRAY'.
+      Don't instantiate structures with FAMs.
+      Cast pointers to `void *' when used in a format.
+      Don't use empty structure initializers.
+      Change types used in bitfields to be `int's.
+      Remove all void-pointer arithmetic.
+
+Fredrik Kuivinen (1):
+      blame: Add --time to produce raw timestamps
+
+Jakub Narębski (15):
+      Update gitweb README: gitweb is now included with git
+      Move gitweb style to gitweb.css
+      gitweb: safely output binary files for 'blob_plain' action
+      gitweb: text files for 'blob_plain' action without charset by default
+      Fix gitweb stylesheet
+      Make CSS file gitweb/gitweb.css more readable
+      gitweb: add type="text/css" to stylesheet link
+      Fix: Support for the standard mime.types map in gitweb
+      gitweb: A couple of page title tweaking
+      gitweb: style done with stylesheet
+      gitweb: whitespace cleanup
+      Add git version to gitweb output
+      Move $gitbin earlier in gitweb.cgi
+      gitweb: Make use of $PATH_INFO for project parameter
+      gitweb: whitespace cleanup around '='
+
+Johannes Schindelin (6):
+      diff options: add --color
+      Initialize lock_file struct to all zero.
+      Fix setting config variables with an alternative GIT_CONFIG
+      Read configuration also from $HOME/.gitconfig
+      repo-config: Fix late-night bug
+      git_config: access() returns 0 on success, not > 0
+
+Junio C Hamano (31):
+      Revert all the rev-list option parsing changes.
+      Clean-up Geert's similarity fingerprint code.
+      Extract "log [diff options]" parser out.
+      whatchanged options parser fix.
+      Built-in git-whatchanged
+      Geert's similarity
+      Try using Geert similarity code in pack-objects.
+      Retire rabinpoly fingerprinting code
+      Fix mismerged update-index from jc/cache-tree branch.
+      read-tree: --prefix=<path>/ option.
+      write-tree: --prefix=<path>
+      read-tree: reorganize bind_merge code.
+      fetch-pack: give up after getting too many "ack continue"
+      Fix earlier mismerges.
+      shared repository: optionally allow reading to "others".
+      gitk: rereadrefs needs listrefs
+      fix git alias
+      t5100: mailinfo and mailsplit tests.
+      mailinfo: ignore blanks after in-body headers.
+      fix rfc2047 formatter.
+      xdiff: minor changes to match libxdiff-0.21
+      Restore SIGCHLD to SIG_DFL where we care about waitpid().
+      checkout -f: do not leave untracked working tree files.
+      upload-pack: avoid sending an incomplete pack upon failure
+      upload-pack: prepare for sideband message support.
+      Retire git-clone-pack
+      upload-pack/fetch-pack: support side-band communication
+      Add renaming-rebase test.
+      daemon: send stderr to /dev/null instead of closing.
+      rebase --merge: fix for rebasing more than 7 commits.
+      Makefile: do not force unneeded recompilation upon GIT_VERSION changes
+
+Linus Torvalds (9):
+      Tentative built-in "git show"
+      gitweb.cgi history not shown
+      Shrink "struct object" a bit
+      Move "void *util" from "struct object" into "struct commit"
+      Some more memory leak avoidance
+      Remove "refs" field from "struct object"
+      Add specialized object allocator
+      Add "named object array" concept
+      Fix grow_refs_hash()
+
+Lukas Sandström (6):
+      Make git-write-tree a builtin
+      Make git-mailsplit a builtin
+      Make git-mailinfo a builtin
+      Make git-stripspace a builtin
+      Make git-update-index a builtin
+      Make git-update-ref a builtin
+
+Martin Langhoff (3):
+      cvsimport: ignore CVSPS_NO_BRANCH and impossible branches
+      cvsimport: complete the cvsps run before starting the import
+      cvsimport: keep one index per branch during import
+
+Paul Eggert (1):
+      date.c: improve guess between timezone offset and year.
+
+Paul Mackerras (1):
+      Fix PPC SHA1 routine for large input buffers
+
+Peter Eriksen (1):
+      Implement safe_strncpy() as strlcpy() and use it more.
+
+Petr Baudis (2):
+      Support for extracting configuration from different files
+      Support for the standard mime.types map in gitweb
+
+René Scharfe (4):
+      git-tar-tree: Simplify write_trailer()
+      git-tar-tree: documentation update
+      git-tar-tree: no more void pointer arithmetic
+      Make release tarballs friendlier to older tar versions
+
+Sean Estabrooks (1):
+      Add a "--notags" option for git-p4import.
+
+Sven Verdoolaege (1):
+      git-cvsexportcommit.perl: fix typo
+
+Timo Hirvonen (1):
+      gitweb: Use $hash_base as $search_hash if possible
+
+Uwe Kleine-König (1):
+      Fix possible out-of-bounds array access
+
+Yakov Lerner (2):
+      auto-detect changed prefix and/or changed build flags
+      Pass -DDEFAULT_GIT_TEMPLATE_DIR only where actually used.
+
+
+Version v1.4.0; changes since v1.4.0-rc2:
+-----------------------------------------
+
+Horst H. von Brand (1):
+      Fix formatting of Documentation/git-clone.txt
+
+Junio C Hamano (7):
+      allow working in repositories with textual symref HEAD
+      git-clone: fix duplicated "master" in $GIT_DIR/remotes/origin
+      git-rm: honor -n flag.
+      builtin-init-db: spell the in-program configuration variable in lowercase.
+      shared repository - add a few missing calls to adjust_shared_perm().
+      git-clone: fix --bare over dumb-http
+      GIT 1.4.0
+
+Kay Sievers (143):
+      first working version
+      v000
+      v000
+      v001
+      v002
+      v003
+      v003
+      v004
+      v005
+      v006
+      v014
+      v016
+      v020
+      v021
+      v021
+      v021
+      v021
+      v025
+      v026
+      v027
+      v031
+      v035
+      v041
+      v041
+      v042
+      v043
+      v048
+      v049
+      v053
+      v055
+      v056
+      v057
+      v062
+      v063
+      v064
+      v070
+      v071
+      v073
+      v077
+      v078
+      v080
+      v082
+      v085
+      v088
+      v089
+      v107
+      v118
+      v121
+      v125
+      v133
+      v136
+      v142
+      v143
+      v145
+      v148
+      v149
+      v150
+      v152
+      v154
+      v157
+      v160
+      v163
+      v164
+      v165
+      v203
+      v205
+      v206
+      v220
+      v225
+      v227
+      v229
+      v232
+      v233
+      v234
+      v235
+      v236
+      add README
+      Make the tag view look like commit header.
+      allow sorting of index page by project path, owner and age
+      make index page sorting more visible and increase RSS item count
+      fix search parsing, later git does not print a trailing space
+      don't chop_str if adding ... is longer than the original
+      Show tooltips (like this one :)) containing full titles for truncated commit titles in the summary and shortlog views.
+      v241
+      v242
+      common input validation to allow passing of textual hash id's
+      v243
+      translate reference into hash while reading a commit
+      fix typo in link parameter of git_commit
+      v244
+      switch to git-rev-list for commit reading
+      v245
+      start searching at the current $hash value
+      v246
+      rename "branches" to "heads"
+      v247
+      provide filename for "save as" in plaintext views
+      add Expires: +1d header to commit and commitdiff pages
+      v248
+      add test files
+      update the test files to have a diff
+      escape '+' and ' ' in url's
+      make ' ' and '+' in filenames some kind of working
+      v249
+      escape ' ' with '+' in url's
+      replace invalid utf8 sequences by UTF-8 REPLACEMENT CHARACTER (efbfbd)
+      v250
+      add missing esc() rename
+      v251
+      fix another typo
+      v252
+      fix utf8 decoding
+      add ut8 test file
+      add broken latin encoding to test file
+      set logo output to raw mode
+      v253
+      allow utf8 characters in url parameter escape
+      v254
+      v255
+      fix quoted filename lookup
+      v256
+      fix "rename" output
+      v257
+      show tags in lists
+      v258
+      show multiple tags
+      v259
+      attach tag to the link
+      v260
+      more tags
+      fix leading whitespace in commit text
+      v261
+      define default colors
+      v262
+      resolve textual hashes when looking up "refs"
+      v263
+      fix: Use of uninitialized value
+      v264
+      handle utf8 characters from /etc/passwd
+      v265
+      remove Christian's email address
+      v266
+      v267
+
+Paul T Darga (1):
+      check for error return from fork()
+
+René Scharfe (1):
+      Built-in git-get-tar-commit-id
+
+Rocco Rutte (1):
+      prepend '--' to filelist when calling git-diff-tree
+
+Uwe Kleine-König (1):
+      Document git-clone --use-separate-remote
+
+Yasushi SHOJI (1):
+      Add <author> and <guid> to RSS feed
+
+
+Version v1.4.0-rc2; changes since v1.4.0-rc1:
+---------------------------------------------
+
+Francis Daly (3):
+      Some doc typo fixes
+      config.txt grammar, typo, and asciidoc fixes
+      git-cvsserver asciidoc formatting tweaks
+
+Horst H. von Brand (1):
+      Cleanup git-send-email.perl:extract_valid_email
+
+Johannes Schindelin (1):
+      If you have a config containing something like this:
+
+Jon Loeliger (1):
+      Refactor git_tcp_connect() functions a little.
+
+Jonas Fonseca (2):
+      Misc doc improvements
+      Document git-ls-tree --fullname
+
+Junio C Hamano (12):
+      git alias: try alias last.
+      send-email: be more lenient and just catch obvious mistakes.
+      send-email: a bit more careful domain regexp.
+      git-format-patch: add --output-directory long option again
+      HTTP cleanup
+      Make index file locking code reusable to others.
+      refs.c: convert it to use lockfile interface.
+      ref-log: style fixes.
+      Documentation: add missing docs make check-docs found.
+      make clean: remove dist-doc targets.
+      Documentation: git-ls-tree (typofix)
+      Documentation: add another example to git-ls-files
+
+Nick Hengeveld (2):
+      HTTP cleanup
+      http-fetch: fix possible segfault
+
+Paul Mackerras (12):
+      gitk: Make a row of controls for controlling highlighting
+      gitk: Highlight entries in the file list as well
+      gitk: Highlight paths of interest in tree view as well
+      gitk: First cut at a search function in the patch/file display window
+      gitk: Improve the text window search function
+      gitk: Move "pickaxe" find function to highlight facility
+      gitk: Fix bug in highlight stuff when no line is selected
+      gitk: Provide ability to highlight based on relationship to selected commit
+      gitk: Add a goto next/previous highlighted commit function
+      gitk: Show nearby tags
+      gitk: Show branch name(s) as well, if "show nearby tags" is enabled
+      gitk: Re-read the descendent/ancestor tag & head info on update
+
+Petr Baudis (2):
+      Document git aliases support
+      Documentation: git aliases
+
+René Scharfe (1):
+      Off-by-one error in get_path_prefix(), found by Valgrind
+
+Robert Fitzsimons (1):
+      builtin-grep: pass ignore case option to external grep
+
+
+Version v1.4.0-rc1; changes since v1.3.3:
+-----------------------------------------
+
+Alex Riesen (2):
+      make update-index --chmod work with multiple files and --stdin
+      remove superflous "const"
+
+Aneesh Kumar K.V (3):
+      gitview: Add key binding for F5.
+      gitview: Move the console error messages to message dialog
+      gitview: Add some useful keybindings.
+
+Björn Engelmann (2):
+      remove the artificial restriction tagsize < 8kb
+      add more informative error messages to git-mktag
+
+Catalin Marinas (1):
+      Add a test-case for git-apply trying to add an ending line
+
+Christian Couder (1):
+      Builtin git-rev-parse.
+
+Dennis Stosberg (3):
+      git-write-tree writes garbage on sparc64
+      git-clean fails on files beginning with a dash
+      Update documentation for git-format-patch
+
+Dmitry V. Levin (2):
+      execv_git_cmd: Fix stack buffer overflow.
+      git_exec_path, execv_git_cmd: ignore empty environment variables
+
+Elrond (1):
+      git-cvsimport: Handle "Removed" from pserver
+
+Eric W. Biederman (8):
+      Implement git-quiltimport
+      Implement a --dry-run option to git-quiltimport
+      Make read_one_header_line return a flag not a length.
+      Move B and Q decoding into check header.
+      Refactor commit messge handling.
+      In handle_body only read a line if we don't already have one.
+      More accurately detect header lines in read_one_header_line
+      Allow in body headers beyond the in body header prefix.
+
+Eric Wong (15):
+      git-svn: documentation updates
+      git-svn 1.0.0
+      send-email: address expansion for common mailers
+      Install git-send-email by default
+      send-email: allow sendmail binary to be used instead of SMTP
+      send-email: quiet some warnings, reject invalid addresses
+      commit: allow --pretty= args to be abbreviated
+      git-svn: starting a 1.1.0-pre development version
+      git-svn: ignore expansion of svn:keywords
+      t3300-funny-names: shell portability fixes
+      tests: Remove heredoc usage inside quotes
+      t5500-fetch-pack: remove local (bashism) usage.
+      t6000lib: workaround a possible dash bug
+      git-svn: t0001: workaround a heredoc bug in old versions of dash
+      git-svn: remove assertion that broke with older versions of svn
+
+Florian Forster (1):
+      git-svnimport: Improved detection of merges.
+
+Fredrik Kuivinen (2):
+      blame: Fix path pruning
+      Update the documentation for git-merge-base
+
+Horst H. von Brand (4):
+      Fix some documentation typoes
+      Documentation: Spelling fixes
+      Add example xinetd(8) configuration to Documentation/everyday.txt
+      Fix Documentation/everyday.txt: Junio's workflow
+
+J. Bruce Fields (7):
+      tutorial: replace "whatchanged" by "log"
+      tutorial: expanded discussion of commit history
+      tutorial: add discussion of index file, object database
+      documentation: mention gitk font adjustment in tutorial
+      documentation: add brief mention of cat-file to tutorial part I
+      Documentation: retitle the git-core tutorial
+      Documentation: fix a tutorial-2 typo
+
+Jeff King (7):
+      cvsimport: use git-update-index --index-info
+      cvsimport: cleanup commit function
+      cvsimport: set up commit environment in perl instead of using env
+      cat-file: document -p option
+      cvsimport: avoid "use" with :tag
+      handle concurrent pruning of packed objects
+      sha1_file: avoid re-preparing duplicate packs
+
+Jim Meyering (1):
+      Don't write directly to a make target ($@).
+
+Johannes Schindelin (25):
+      builtin-push: resurrect parsing of Push: lines
+      cache-tree: replace a sscanf() by two strtol() calls
+      builtin-push: also ask config for remote information
+      fetch, pull: ask config for remote information
+      repo-config: fix segfault with no argument.
+      repo-config: trim white-space before comment
+      repo-config: support --get-regexp
+      repo-config: deconvolute logics
+      fetch, pull: ask config for remote information
+      Add a conversion tool to migrate remote information into the config
+      builtin-push: --all and --tags _are_ explicit refspecs
+      Teach fmt-patch to write individual files.
+      fmt-patch: output file names to stdout
+      fmt-patch: implement -o <dir>
+      Teach fmt-patch about --numbered
+      Teach fmt-patch about --keep-subject
+      fmt-patch: understand old <his> notation
+      Fix users of prefix_path() to free() only when necessary
+      Fix users of prefix_path() to free() only when necessary
+      Fix crash when reading the empty tree
+      diff family: add --check option
+      fmt-patch: Support --attach
+      git-format-patch --start-number <n>
+      send-email: only 'require' instead of 'use' Net::SMTP
+      format-patch: resurrect extra headers from config
+
+Josef Weidendorfer (1):
+      gitk: Add a visual tag for remote refs
+
+Junio C Hamano (156):
+      Fix up default abbrev in setup_revisions() argument parser.
+      Fix up rev-list option parsing.
+      Split init_revisions() out of setup_revisions()
+      rev-list option parser fix.
+      Built-in git-whatchanged.
+      Do not fork PAGER=cat
+      Simplify common default options setup for built-in log family.
+      log/whatchanged/show - log formatting cleanup.
+      rev-list --header: output format fix
+      git.c: LOGSIZE is unused after log printing cleanup.
+      combine-diff: show diffstat with the first parent.
+      Fix "git log --stat": make sure to set recursive with --stat.
+      Tentative built-in format-patch.
+      sha1_name.c: prepare to make get_tree_entry() reusable from others.
+      sha1_name.c: no need to include diff.h; tree-walk.h will do.
+      get_tree_entry(): make it available from tree-walk
+      Minor tweak on subject line in --pretty=email
+      diff: move diff.c to diff-lib.c to make room.
+      Add git-unresolve <paths>...
+      diff --stat: do not drop rename information.
+      git-update-index --unresolve
+      rename internal format-patch wip
+      Makefile: dependency for builtin-help.o
+      Add colordiff for git to contrib/colordiff.
+      Fix "git show --stat"
+      Libify diff-files.
+      Libify diff-index.
+      git-fmt-patch: thinkofix to show [PATCH] properly.
+      Libified diff-index: backward compatibility fix.
+      read-cache/write-cache: optionally return cache checksum SHA1.
+      Add cache-tree.
+      Update write-tree to use cache-tree.
+      Invalidate cache-tree entries for touched paths in git-apply.
+      Use cache-tree in update-index.
+      Add test-dump-cache-tree
+      cache-tree: protect against "git prune".
+      index: make the index file format extensible.
+      Teach fsck-objects about cache-tree.
+      cache-tree: sort the subtree entries.
+      test-dump-cache-tree: report number of subtrees.
+      Makefile: remove and create libgit.a from scratch.
+      diff --stat: show complete rewrites consistently.
+      git-cvsserver: typofixes
+      t0000-basic: Add ls-tree recursive test back.
+      Makefile: remove and create xdiff library from scratch.
+      commit-tree: allow generic object name for the tree as well.
+      revision parsing: make "rev -- paths" checks stronger.
+      t0000-basic: more commit-tree tests.
+      update-index: when --unresolve, smudge the relevant cache-tree entries.
+      read-tree: teach 1 and 2 way merges about cache-tree.
+      read-tree: teach 1-way merege and plain read to prime cache-tree.
+      diff-index: fix compilation warnings.
+      cache_tree_update: give an option to update cache-tree only.
+      test-dump-cache-tree: validate the cached data as well.
+      pack-objects: update size heuristucs.
+      built-in count-objects.
+      cache-tree.c: typefix
+      built-in diff.
+      built-in diff: assorted updates.
+      builtin-diff.c: die() formatting type fix.
+      Fix builtin-push to honor Push: lines in remotes file.
+      Extended SHA1 -- "rev^@" syntax to mean "all parents"
+      get_sha1(): :path and :[0-3]:path to extract from index.
+      built-in "git grep"
+      Use RFC2822 dates from "git fmt-patch".
+      builtin-grep: wildcard pathspec fixes
+      builtin-grep: support '-l' option.
+      builtin-grep: do not use setup_revisions()
+      fsck-objects: mark objects reachable from cache-tree
+      builtin-count-objects: make it official.
+      builtin-diff: call it "git-diff", really.
+      builtin-log/whatchanged/show: make them official.
+      show-branch: omit uninteresting merges.
+      builtin-push: make it official.
+      builtin-grep: printf %.*s length is int, not ptrdiff_t.
+      Revert "fetch, pull: ask config for remote information"
+      builtin-grep: allow -<n> and -[ABC]<n> notation for context lines.
+      builtin-grep: allow more than one patterns.
+      builtin-grep: support -c (--count).
+      builtin-grep: support -w (--word-regexp).
+      builtin-grep: tighten path wildcard vs tree traversal.
+      core.prefersymlinkrefs: use symlinks for .git/HEAD
+      repo-config: readability fixups.
+      builtin-count-objects: open packs when running -v
+      Fix test-dump-cache-tree in one-tree disappeared case.
+      read-tree: invalidate cache-tree entry when a new index entry is added.
+      cache-tree: a bit more debugging support.
+      builtin-grep: terminate correctly at EOF
+      builtin-grep: binary files -a and -I
+      fsck-objects: do not segfault on missing tree in cache-tree
+      builtin-grep: -L (--files-without-match).
+      Makefile: do not link rev-list any specially.
+      delta: stricter constness
+      pack-object: squelch eye-candy on non-tty
+      binary patch.
+      binary diff: further updates.
+      update-index --unresolve: work from a subdirectory.
+      checkout-index: plug memory leak from prefix_path()
+      update-index: plug memory leak from prefix_path()
+      update-index --again
+      update-index --again: take optional pathspecs
+      binary diff and apply: testsuite.
+      Teach -f <file> option to builtin-grep.
+      builtin-grep: documentation
+      get_sha1() - fix infinite loop on nonexistent stage.
+      Teach git-clean optional <paths>... parameters.
+      builtin-grep: tighten argument parsing.
+      builtin-grep: typofix
+      builtin-grep: -w fix
+      builtin-grep: -F (--fixed-strings)
+      checkout: use --aggressive when running a 3-way merge (-m).
+      diffstat rename squashing fix.
+      read-tree -u one-way merge fix to check out locally modified paths.
+      apply --numstat: show new name, not old name.
+      builtin-grep: unparse more command line options.
+      apply --cached: apply a patch without using working tree.
+      git-am: use apply --cached
+      builtin-diff: fix comparison between two blobs.
+      merge-base: Clarify the comments on post processing.
+      read-tree -m -u: do not overwrite or remove untracked working tree files.
+      builtin-grep: workaround for non GNU grep.
+      Revert "builtin-grep: workaround for non GNU grep."
+      apply --cached: do not check newly added file in the working tree
+      builtin-add: fix unmatched pathspec warnings.
+      builtin-diff: do not say files are renamed when blob and file are given
+      Fix build procedure for builtin-init-db
+      built-in tar-tree and remote tar-tree
+      git-format-patch: now built-in.
+      checkdiff_consume: strtol parameter fix.
+      git-rebase: use canonical A..B syntax to format-patch
+      tutorial-2: typofix in examples.
+      mailinfo: skip bogus UNIX From line inside body
+      CMIT_FMT_EMAIL: Q-encode Subject: and display-name part of From: fields.
+      builtin format-patch: squelch content-type for 7-bit ASCII
+      diff: minor option combination fix.
+      fetch-pack: output refs in the order they were given on the command line.
+      Tutorial #2: broken link fix.
+      builtin-rm: squelch compiler warnings.
+      cvsimport: do not barf on creation of an empty file.
+      apply: force matching at the beginning.
+      fetch.c: remove an unused variable and dead code.
+      ls-remote: fix rsync:// to report HEAD
+      mailinfo: More carefully parse header lines in read_one_header_line()
+      gitk: start-up bugfix
+      built-in format-patch: various fixups.
+      format-patch: -n and -k are mutually exclusive.
+      Let git-clone to pass --template=dir option to git-init-db.
+      git-fetch: avoid using "case ... in (arm)"
+      adjust to the rebased series by Linus.
+      send-email: do not pass bogus address to local sendmail binary
+      format-patch --signoff
+      fetch.c: do not pass uninitialized lock to unlock_ref().
+      fetch.c: do not call process_tree() from process_tree().
+      fetch: do not report "same" unless -verbose.
+      read-tree --reset: update working tree file for conflicted paths.
+      rev-parse: tighten constness properly.
+
+Linus Torvalds (60):
+      Common option parsing for "git log --diff" and friends
+      Tentative built-in "git show"
+      Fixes for option parsing
+      Log message printout cleanups
+      Log message printout cleanups (#2)
+      Log message printout cleanups (#3): fix --pretty=oneline
+      Fix uninteresting tags in new revision parsing
+      get_sha1() shorthands for blob/tree objects
+      Allow "git repack" users to specify repacking window/depth
+      git log: don't do merge diffs by default
+      Split up builtin commands into separate files from git.c
+      Fix "git help -a" terminal autosizing
+      git builtin "push"
+      Fix "git-log --parents" breakage post v1.3.0
+      sha1_to_hex() usage cleanup
+      git diff: support "-U" and "--unified" options properly
+      Allow one-way tree merge to remove old files
+      Simplify "git reset --hard"
+      builtin-grep: use external grep when we can take advantage of it
+      read-tree --reset -u fix.
+      Fix silly typo in new builtin grep
+      Remove old "git-grep.sh" remnants
+      libify git-ls-files directory traversal
+      Clean up git-ls-file directory walking library interface
+      Do "git add" as a builtin
+      builtin-add: warn on unmatched pathspecs
+      builtin-grep: workaround for non GNU grep.
+      Remove old "git-add.sh" remnants
+      Prevent bogus paths from being added to the index.
+      Make "git rev-list" be a builtin
+      Libify the index refresh logic
+      Move pathspec matching from builtin-add.c into dir.c
+      Add builtin "git rm" command
+      cvsimport: repack every kilo-commits.
+      apply: treat EOF as proper context.
+      Clean up sha1 file writing
+      bogus "fatal: Not a git repository"
+      t1002: use -U0 instead of --unified=0
+      Fix "--abbrev=xyz" for revision listing
+      Fix memory leak in "git rev-list --objects"
+      Don't use "sscanf()" for tree mode scanning
+      Add raw tree buffer info to "struct tree"
+      Make "tree_entry" have a SHA1 instead of a union of object pointers
+      Switch "read_tree_recursive()" over to tree-walk functionality
+      Remove "tree->entries" tree-entry list from tree parser
+      Make "struct tree" contain the pointer to the tree buffer
+      Make "tree_entry" have a SHA1 instead of a union of object pointers
+      Switch "read_tree_recursive()" over to tree-walk functionality
+      builtin-read-tree.c: avoid tree_entry_list in prime_cache_tree_rec()
+      Remove "tree->entries" tree-entry list from tree parser
+      fsck-objects: avoid unnecessary tree_entry_list usage
+      Remove unused "zeropad" entry from tree_list_entry
+      Convert "mark_tree_uninteresting()" to raw tree walker
+      Convert fetch.c: process_tree() to raw tree walker
+      Remove last vestiges of generic tree_entry_list
+      tree_entry(): new tree-walking helper function
+      read-tree: fix eye-candy.
+      Fix typo in tutorial-2.txt
+      rev-list: fix process_tree() conversion.
+      pack-objects: improve path grouping heuristics.
+
+Lukas Sandström (2):
+      Make git-check-format-ref a builtin.
+      SubmittingPatches: The download location of External Editor has moved
+
+Martin Langhoff (7):
+      git-cvsexportcommit: Add -f(orce) and -m(essage prefix) flags, small cleanups.
+      cvsserver: use git-rev-list instead of git-log
+      cvsserver: use git-rev-list instead of git-log
+      cvsimport: minor fixups
+      cvsimport: replace anonymous sub ref with a normal sub
+      cvsimport: introduce -L<imit> option to workaround memory leaks
+      cvsimport: introduce _fetchfile() method and used a 1M buffer to read()
+
+Martin Waitz (6):
+      Transitively read alternatives
+      test case for transitive info/alternates
+      clone: don't clone the info/alternates file
+      git help: remove whatchanged from list of common commands
+      Documentation/Makefile: remove extra /
+      Add instructions to commit template.
+
+Martyn Smith (3):
+      Added logged warnings for CVS error returns
+      Many fixes for most operations in Eclipse.
+      Change to allow subdir updates from Eclipse
+
+Matthias Kestenholz (1):
+      add documentation for update-index --unresolve
+
+Matthias Lederhofer (1):
+      git status: skip empty directories, and add -u to show all untracked files
+
+Nick Hengeveld (3):
+      git-fetch: resolve remote symrefs for HTTP transport
+      http: prevent segfault during curl handle reuse
+      builtin-push: don't pass --thin to HTTP transport
+
+Nicolas Pitre (10):
+      split the diff-delta interface
+      use delta index data when finding best delta matches
+      replace adler32 with Rabin's polynomial in diff-delta
+      tiny optimization to diff-delta
+      improve diff-delta with sparse and/or repetitive data
+      improve base85 generated assembly code
+      fix diff-delta bad memory access
+      simple euristic for further free packing improvements
+      pack-object: slightly more efficient
+      improve depth heuristic for maximum delta size
+
+Paul Mackerras (19):
+      gitk: Implement multiple views
+      gitk: Make File->Update work properly again
+      gitk: Fix various bugs in the view support
+      gitk: Don't reread git-rev-list output from scratch on view switch
+      gitk: Remember the view in the history list
+      gitk: Let git-rev-list do the argument list parsing
+      gitk: Use git-rev-parse only to identify file/dir names on cmd line
+      gitk: Implement "permanent" views (stored in ~/.gitk)
+      gitk: add menu item for editing the current view
+      gitk: Use a text widget for the file list
+      gitk: Add a tree-browsing mode
+      gitk: Basic support for highlighting one view within another
+      gitk: Fix file list display when files are renamed
+      gitk: Allow view to specify arbitrary arguments to git-rev-list
+      gitk: Fix display of "(...)" for parents/children we haven't drawn
+      Provide a way to flush git-diff-tree's output
+      gitk: Fix bug where page-up/down wouldn't always work properly
+      gitk: show_error fix
+      Make git-diff-tree indicate when it flushes
+
+Peter Eriksen (9):
+      Add git-quiltimport to .gitignore.
+      Builtin git-ls-files.
+      Builtin git-ls-tree.
+      Builtin git-tar-tree.
+      Builtin git-read-tree.
+      Builtin git-commit-tree.
+      Builtin git-apply.
+      Builtin git-show-branch.
+      Builtin git-diff-files, git-diff-index, git-diff-stages, and git-diff-tree.
+
+Peter Hagervall (1):
+      Sparse fix for builtin-diff
+
+Petr Baudis (3):
+      git-repo-config --list support
+      Deprecate usage of git-var -l for getting config vars list
+      Call builtin ls-tree in git-cat-file -p
+
+Ryan Anderson (4):
+      git-send-email: Add References: headers to emails, in addition to In-Reply-To:
+      Add support for --bcc to git-send-email.
+      Fix a bug in email extraction used in git-send-email.
+      Add a basic test case for git send-email, and fix some real bugs discovered.
+
+Salikh Zakirov (1):
+      Fixed Cygwin CR-munging problem in mailsplit
+
+Santi Béjar (1):
+      Document that "git add" only adds non-ignored files.
+
+Sean Estabrooks (19):
+      Add --continue and --abort options to git-rebase.
+      Several trivial documentation touch ups.
+      Fix up docs where "--" isn't displayed correctly.
+      Update git-unpack-objects documentation.
+      Clarify git-cherry documentation.
+      Another config file parsing fix.
+      t1300-repo-config: two new config parsing tests.
+      Add "--branches", "--tags" and "--remotes" options to git-rev-parse.
+      Make git rebase interactive help match documentation.
+      Add "--summary" option to git diff.
+      Convert some "apply --summary" users to "diff --summary".
+      Strip useless "tags/" prefix from git-tag -l output
+      Allow pickaxe and diff-filter options to be used by git log.
+      Avoid segfault in diff --stat rename output.
+      Change GIT-VERSION-GEN to call git commands with "git" not "git-".
+      Install git builtins into gitexecdir rather than bindir.
+      Remove possible segfault in http-fetch.
+      --summary output should print immediately after stats.
+      A Perforce importer for git.
+
+Serge E. Hallyn (1):
+      socksetup: don't return on set_reuse_addr() error
+
+Sergey Vlasov (1):
+      gitk: Display commit messages with word wrap
+
+Shawn O. Pearce (24):
+      Remove unnecessary local in get_ref_sha1.
+      Improve abstraction of ref lock/write.
+      Convert update-ref to use ref_lock API.
+      Log ref updates to logs/refs/<ref>
+      Support 'master@2 hours ago' syntax
+      Fix ref log parsing so it works properly.
+      General ref log reading improvements.
+      Added logs/ directory to repository layout.
+      Force writing ref if it doesn't exist.
+      Log ref updates made by fetch.
+      Change 'master@noon' syntax to 'master@{noon}'.
+      Correct force_write bug in refs.c
+      Change order of -m option to update-ref.
+      Include ref log detail in commit, reset, etc.
+      Create/delete branch ref logs.
+      Enable ref log creation in git checkout -b.
+      Reference git-check-ref-format in git-branch.
+      Elaborate on why ':' is a bad idea in a ref name.
+      Built git-upload-tar should be ignored.
+      Verify git-commit provides a reflog message.
+      Test that git-branch -l works.
+      Remove unnecessary output from t3600-rm.
+      Improved pack format documentation.
+      Allow multiple -m options to git-commit.
+
+Tilman Sauerbeck (1):
+      Documentation/Makefile: create tarballs for the man pages and html files
+
+Timo Hirvonen (3):
+      Builtin git-init-db
+      Builtin git-cat-file
+      gitk: Replace "git-" commands with "git "
+
+Yakov Lerner (2):
+      NO_INET_NTOP and compat/inet_ntop.c for some systems (e.g. old Cygwin).
+      Problem: 'trap...exit' causes error message when /bin/sh is ash.
+
+Yann Dirson (3):
+      Do not call 'cmp' with non-existant -q flag.
+      Document current cvsexportcommit limitations.
+      Make cvsexportcommit create parent directories as needed.
+
+
+Version v1.3.3; changes since v1.3.2:
+-------------------------------------
+
+Ben Clifford (1):
+      include header to define uint32_t, necessary on Mac OS X
+
+Dennis Stosberg (2):
+      Fix git-pack-objects for 64-bit platforms
+      Fix compilation on newer NetBSD systems
+
+Dmitry V. Levin (1):
+      Separate object name errors from usage errors
+
+Eric Wong (2):
+      apply: fix infinite loop with multiple patches with --index
+      Install git-send-email by default
+
+Johannes Schindelin (1):
+      repo-config: trim white-space before comment
+
+Junio C Hamano (6):
+      core.prefersymlinkrefs: use symlinks for .git/HEAD
+      repo-config: document what value_regexp does a bit more clearly.
+      Fix repo-config set-multivar error return path.
+      Documentation: {caret} fixes (git-rev-list.txt)
+      checkout: use --aggressive when running a 3-way merge (-m).
+      Fix pack-index issue on 64-bit platforms a bit more portably.
+
+Linus Torvalds (3):
+      Fix "git diff --stat" with long filenames
+      revert/cherry-pick: use aggressive merge.
+      git config syntax updates
+
+Martin Waitz (2):
+      clone: keep --reference even with -l -s
+      repack: honor -d even when no new pack was created
+
+Matthias Lederhofer (1):
+      core-tutorial.txt: escape asterisk
+
+Pavel Roskin (1):
+      Release config lock if the regex is invalid
+
+Sean Estabrooks (3):
+      Fix for config file section parsing.
+      Another config file parsing fix.
+      Ensure author & committer before asking for commit message.
+
+Yakov Lerner (1):
+      read-cache.c: use xcalloc() not calloc()
+
+
+Version v1.3.2; changes since v1.3.1:
+-------------------------------------
+
+Huw Davies (1):
+      git-format-patch: Use rfc2822 compliant date.
+
+Jon Loeliger (3):
+      Alphabetize the glossary.
+      Added definitions for a few words:
+      Add a few more words to the glossary.
+
+Junio C Hamano (4):
+      rebase: typofix.
+      commit-tree.c: check_valid() microoptimization.
+      verify-pack: check integrity in a saner order.
+      git-am --resolved: more usable error message.
+
+Linus Torvalds (1):
+      Fix filename verification when in a subdirectory
+
+Martin Langhoff (1):
+      git-send-email: fix version string to be valid perl
+
+Matthias Kestenholz (3):
+      annotate: fix warning about uninitialized scalar
+      annotate: display usage information if no filename was given
+      fix various typos in documentation
+
+Robert Shearman (1):
+      Give the user a hint for how to continue in the case that git-am fails because it requires user intervention
+
+Sean Estabrooks (4):
+      Update the git-branch man page to include the "-r" option,
+      Fix up remaining man pages that use asciidoc "callouts".
+      Properly render asciidoc "callouts" in git man pages.
+      Fix trivial typo in git-log man page.
+
+
+Version v1.3.1; changes since v1.3.0:
+-------------------------------------
+
+Jonas Fonseca (1):
+      Fix filename scaling for binary files
+
+Junio C Hamano (5):
+      git-merge: a bit more readable user guidance.
+      pre-commit hook: complain about conflict markers.
+      git-commit --amend: two fixes.
+      pack-objects: do not stop at object that is "too small"
+      mailinfo: decode underscore used in "Q" encoding properly.
+
+Linus Torvalds (1):
+      git-log produces no output
+
+Nicolas Pitre (1):
+      fix pack-object buffer size
+
+Paul Mackerras (1):
+      rev-parse: better error message for ambiguous arguments
+
+Petr Baudis (2):
+      Document git-var -l listing also configuration variables
+      Document the configuration file
+
+Santi Béjar (1):
+      Reintroduce svn pools to solve the memory leak.
+
+Serge E. Hallyn (1):
+      socksetup: don't return on set_reuse_addr() error
+
+Shawn O. Pearce (1):
+      Document git-clone --reference
+
+
+Version v1.3.0; changes since v1.3.0-rc4:
+-----------------------------------------
+
+A Large Angry SCM (1):
+      Makefile fixups.
+
+Herbert Valerio Riedel (1):
+      git-svnimport symlink support
+
+Johannes Schindelin (2):
+      diff-options: add --patch-with-stat
+      pager: do not fork a pager if PAGER is set to empty.
+
+Jonas Fonseca (1):
+      Add git-annotate(1) and git-blame(1)
+
+Junio C Hamano (9):
+      rev-list --bisect: limit list before bisecting.
+      diff-tree: typefix.
+      diff --stat: do not do its own three-dashes.
+      diff-files --stat: do not dump core with unmerged index.
+      reading $GIT_DIR/info/graft - skip comments correctly.
+      rev-list --boundary: show boundary commits even when limited otherwise.
+      packed_object_info_detail(): check for corrupt packfile.
+      diff --stat: make sure to set recursive.
+      GIT 1.3.0
+
+Linus Torvalds (1):
+      Support "git cmd --help" syntax
+
+Paul Mackerras (1):
+      gitk: Fix bug caused by missing commitlisted elements
+
+Serge E. Hallyn (5):
+      cleanups: Fix potential bugs in connect.c
+      cleanups: Remove unused vars from combine-diff.c
+      cleanups: Remove impossible case in quote.c
+      cleanups: prevent leak of two strduped strings in config.c
+      cleanups: remove unused variable from exec_cmd.c
+
+Yann Dirson (1):
+      Allow empty lines in info/grafts
+
+
+Version v1.3.0-rc4; changes since v1.3.0-rc3:
+---------------------------------------------
+
+Davide Libenzi (1):
+      xdiff: post-process hunks to make them consistent.
+
+Dennis Stosberg (2):
+      Solaris 9 also wants our own unsetenv/setenv.
+      Replace index() with strchr().
+
+Eric W. Biederman (1):
+      Implement limited context matching in git-apply.
+
+Johannes Schindelin (2):
+      diff-options: add --stat (take 2)
+      diff-options: add --stat (take 2)
+
+Junio C Hamano (31):
+      git-log: match rev-list --abbrev and --abbrev-commit
+      diff: fix output of total-rewrite diff.
+      diffcore-rename: fix merging back a broken pair.
+      log-tree: separate major part of diff-tree.
+      git log [diff-tree options]...
+      Retire diffcore-pathspec.
+      tree-diff: do not assume we use only one pathspec
+      git log --full-diff
+      Retire git-log.sh
+      blame and friends: adjust to multiple pathspec change.
+      Retire git-log.sh (take#2)
+      diff-* --patch-with-raw
+      Retire git-log.sh (take #3)
+      combine-diff: do not lose hunks with only deletion at end.
+      combine-diff: fix hunks at the end (take #2).
+      Retire t5501-old-fetch-and-upload test.
+      git-commit: do not muck with commit message when no_edit is set.
+      stripspace: make sure not to leave an incomplete line.
+      combine-diff: type fix.
+      Documentation: add a couple of missing docs.
+      Makefile: $(MAKE) check-docs
+      git-log: do not output excess blank line between commits
+      t3600-rm: skip failed-remove test when we cannot make an unremovable file.
+      Fix-up previous expr changes.
+      diff --stat: no need to ask funcnames nor context.
+      t5500: test fix
+      stripspace: incomplete line fix (take #2)
+      Retire git-log.sh (take #4)
+      git-log <diff-options> <paths> documentation
+      "git cmd -h" for shell scripts.
+      GIT v1.3.0-rc4
+
+Linus Torvalds (4):
+      Make "--parents" logs also be incremental
+      When showing a commit message, do not lose an incomplete line.
+      Use less memory in "git log"
+      Clean up trailing whitespace when pretty-printing commits
+
+Marco Roeland (1):
+      xdiff/xdiffi.c: fix warnings about possibly uninitialized variables
+
+Mark Wooding (1):
+      Shell utilities: Guard against expr' magic tokens.
+
+Petr Baudis (3):
+      Improve the git-diff-tree -c/-cc documentation
+      Document --patch-with-raw
+      Separate the raw diff and patch with a newline
+
+
+Version v1.3.0-rc3; changes since v1.3.0-rc2:
+---------------------------------------------
+
+Francis Daly (1):
+      Tweaks to make asciidoc play nice.
+
+Johannes Schindelin (3):
+      cvsimport: use git-update-ref when updating
+      On some platforms, certain headers need to be included before regex.h
+      Fix compile with expat, but an old curl version
+
+Jon Loeliger (1):
+      Added Packing Heursitics IRC writeup.
+
+Junio C Hamano (16):
+      git-clone: fix handling of upsteram whose HEAD does not point at master.
+      combine-diff: use built-in xdiff.
+      parse_date(): fix parsing 03/10/2006
+      combine-diff: refactor built-in xdiff interface.
+      diff_flush(): leakfix.
+      combine-diff: move the code to parse hunk-header into common library.
+      blame: use built-in xdiff
+      date parsing: be friendlier to our European friends.
+      blame.c: fix completely broken ancestry traversal.
+      Match ofs/cnt types in diff interface.
+      blame -S <ancestry-file>
+      Add Documentation/technical/pack-format.txt
+      Thin pack generation: optimization.
+      rev-list --abbrev-commit
+      count-delta: match get_delta_hdr_size() changes.
+      GIT 1.3.0-rc3
+
+Karl Wiberg (1):
+      git-svnimport: Don't assume that copied files haven't changed
+
+Keith Packard (1):
+      Provide configurable UI font for gitk
+
+Marco Roeland (1):
+      git-commit: document --amend
+
+Mark Wooding (1):
+      gitk: Use git wrapper to run git-ls-remote.
+
+Mike McCormack (3):
+      Avoid a divide by zero if there's no messages to send.
+      Avoid a crash if realloc returns a different pointer.
+      Add documentation for git-imap-send.
+
+Nick Hengeveld (1):
+      http-fetch: add optional DAV-based pack list
+
+Nicolas Pitre (1):
+      check patch_delta bounds more carefully
+
+Paul Mackerras (3):
+      gitk: replace parent and children arrays with lists
+      gitk: Add a help menu item to display key bindings
+      gitk: Fix incorrect invocation of getmergediffline
+
+Pavel Roskin (2):
+      Add git-clean command
+      gitk: Fix searching for filenames in gitk
+
+Petr Baudis (1):
+      Support for pickaxe matching regular expressions
+
+Rutger Nijlunsing (1):
+      gitk: add key bindings for selecting first and last commit
+
+Stephen Rothwell (1):
+      gitk: allow goto heads
+
+
+Version v1.3.0-rc2; changes since v1.3.0-rc1:
+---------------------------------------------
+
+Davide Libenzi (1):
+      Clean-up trivially redundant diff.
+
+Eric Wong (6):
+      contrib/git-svn: force GIT_DIR to an absolute path
+      contrib/git-svn: accept configuration via repo-config
+      contrib/git-svn: documentation updates
+      contrib/git-svn: ensure repo-config returns a value before using it
+      contrib/git-svn: make sure our git-svn is up-to-date for test
+      contrib/git-svn: handle array values correctly
+
+J. Bruce Fields (1):
+      Documentation: revise top of git man page
+
+Jason Riedy (2):
+      Add ALL_LDFLAGS to the git target.
+      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
+
+Jim Radford (1):
+      fix repacking with lots of tags
+
+Junio C Hamano (14):
+      rev-list --no-merges: argument parsing fix.
+      rev-list: memory usage reduction.
+      rev-list --boundary
+      revision arguments: ..B means HEAD..B, just like A.. means A..HEAD
+      revision.c "..B" syntax: constness fix
+      assume unchanged git: diff-index fix.
+      tree/diff header cleanup.
+      rev-list --boundary: fix re-injecting boundary commits.
+      Makefile: many programs now depend on xdiff/lib.a having been built.
+      revision: --topo-order and --unpacked
+      revision: simplify argument parsing.
+      revision: --max-age alone does not need limit_list() anymore.
+      safe_fgets() - even more anal fgets()
+      GIT 1.3.0-rc2
+
+Linus Torvalds (5):
+      Move "--parent" parsing into generic revision.c library code
+      Make path-limiting be incremental when possible.
+      revision: Fix --topo-order and --max-age with reachability limiting.
+      Fix Solaris stdio signal handling stupidities
+      pack-objects: be incredibly anal about stdio semantics
+
+Mark Wooding (1):
+      xdiff: Show function names in hunk headers.
+
+Nick Hengeveld (2):
+      git-ls-remote: send no-cache header when fetching info/refs
+      Set HTTP user agent to git/GIT_VERSION
+
+Paul Mackerras (5):
+      gitk: Use the new --boundary flag to git-rev-list
+      gitk: Show diffs for boundary commits
+      gitk: Prevent parent link from overwriting commit headline
+      gitk: Allow top panes to scroll horizontally with mouse button 2
+      gitk: Better workaround for arrows on diagonal line segments
+
+Peter Eriksen (2):
+      Use blob_, commit_, tag_, and tree_type throughout.
+      Replace xmalloc+memset(0) with xcalloc.
+
+René Scharfe (3):
+      Remove useless pointer update
+      Fix sparse warnings about usage of 0 instead of NULL
+      Fix sparse warnings about non-ANSI function prototypes
+
+Yasushi SHOJI (2):
+      Make git-clone to take long double-dashed origin option (--origin)
+      git-clone: exit early if repo isn't specified
+
+
+Version v1.3.0-rc1; changes since v1.2.6:
+-----------------------------------------
+
+Alex Riesen (2):
+      PATCH: simplify calls to git programs in git-fmt-merge-msg
+      workaround fat/ntfs deficiencies for t3600-rm.sh (git-rm)
+
+Alexandre Julliard (12):
+      Add an Emacs interface in contrib.
+      git-format-patch: Always add a blank line between headers and body.
+      contrib/emacs: Add an Emacs VC backend.
+      git.el: Portability fixes for XEmacs and Emacs CVS.
+      git.el: Set default directory before running the status mode setup hooks.
+      git.el: Automatically update .gitignore status.
+      git.el: Added support for Signed-off-by.
+      git.el: Added customize support for all parameters.
+      ls-files: Don't require exclude files to end with a newline.
+      git.el: More robust handling of subprocess errors when returning strings.
+      git.el: Get the default user name and email from the repository config.
+      git.el: Added a function to diff against the other heads in a merge.
+
+Anand Kumria (1):
+      git-svnimport: if a limit is specified, respect it
+
+Aneesh Kumar K.V (16):
+      Add contrib/gitview from Aneesh.
+      Add a README for gitview
+      gitview: typofix
+      gitview: Read tag and branch information using git ls-remote
+      gitview: Use monospace font to draw the branch and tag name
+      gitview: Display the lines joining commit nodes clearly.
+      gitview: Fix DeprecationWarning
+      gitview: Bump the rev
+      gitview: Code cleanup
+      gitview: Fix the graph display .
+      gitview: Fix the encoding related bug
+      gitview: Remove trailing white space
+      gitview: Some window layout changes.
+      gitview: Set the default width of graph cell
+      gitview: Use horizontal scroll bar in the tree view
+      gitview: pass the missing argument _show_clicked_cb.
+
+Carl Worth (5):
+      git-rebase: Clarify usage statement and copy it into the actual documentation.
+      New test to verify that when git-clone fails it cleans up the new directory.
+      git-ls-files: Fix, document, and add test for --error-unmatch option.
+      Add new git-rm command with documentation
+      git-rm: Fix to properly handle files with spaces, tabs, newlines, etc.
+
+Dmitry V. Levin (1):
+      git/Documentation: fix SYNOPSIS style bugs
+
+Eric Wong (43):
+      Introducing contrib/git-svn.
+      git-svn: fix revision order when XML::Simple is not loaded
+      git-svn: ensure fetch always works chronologically.
+      git-svn: remove files from the index before adding/updating
+      git-svn: fix a typo in defining the --no-stop-on-copy option
+      git-svn: allow --find-copies-harder and -l<num> to be passed on commit
+      git-svn: Allow for more argument types for commit (from..to)
+      git-svn: remove any need for the XML::Simple dependency
+      git-svn: change ; to && in addremove()
+      contrib/git-svn.txt: add a note about renamed/copied directory support
+      git-svn: fix several corner-case and rare bugs with 'commit'
+      contrib/git-svn: add Makefile, test, and associated ignores
+      git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information
+      contrib/git-svn: add show-ignore command
+      contrib/git-svn: optimize sequential commits to svn
+      contrib/git-svn: version 0.10.0
+      contrib/git-svn: tell the user to not modify git-svn-HEAD directly
+      contrib/git-svn: correct commit example in manpage
+      contrib/git-svn: use refs/remotes/git-svn instead of git-svn-HEAD
+      git-branch: add -r switch to list refs/remotes/*
+      contrib/git-svn: add -b/--branch switch for branch detection
+      contrib/git-svn: several small bug fixes and changes
+      contrib/git-svn: strip 'git-svn-id:' when commiting to SVN
+      contrib/git-svn: allow --authors-file to be specified
+      contrib/git-svn: cleanup option parsing
+      contrib/git-svn: create a more recent master if one does not exist
+      contrib/git-svn: avoid re-reading the repository uuid, it never changes
+      contrib/git-svn: add --id/-i=$GIT_SVN_ID command-line switch
+      contrib/git-svn: better documenting of CLI switches
+      send-email: accept --no-signed-off-by-cc as the documentation states
+      contrib/git-svn: fix a copied-tree bug in an overzealous assertion
+      contrib/git-svn: fix svn compat and fetch args
+      contrib/git-svn: remove the --no-stop-on-copy flag
+      contrib/git-svn: fix a harmless warning on rebuild (with old repos)
+      fetch,parse-remote,fmt-merge-msg: refs/remotes/* support
+      ls-tree: add --abbrev[=<n>] option
+      ls-files: add --abbrev[=<n>] option
+      contrib/git-svn: allow rebuild to work on non-linear remote heads
+      send-email: use built-in time() instead of /bin/date '+%s'
+      send-email: Change from Mail::Sendmail to Net::SMTP
+      send-email: try to order messages in email clients more correctly
+      send-email: lazy-load Email::Valid and make it optional
+      contrib/git-svn: stabilize memory usage for big fetches
+
+Fernando J. Pereda (1):
+      Allow building Git in systems without iconv
+
+Francis Daly (4):
+      AsciiDoc fix for tutorial
+      Tweak asciidoc output to work with broken docbook-xsl
+      Fix multi-paragraph list items in OPTIONS section
+      Format tweaks for asciidoc.
+
+Fredrik Kuivinen (13):
+      Add git-blame, a tool for assigning blame.
+      git-blame, take 2
+      git-blame: Make the output human readable
+      git-blame: Use the same tests for git-blame as for git-annotate
+      Fix some inconsistencies in the docs
+      Remove trailing dot after short description
+      Nicer output from 'git'
+      Make it possible to not clobber object.util in sort_in_topological_order (take 2)
+      rev-lib: Make it easy to do rename tracking (take 2)
+      blame: Rename detection (take 2)
+      blame: Nicer output
+      blame: Fix git-blame <directory>
+      Makefile: Add TAGS and tags targets
+
+J. Bruce Fields (1):
+      Document git-rebase behavior on conflicts.
+
+Jason Riedy (1):
+      Fix typo in git-rebase.sh.
+
+Jeff Muizelaar (2):
+      cosmetics: change from 'See-Also' to 'See Also'
+      documentation: add 'see also' sections to git-rm and git-add
+
+Johannes Schindelin (13):
+      Fix cpio call
+      Optionally support old diffs
+      Support Irix
+      Optionally work without python
+      Fixes for ancient versions of GNU make
+      avoid makefile override warning
+      Really honour NO_PYTHON
+      Fix "gmake -j"
+      Use Ryan's git-annotate instead of jsannotate
+      Warn about invalid refs
+      Fix test case for some sed
+      imap-send: Add missing #include for macosx
+      Remove dependency on a file named "-lz"
+
+Jon Loeliger (9):
+      Add git-show reference
+      Call out the two different uses of git-branch and fix a typo.
+      Document the default source of template files.
+      Clarify git-rebase example commands.
+      Reference git-commit-tree for env vars.
+      Fix minor typo.
+      Rewrite synopsis to clarify the two primary uses of git-checkout.
+      Clarify and expand some hook documentation.
+      Removed bogus "<snap>" identifier.
+
+Jonas Fonseca (2):
+      manpages: insert two missing [verse] markers for multi-line SYNOPSIS
+      repo-config: give value_ a sane default so regexec won't segfault
+
+Josef Weidendorfer (1):
+      git-mv: fix moves into a subdir from outside
+
+Junio C Hamano (137):
+      "Assume unchanged" git
+      "Assume unchanged" git: do not set CE_VALID with --refresh
+      ls-files: debugging aid for CE_VALID changes.
+      "Assume unchanged" git: --really-refresh fix.
+      ls-files: split "show-valid-bit" into a different option.
+      "assume unchanged" git: documentation.
+      cache_name_compare() compares name and stage, nothing else.
+      git-commit: Now --only semantics is the default.
+      rebase: allow a hook to refuse rebasing.
+      commit: detect misspelled pathspec while making a partial commit.
+      rebase: allow rebasing onto different base.
+      ls-files --error-unmatch pathspec error reporting fix.
+      Detect misspelled pathspec to git-add
+      packed objects: minor cleanup
+      topo-order: make --date-order optional.
+      pack-objects: reuse data from existing packs.
+      pack-objects: finishing touches.
+      git-repack: allow passing a couple of flags to pack-objects.
+      git-tag: -l to list tags (usability).
+      Add contrib/README.
+      SubmittingPatches: note on whitespaces
+      pack-objects: avoid delta chains that are too long.
+      Make "empty ident" error message a bit more helpful.
+      Delay "empty ident" errors until they really matter.
+      Keep Porcelainish from failing by broken ident after making changes.
+      fmt-merge-msg: say which branch things were merged into unless 'master'
+      Allow git-mv to accept ./ in paths.
+      Documentation: fix typo in rev-parse --short option description.
+      fmt-merge-msg: do not add excess newline at the end.
+      rev-list --objects-edge
+      Thin pack - create packfile with missing delta base.
+      send-pack --thin: use "thin pack" delta transfer.
+      Add git-push --thin.
+      Use thin pack transfer in "git fetch".
+      fmt-merge-msg: avoid open "-|" list form for Perl 5.6
+      rerere: avoid open "-|" list form for Perl 5.6
+      send-email: avoid open "-|" list form for Perl 5.6
+      svnimport: avoid open "-|" list form for Perl 5.6
+      cvsimport: avoid open "-|" list form for Perl 5.6
+      Fix fmt-merge-msg counting.
+      cherry-pick/revert: error-help message rewording.
+      git-mktree: reverse of git-ls-tree.
+      rev-list.c: fix non-grammatical comments.
+      send-pack: do not give up when remote has insanely large number of refs.
+      gitview: ls-remote invocation shellquote safety.
+      pack-objects: thin pack micro-optimization.
+      pack-objects: use full pathname to help hashing with "thin" pack.
+      count-delta: tweak counting of copied source material.
+      count-delta: fix counting of copied source.
+      Tweak break/merge score to adjust to the new delta generation code.
+      pack-objects: allow "thin" packs to exceed depth limits
+      rev-list --objects-edge: remove duplicated edge commit output.
+      rev-list --objects: use full pathname to help hashing.
+      pack-objects: hash basename and direname a bit differently.
+      Revert "diff-delta: produce optimal pack data"
+      Build and install git-mailinfo.
+      rev-list split: minimum fixup.
+      apply --whitespace fixes and enhancements.
+      apply: squelch excessive errors and --whitespace=error-all
+      apply --whitespace: configuration option.
+      git-apply --whitespace=nowarn
+      Revert "Revert "diff-delta: produce optimal pack data""
+      git-apply: war on whitespace -- finishing touches.
+      diffcore-break: micro-optimize by avoiding delta between identical files.
+      diffcore-rename: split out the delta counting code.
+      diffcore-delta: stop using deltifier for packing.
+      git-am: --whitespace=x option.
+      diff-delta: cull collided hash bucket more aggressively.
+      git-log (internal): add approxidate.
+      git-log (internal): more options.
+      Pretty-print tagger dates.
+      war on whitespaces: documentation.
+      Documentation: read-tree --aggressive
+      Documentation: rev-list --objects-edge
+      annotate: resurrect raw timestamps.
+      setup_revisions(): handle -n<n> and -<n> internally.
+      GIT-VERSION-GEN: squelch unneeded error from "cat version"
+      show-branch --topics
+      git-commit --amend
+      git-commit: make sure we protect against races.
+      diffcore-rename: similarity estimator fix.
+      show-branch --topics: omit more uninteresting commits.
+      count-delta: no need for this anymore.
+      diffcore-break: similarity estimator fix.
+      diffcore-delta: make change counter to byte oriented again.
+      git-commit --amend: allow empty commit.
+      Const tightening.
+      verify-pack -v: show delta-chain histogram.
+      blame: avoid -lm by not using log().
+      blame and annotate: show localtime with timezone.
+      blame: avoid "diff -u0".
+      annotate/blame tests updates.
+      annotate-blame test: don't "source", but say "."
+      annotate-blame test: add evil merge.
+      blame: unbreak "diff -U 0".
+      annotate-blame: tests incomplete lines.
+      pack-objects: simplify "thin" pack.
+      Use #define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
+      refs.c::do_for_each_ref(): Finish error message lines with "\n"
+      fsck-objects: Remove --standalone
+      Fix t1200 test for breakage caused by removal of full-stop at the end of fast-forward message.
+      try_to_simplify_commit(): do not skip inspecting tree change at boundary.
+      repack: prune loose objects when -d is given
+      git-diff: -p disables rename detection.
+      diffcore-rename: somewhat optimized.
+      revision traversal: --remove-empty fix.
+      revision traversal: --remove-empty fix (take #2).
+      diffcore-delta: make the hash a bit denser.
+      diffcore-delta: tweak hashbase value.
+      cvsimport: honor -i and non -i upon subsequent imports
+      fetch: exit non-zero when fast-forward check fails.
+      cvsimport: fix reading from rev-parse
+      git-pull: run repo-config with dash form.
+      unpack_delta_entry(): reduce memory footprint.
+      generate-cmdlist: style cleanups.
+      revamp git-clone.
+      git-merge knows some strategies want to skip trivial merges
+      http-fetch: nicer warning for a server with unreliable 404 status
+      core.warnambiguousrefs: warns when "name" is used and both "name" branch and tag exists.
+      revamp git-clone (take #2).
+      get_sha1_basic(): try refs/... and finally refs/remotes/$foo/HEAD
+      clone: record the remote primary branch with remotes/$origin/HEAD
+      http-push.c: squelch C90 warnings.
+      git-apply: do not barf when updating an originally empty file.
+      rev-list --timestamp
+      git-clone: typofix.
+      git-pull: further safety while on tracking branch.
+      git-pull: reword "impossible to fast-forward" message.
+      sha1_name: warning ambiguous refs.
+      sha1_name: make core.warnambiguousrefs the default.
+      send-email: Identify author at the top when sending e-mail
+      commit-tree: check return value from write_sha1_file()
+      built-in diff: minimum tweaks
+      true built-in diff: run everything in-core.
+      git-push: make --thin pack transfer the default.
+      add clean and ignore rules for xdiff/
+      GIT 1.3.0 rc1
+
+Karl Wiberg (7):
+      git-svnimport: -r adds svn revision number to commit messages
+      svnimport: Mention -r in usage summary
+      svnimport: Convert executable flag
+      svnimport: Convert the svn:ignore property
+      svnimport: Read author names and emails from a file
+      Let git-svnimport's author file use same syntax as git-cvsimport's
+      Save username -> Full Name <email@addr.es> map file
+
+Linus Torvalds (21):
+      Handling large files with GIT
+      Handling large files with GIT
+      git-merge-tree: generalize the "traverse <n> trees in sync" functionality
+      Teach the "git" command to handle some commands internally
+      First cut at libifying revlist generation
+      Make git diff-generation use a simpler spawn-like interface
+      The war on trailing whitespace
+      Splitting rev-list into revisions lib, end of beginning.
+      git-rev-list libification: rev-list walking
+      Introduce trivial new pager.c helper infrastructure
+      Tie it all together: "git log"
+      Rip out merge-order and make "git log <paths>..." work again.
+      get_revision(): do not dig deeper when we know we are at the end.
+      git-fmt-merge-msg cleanup
+      Fix up diffcore-rename scoring
+      diffcore-delta: 64-byte-or-EOL ultrafast replacement.
+      diffcore-delta: 64-byte-or-EOL ultrafast replacement (hash fix).
+      git-apply: safety fixes
+      Use a *real* built-in diff generator
+      builtin-diff: \No newline at end of file.
+      Fix error handling for nonexistent names
+
+Lukas Sandström (1):
+      git-fetch: print the new and old ref when fast-forwarding
+
+Marco Costalba (1):
+      Add a Documentation/git-tools.txt
+
+Marco Roeland (1):
+      imap-send: cleanup execl() call to use NULL sentinel instead of 0
+
+Mark Hollomon (1):
+      Let merge set the default strategy.
+
+Mark Wooding (6):
+      combine-diff: Honour --full-index.
+      combine-diff: Honour -z option correctly.
+      Documentation/Makefile: Some `git-*.txt' files aren't manpages.
+      gitignore: Ignore some more boring things.
+      contrib/emacs/Makefile: Provide tool for byte-compiling files.
+      annotate-tests: override VISUAL when running tests.
+
+Martin Langhoff (18):
+      Introducing git-cvsserver -- a CVS emulator for git.
+      cvsserver: add notes on how to get a checkout under Eclipse
+      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
+      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
+      cvsserver: add notes on how to get a checkout under Eclipse
+      cvsserver: Eclipse compat fixes - implement Questionable, alias rlog, add a space after the U
+      cvsserver: Eclipse compat - browsing 'modules' (heads in our case) works
+      cvsserver: Checkout correctly on Eclipse
+      annotate: fix -S parameter to take a string
+      cvsserver: Eclipse compat -- now "compare with latest from HEAD" works
+      cvsserver: checkout faster by sending files in a sensible order
+      cvsserver: fix checkouts with -d <somedir>
+      cvsserver: checkout faster by sending files in a sensible order
+      cvsserver: fix checkouts with -d <somedir>
+      cvsserver: nested directory creation fixups for Eclipse clients
+      cvsserver: better error messages
+      cvsserver: anonymous cvs via pserver support
+      cvsserver: updated documentation
+
+Martin Mares (1):
+      gitk: Make error_popup react to Return
+
+Matthias Urlichs (2):
+      cvsimport: Remove master-updating code
+      Don't recurse into parents marked uninteresting.
+
+Mike McCormack (5):
+      Allow adding arbitary lines in the mail header generated by format-patch.
+      Allow format-patch to attach patches
+      Document the --attach flag.
+      Describe how to add extra mail header lines in mail generated by git-format-patch.
+      Add git-imap-send, derived from isync 1.0.1.
+
+Nick Hengeveld (10):
+      Update http-push functionality
+      http-push: fix revision walk
+      HTTP slot reuse fixes
+      http-push: refactor remote file/directory processing
+      http-push: improve remote lock management
+      http-push: support for updating remote info/refs
+      http-push: cleanup
+      Fix broken slot reuse when fetching alternates
+      http-push: add support for deleting remote branches
+      http-push: don't assume char is signed
+
+Nicolas Pitre (11):
+      relax delta selection filtering in pack-objects
+      diff-delta: fold two special tests into one plus cleanups
+      diff-delta: produce optimal pack data
+      diff-delta: big code simplification
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      diff-delta: produce optimal pack data
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      diff-delta: allow reusing of the reference buffer index
+      test-delta needs zlib to compile
+      diff-delta: bound hash list length to avoid O(m*n) behavior
+      3% tighter packs for free
+
+Olaf Hering (1):
+      allow double click on current HEAD id after git-pull
+
+Paul Jakma (1):
+      Makefile tweaks: Solaris 9+ dont need iconv / move up uname variables
+
+Paul Mackerras (13):
+      gitk: Make "find" on "Files" work again.
+      gitk: New improved gitk
+      gitk: Fix clicks on arrows on line ends
+      gitk: Fix Update menu item
+      gitk: Various speed improvements
+      gitk: Further speedups
+      gitk: Fix a bug in drawing the selected line as a thick line
+      gitk: Fix display of diff lines beginning with --- or +++
+      gitk: Make commitdata an array rather than a list
+      gitk: Don't change cursor at end of layout if find in progress
+      gitk: Make downward-pointing arrows end in vertical line segment
+      gitk: Improve appearance of first child links
+      gitk: Fix two bugs reported by users
+
+Pavel Roskin (1):
+      gitview: Select the text color based on whether the entry in highlighted. Use standard font.
+
+Petr Baudis (2):
+      Properly git-bisect reset after bisecting from non-master head
+      Optionally do not list empty directories in git-ls-files --others
+
+Randal L. Schwartz (1):
+      fix imap-send for OSX
+
+René Scharfe (5):
+      tar-tree: Use SHA1 of root tree for the basedir
+      tar-tree: Introduce write_entry()
+      tar-tree: Use write_entry() to write the archive contents
+      tar-tree: Remove obsolete code
+      tar-tree: Use the prefix field of a tar header
+
+Ryan Anderson (9):
+      send-email: Add some options for controlling how addresses are automatically added to the cc: list.
+      send-email: Add --cc
+      Add git-annotate, a tool for assigning blame.
+      annotate: Handle dirty state and arbitrary revisions.
+      annotate: Convert all -| calls to use a helper open_pipe().
+      annotate: Use qx{} for pipes on activestate.
+      annotate: handle \No newline at end of file.
+      annotate: Add a basic set of test cases.
+      annotate: Support annotation of files on other revisions.
+
+Sean Estabrooks (1):
+      annotate.perl triggers rpm bug
+
+Shawn O. Pearce (7):
+      git ls files recursively show ignored files
+      Add missing programs to ignore list
+      Darwin: Ignore missing /sw/lib
+      Teach git-checkout-index to read filenames from stdin.
+      Prevent --index-info from ignoring -z.
+      Add --temp and --stage=all options to checkout-index.
+      Add missing semicolon to sed command.
+
+Timo Hirvonen (1):
+      Use setenv(), fix warnings
+
+Tony Luck (4):
+      fix warning from pack-objects.c
+      Re-fix compilation warnings.
+      annotate should number lines starting with 1
+      fix field width/precision warnings in blame.c
+
+Yasushi SHOJI (1):
+      Be verbose when !initial commit
+
+
+Version v1.2.6; changes since v1.2.5:
+-------------------------------------
+
+Junio C Hamano (3):
+      parse_date(): fix parsing 03/10/2006
+      diff_flush(): leakfix.
+      count-delta: match get_delta_hdr_size() changes.
+
+Nicolas Pitre (1):
+      check patch_delta bounds more carefully
+
+
+Version v1.2.5; changes since v1.2.4:
+-------------------------------------
+
+Jason Riedy (1):
+      Use sigaction and SA_RESTART in read-tree.c; add option in Makefile.
+
+Junio C Hamano (3):
+      read-tree --aggressive: remove deleted entry from the working tree.
+      tar-tree: file/dirmode fix.
+      safe_fgets() - even more anal fgets()
+
+Linus Torvalds (2):
+      Fix Solaris stdio signal handling stupidities
+      pack-objects: be incredibly anal about stdio semantics
+
+
+Version v1.2.4; changes since v1.2.3:
+-------------------------------------
+
+Alex Riesen (1):
+      fix t5600-clone-fail-cleanup.sh on windows
+
+Josef Weidendorfer (2):
+      git-mv: Allow -h without repo & fix error message
+      git-mv: fixes for path handling
+
+Junio C Hamano (13):
+      checkout - eye candy.
+      Give no terminating LF to error() function.
+      diffcore-rename: plug memory leak.
+      git-am: do not allow empty commits by mistake.
+      sample hooks template.
+      apply --whitespace fixes and enhancements.
+      apply: squelch excessive errors and --whitespace=error-all
+      apply --whitespace: configuration option.
+      git-apply --whitespace=nowarn
+      git-apply: war on whitespace -- finishing touches.
+      git-am: --whitespace=x option.
+      diffcore-break: micro-optimize by avoiding delta between identical files.
+      Allow git-mv to accept ./ in paths.
+
+Linus Torvalds (1):
+      The war on trailing whitespace
+
+Mark Wooding (2):
+      combine-diff: Honour --full-index.
+      combine-diff: Honour -z option correctly.
+
+
+Version v1.2.3; changes since v1.2.2:
+-------------------------------------
+
+Carl Worth (2):
+      git-add: Add support for --, documentation, and test.
+      git-push: Update documentation to describe the no-refspec behavior.
+
+Junio C Hamano (11):
+      format-patch: pretty-print timestamp correctly.
+      detect broken alternates.
+      pack-objects: reuse data from existing packs.
+      pack-objects: finishing touches.
+      git-repack: allow passing a couple of flags to pack-objects.
+      pack-objects: avoid delta chains that are too long.
+      Make "empty ident" error message a bit more helpful.
+      Delay "empty ident" errors until they really matter.
+      Keep Porcelainish from failing by broken ident after making changes.
+      pack-objects eye-candy: finishing touches.
+      git-fetch: follow tag only when tracking remote branch.
+
+Nicolas Pitre (2):
+      nicer eye candies for pack-objects
+      also adds progress when actually writing a pack
+
+
+Version v1.2.2; changes since v1.2.1:
+-------------------------------------
+
+Carl Worth (3):
+      Trap exit to clean up created directory if clone fails.
+      Abstract test_create_repo out for use in tests.
+      Prevent git-upload-pack segfault if object cannot be found
+
+Eric Wong (1):
+      archimport: remove files from the index before adding/updating
+
+Jonas Fonseca (2):
+      git-rev-parse: Fix --short= option parsing
+      Document --short and --git-dir in git-rev-parse(1)
+
+Martin Mares (1):
+      Fix retries in git-cvsimport
+
+Shawn O. Pearce (1):
+      Make git-reset delete empty directories
+
+
+Version v1.2.1; changes since v1.2.0:
+-------------------------------------
+
+Fernando J. Pereda (1):
+      Print an error if cloning a http repo and NO_CURL is set
+
+Fredrik Kuivinen (1):
+      s/SHELL/SHELL_PATH/ in Makefile
+
+Josef Weidendorfer (1):
+      More useful/hinting error messages in git-checkout
+
+Junio C Hamano (6):
+      Documentation: git-commit in 1.2.X series defaults to --include.
+      Documentation: git-ls-files asciidocco.
+      bisect: remove BISECT_NAMES after done.
+      combine-diff: diff-files fix.
+      combine-diff: diff-files fix (#2)
+      checkout: fix dirty-file display.
+
+
+Version v1.2.0; changes since v1.1.6:
+-------------------------------------
+
+Alecs King (1):
+      Add freebsd support in Makefile
+
+Alex Riesen (2):
+      fix "test: 2: unexpected operator" on bsd
+      avoid echo -e, there are systems where it does not work
+
+Andreas Ericsson (4):
+      git-cvsimport: Add -A <author-conv-file> option
+      update-hook: Major overhaul (handling tags, mainly).
+      format-patch: Remove last vestiges of --mbox option
+      .gitignore git-rerere and config.mak
+
+Christian Biesinger (1):
+      Use a relative path for SVN importing
+
+Daniel Barkalow (4):
+      Only use a single parser for tree objects
+      Use struct tree in tar-tree
+      Use struct commit in tar-tree
+      Make apply accept the -pNUM option like patch does.
+
+Eric W. Biederman (1):
+      Fix git-format-patch -s to include a Signed-off-by: line...
+
+Eric Wong (2):
+      rev-list: allow -n<n> as shorthand for --max-count=<n>
+      rev-list: allow -<n> as shorthand for --max-count=<n>
+
+Florian Weimer (1):
+      AsciiDoc fixes for the git-svnimport manpage
+
+Fredrik Kuivinen (2):
+      merge-recursive: Make use of provided bases
+      merge-recursive: Speed up commit graph construction
+
+J. Bruce Fields (7):
+      Minor git-reset and git-commit documentation fixes
+      Mention install-doc in INSTALL
+      New tutorial
+      cvs-migration documentation update
+      Docs: split up pull-fetch-param.txt
+      Docs: move git url and remotes text to separate sections
+      Docs: minor git-push copyediting
+
+Jason Riedy (4):
+      Run GIT-VERSION-GEN with $(SHELL), not sh.
+      Add compat/unsetenv.c .
+      Use sha1_file.c's mkdir-like routine in apply.c.
+      stat() for existence in safe_create_leading_directories()
+
+Johannes Schindelin (1):
+      Use a hashtable for objects instead of a sorted list
+
+Jon Loeliger (1):
+      Add --diff-filter= documentation paragraph
+
+Junio C Hamano (112):
+      show-branch: take default arguments from configuration file.
+      git-describe: default to HEAD
+      Makefile: add 'strip' target
+      octopus: allow criss-cross and clarify the message when it rejects
+      Fix the installation location.
+      checkout: automerge local changes while switching branches.
+      checkout: merge local modifications while switching branches.
+      git-push: avoid falling back on pushing "matching" refs.
+      checkout: show dirty state upon switching branches.
+      clone: --naked option.
+      format-patch: always --mbox and show sane Date:
+      octopus: allow manual resolve on the last round.
+      Documentation: show-branch.
+      show-branch: make the current branch and merge commits stand out.
+      show-branch: --current includes the current branch.
+      cvsimport: ease migration from CVSROOT/users format
+      git-push: fix --tags and document it.
+      Allow building of RPM from interim snapshot.
+      Revert "git-push: avoid falling back on pushing "matching" refs."
+      Makefile: do not assume lack of IPV6 means no sockaddr_storage.
+      fsck-objects: support platforms without d_ino in struct dirent.
+      DT_UNKNOWN: do not fully trust existence of DT_UNKNOWN
+      t4011: "sleep 1" is not enough on FAT
+      Undef DT_* before redefining them.
+      git-grep: clarification on parameters.
+      Recommend to remove unused `origin` in a shared repository.
+      Documentation: finishing touches to the new tutorial.
+      sample update-hook: sanely handle a new branch head.
+      git-clone: PG13 --naked option to --bare.
+      clone: do not create remotes/origin nor origin branch in a bare repository.
+      clone: do not accept more than one -o option.
+      tests: adjust breakage by stricter rev-parse
+      git-fetch --upload-pack: disambiguate.
+      merge: seed the commit message with list of conflicted files.
+      diff-tree -c: show a merge commit a bit more sensibly.
+      diff-tree --cc: denser combined diff output for a merge commit.
+      combine-diff: fix appending at the tail of a list.
+      combine-diff: minor output changes.
+      combine-diff: extend --cc logic to Octopus.
+      diff-tree --cc: squelch header generation on empty patch.
+      combine-diff: better hunk splitting.
+      diff-files: -c and --cc options.
+      rev-list --remove-empty: add minimum help and doc entry.
+      abbrev cleanup: use symbolic constants
+      rev-parse: --abbrev option.
+      diff-tree: abbreviate merge parent object names with --abbrev --pretty.
+      rev-parse --abbrev: do not try abbrev shorter than minimum.
+      Rename rev-parse --abbrev to --short.
+      pretty_print_commit(): pass commit object instead of commit->buffer.
+      pretty_print_commit: honor grafts.
+      diff --abbrev=<n> option fix.
+      rev-parse: make "whatchanged -- git-fetch-script" work again.
+      diff-files -c/--cc: combine only when both ours and theirs exist.
+      Documentation: diff -c/--cc
+      documentation: cvs migration - typofix.
+      update-index --index-info: allow stage 0 entries.
+      rev-list: omit duplicated parents.
+      combine-diff: reuse diff from the same blob.
+      combine-diff: update --cc "uninteresting hunks" logic.
+      combine-diff: add safety check to --cc.
+      combine-diff: fix placement of deletion.
+      Documentation: git-diff-tree --cc also omits empty commits
+      commit.c: "Merge" fix in pretty_print_commit.
+      combine-diff: add a bit more comments.
+      combine-diff: show parent line numbers as well.
+      combine-diff: cleanup.
+      combine-diff: finishing touches to git-diff-tree --cc
+      whitespace cleanup.
+      get_sha1_1: allow octopus^12 to be properly parsed.
+      git-merge: Properly quote $merge_msg variable.
+      Do not fall back on vi on dumb terminals.
+      diff-index: make --cc a synonym for -p for now.
+      git-diff: use --cc instead of -p.
+      git-show
+      daemon: do not forbid user relative paths unconditionally under --base-path
+      daemon: extend user-relative path notation.
+      combine-diff: remove misguided --show-empty hack.
+      git-diff-tree --stdin: show all parents.
+      git-diff: do not fall back on --cc when -[123], --ours etc. are given.
+      core-tutorial: adjust to recent reality.
+      combine-diff: do not send NULL to printf
+      combine-diff: show mode changes as well.
+      combine-diff: do not punt on removed or added files.
+      mailinfo: reset CTE after each multipart
+      read-tree --aggressive
+      fmt-merge-msg: show summary of what is merged.
+      git-rerere: reuse recorded resolve.
+      git-commit: revamp the git-commit semantics.
+      git-commit: finishing touches.
+      Do not allow empty name or email.
+      t6000: fix a careless test library add-on.
+      ls-files: honour per-directory ignore file from higher directories.
+      combined-diff: use diffcore before intersecting paths.
+      call git_config() after setup_git_directory()
+      combine-diff: move formatting logic to show_combined_diff()
+      count-delta.c: Match the delta data semantics change in version 3.
+      git-status -v
+      find_unique_abbrev() simplification.
+      combine-diff: Record diff status a bit more faithfully
+      rev-list: default to abbreviate merge parent names under --pretty.
+      git-commit -v: have patch at the end.
+      Define GIT_(AUTHOR|COMMITTER)_(NAME|EMAIL) to known values.
+      fetch-clone progress: finishing touches.
+      Only call git-rerere if $GIT_DIR/rr-cache exists.
+      t5500: adjust to change in pack-object reporting behaviour.
+      diff-tree: do not default to -c
+      Avoid using "git-var -l" until it gets fixed.
+      hashtable-based objects: minimum fixups.
+      Make pack-objects chattier.
+      git-commit: show dirtiness including index.
+      Fix "test: unexpected operator" on bsd
+      GIT 1.2.0
+
+Kent Engstrom (1):
+      Add howto about separating topics.
+
+Linus Torvalds (14):
+      Make git-rev-list and git-rev-parse argument parsing stricter
+      git-whatchanged: exit out early on errors
+      rev-list: stop when the file disappears
+      Make the "struct tree_desc" operations available to others
+      Make git-tar-tree use the tree_desc abstractions
+      Fix git-rev-parse over-eager errors
+      diff-tree --always flag
+      rev-parse lstat() workaround cleanup.
+      Fix "git diff a..b" breakage
+      diff-tree -c raw output
+      Make "git clone" less of a deathly quiet experience
+      Make "git clone" pack-fetching download statistics better
+      Fix fetch-clone in the presense of signals
+      Fix object re-hashing
+
+Mark Wooding (7):
+      daemon: Provide missing argument for logerror() call.
+      http-fetch: Fix object list corruption in fill_active_slots().
+      http-fetch: Fix message reporting rename of object file.
+      http: Turn on verbose Curl messages if GIT_CURL_VERBOSE set in environment
+      http-fetch: Tidy control flow in process_alternate_response
+      daemon: Set SO_REUSEADDR on listening sockets.
+      http-fetch: Abort requests for objects which arrived in packs
+
+Martin Langhoff (3):
+      cvsimport: Add -S <skipfileregex> support and -v announces files retrieved
+      exportcommit: replace backticks with safe_pipe_capture() or system() - initial pass
+      cvsexportcommit: add some examples to the documentation
+
+Matt Draisey (1):
+      local push/pull env cleanup
+
+Michal Ostrowski (3):
+      Exec git programs without using PATH.
+      git-fetch: pass --upload-pack to fetch-pack
+      git-{fetch,peek-remote} handling of --upload-pack
+
+Nick Hengeveld (2):
+      Fix HTTP request result processing after slot reuse
+      Use local structs for HTTP slot callback data
+
+Nicolas Pitre (3):
+      remove delta-against-self bit
+      count-delta.c: comment fixes
+      delta micro optimization
+
+Paul Mackerras (2):
+      gitk: Add braces around if expressions
+      gitk: Use git-diff-tree --cc for showing the diffs for merges
+
+Pavel Roskin (2):
+      Disable USE_SYMLINK_HEAD by default
+      Don't include ../README in git.txt - make a local copy
+
+Peter Eriksen (1):
+      Use adler32() from zlib instead of defining our own.
+
+Petr Baudis (5):
+      Document git-ls-files --directory
+      Allow diff and index commands to be interrupted
+      Document git-diff-tree --always
+      Basic documentation for git-show
+      Add support for explicit type specifiers when calling git-repo-config
+
+Ryan Anderson (3):
+      Provide a more meaningful initial "From " line when using --compose in git-send-email.
+      git-send-email: Add --quiet to reduce some of the chatter when sending emails.
+      git-send-email: Fully implement --quiet and document it.
+
+Sasha Khapyorsky (1):
+      git-svnimport.perl: fix for 'arg list too long...'
+
+Tom Prince (1):
+      Add --keep option to keep downloaded packs to git-fetch.
+
+Tony Luck (1):
+      update using-topic-branches
+
+Uwe Kleine-König (3):
+      Fix generation of "humanish" part of source repo
+      Remove unneeded header
+      Use symbolic name SHORT_NAME_AMBIGUOUS as error return value
+
+Uwe Zeisberger (1):
+      Make GIT-VERSION-GEN tolerate missing git describe command again
+
+
+Version v1.1.6; changes since v1.1.5:
+-------------------------------------
+
+Fredrik Kuivinen (2):
+      merge-recursive: Improve the error message printed when merge(1) isn't found.
+      git-branch: Documentation fixes
+
+J. Bruce Fields (1):
+      git push -f documentation
+
+Junio C Hamano (1):
+      pre-commit sample hook: do not barf on the initial import
+
+
+Version v1.1.5; changes since v1.1.4:
+-------------------------------------
+
+Junio C Hamano (1):
+      checkout: do not make a temporary copy of symlink target.
+
+
+Version v1.1.4; changes since v1.1.3:
+-------------------------------------
+
+Johannes Schindelin (1):
+      git-fetch-pack: really do not ask for funny refs
+
+Junio C Hamano (1):
+      Revert "check_packed_git_idx(): check integrity of the idx file itself."
+
+
+Version v1.1.3; changes since v1.1.2:
+-------------------------------------
+
+Junio C Hamano (2):
+      diffcore-break/diffcore-rename: integer overflow.
+      describe: omit clearing marks on the last one.
+
+
+Version v1.1.2; changes since v1.1.1:
+-------------------------------------
+
+J. Bruce Fields (1):
+      Documentation: clarify fetch parameter descriptions.
+
+Junio C Hamano (6):
+      update-index: work with c-quoted name
+      describe: do not silently ignore indescribable commits
+      name-rev: do not omit leading components of ref name.
+      show-branch: handle [] globs as well.
+      Documentation: git-commit -a
+      Documentation: git-reset - interrupted workflow.
+
+Tom Prince (1):
+      Add git-describe to .gitignore.
+
+
+Version v1.1.1; changes since v1.1.0:
+-------------------------------------
+
+H. Peter Anvin (1):
+      For release tarballs, include the proper version
+
+Johannes Schindelin (1):
+      glossary: explain "master" and "origin"
+
+Junio C Hamano (1):
+      GIT-VERSION-GEN: detect dirty tree and mark the version accordingly.
+
+
+Version v1.1.0; changes since v1.0.13:
+--------------------------------------
+
+Johannes Schindelin (3):
+      git-clone: Support changing the origin branch with -o
+      Introduce core.sharedrepository
+      git-init-db: initialize shared repositories with --shared
+
+John Ellson (1):
+      Make GIT-VERSION-GEN tolerate missing git describe command
+
+Junio C Hamano (23):
+      Post 1.0.0 development track.
+      Versioning scheme changes.
+      merge-recursive: conflicting rename case.
+      whatchanged: customize diff-tree output
+      rev-parse: --show-cdup
+      check_packed_git_idx(): check integrity of the idx file itself.
+      checkout: sometimes work from a subdirectory.
+      ls-tree: chomp leading directories when run from a subdirectory
+      git-clone: do not special case dumb http.
+      Tutorial: mention shared repository management.
+      git-describe: really prefer tags only.
+      git-describe: use find_unique_abbrev()
+      git-describe: --tags and --abbrev
+      git-describe: still prefer annotated tag under --all and --tags
+      git-describe: documentation.
+      Makefile: use git-describe to mark the git version.
+      send-pack/receive-pack: allow errors to be reported back to pusher.
+      git-fetch: auto-following tags.
+      ls-files --others --directory: fix a bug with index entry ordering
+      ls-files --others --directory: give trailing slash
+      git-status: use ls-files --others --directory for untracked list.
+      ls-files --others --directory: test
+      describe: allow more than one revs to be named.
+
+Linus Torvalds (2):
+      Add a "git-describe" command
+      ls-files -o: optionally skip showing the contents in "untracked" directories
+
+Lukas Sandström (1):
+      git-pack-redundant: speed and memory usage improvements
+
+Petr Baudis (1):
+      git-daemon --base-path
+
+YOSHIFUJI Hideaki (1):
+      GIT: Support [address] in URLs
+
+Yann Dirson (3):
+      Add an optional limit to git-cherry
+      Add a minimal test for git-cherry
+      Add a test for rebase when a change was picked upstream
+
+
+Version v1.0.13; changes since v1.0.12:
+---------------------------------------
+
+Junio C Hamano (1):
+      checkout: do not make a temporary copy of symlink target.
+
+
+Version v1.0.12; changes since v1.0.11:
+---------------------------------------
+
+Johannes Schindelin (1):
+      git-fetch-pack: really do not ask for funny refs
+
+Junio C Hamano (1):
+      Revert "check_packed_git_idx(): check integrity of the idx file itself."
+
+
+Version v1.0.11; changes since v1.0.10:
+---------------------------------------
+
+Junio C Hamano (1):
+      diffcore-break/diffcore-rename: integer overflow.
+
+
+Version v1.0.10; changes since v1.0.9:
+--------------------------------------
+
+J. Bruce Fields (1):
+      Documentation: clarify fetch parameter descriptions.
+
+Junio C Hamano (5):
+      update-index: work with c-quoted name
+      name-rev: do not omit leading components of ref name.
+      show-branch: handle [] globs as well.
+      Documentation: git-commit -a
+      Documentation: git-reset - interrupted workflow.
+
+
+Version v1.0.9; changes since v1.0.8:
+-------------------------------------
+
+Johannes Schindelin (1):
+      glossary: explain "master" and "origin"
+
+
+Version v1.0.8; changes since v1.0.7:
+-------------------------------------
+
+Joe English (1):
+      Substitute "/" with $opt_s in tag names as well as branch names
+
+Junio C Hamano (7):
+      unpack-objects: default to quiet if stderr is not a tty.
+      Retire debian/ directory.
+      prune: do not show error from pack-redundant when no packs are found.
+      Compilation: zero-length array declaration.
+      tar-tree: finish honoring extractor's umask in git-tar-tree.
+      revert/cherry-pick: handle single quote in author name.
+      mailsplit: allow empty input from stdin
+
+Yann Dirson (3):
+      Teach cvsexportcommit to add new files
+      Fix typo in debug stanza of t2001
+      Fix git-format-patch usage string wrt output modes.
+
+
+Version v1.0.7; changes since v1.0.6:
+-------------------------------------
+
+Alex Riesen (12):
+      trivial: retval of waitpid is not errno
+      trivial: O_EXCL makes O_TRUNC redundant
+      fix potential deadlock in create_one_file
+      use result of open(2) to check for presence
+      trivial: typo in git-commit.sh
+      trivial: clarify, what are the config's user.name and user.email about
+      trivial: remove the dots at the end of file names from merge-one-file
+      trivial: use git-repo-config to detect if the test can be run on the repository
+      trivial: use git-repo-config to detect how to run tests in the test repository
+      trivial: .gitignore precompiled python modules
+      trivial: check, if t/trash directory was successfully created
+      use GIT_DIR instead of /var/tmp
+
+Amos Waterland (1):
+      AIX compile fix for repo-config.c
+
+Andreas Ericsson (1):
+      git: grok 'help' to mean '--help'.
+
+Eric Wong (2):
+      svnimport: support repositories requiring SSL authentication
+      Documentation/git-svnimport: document -T and -t switches correctly
+
+Gerrit Pape (1):
+      Fix skipping merge-order test with NO_OPENSSL=1.
+
+Jon Loeliger (1):
+      Fix git-symbolic-ref typo in git.txt.
+
+Jonas Fonseca (2):
+      git-init-db(1): Describe --shared and the idempotent nature of init-db
+      Wrap synopsis lines and use [verse] to keep formatting
+
+Junio C Hamano (6):
+      Documentation: spell.
+      code comments: spell
+      ?alloc: do not return NULL when asked for zero bytes
+      git-fetch --tags: reject malformed tags.
+      format-patch/commit: Quote single quote in the author name properly.
+      t3300: skip when filesystem does not like TAB in filenames.
+
+Linus Torvalds (1):
+      Fix nasty approxidate bug
+
+
+Version v1.0.6; changes since v1.0.5:
+-------------------------------------
+
+Junio C Hamano (3):
+      Guard a test against wc that pads its output with whitespace
+      Fix bogus tests on rev-list output.
+      Do not mark tags fetched via --tags flag as mergeable
+
+Sam Ravnborg (1):
+      copy_fd: close ifd on error
+
+
+Version v1.0.5; changes since v1.0.4:
+-------------------------------------
+
+Eric Wong (1):
+      short circuit out of a few places where we would allocate zero bytes
+
+Johannes Schindelin (1):
+      Handle symlinks graciously
+
+Junio C Hamano (2):
+      avoid asking ?alloc() for zero bytes.
+      t5300: avoid false failures.
+
+
+Version v1.0.4; changes since v1.0.3:
+-------------------------------------
+
+Junio C Hamano (5):
+      check_packed_git_idx(): check integrity of the idx file itself.
+      show-branch: usability updates.
+      merge --no-commit: tweak message
+      ls-files --full-name: usage string and documentation.
+      mailinfo: iconv does not like "latin-1" -- should spell it "latin1"
+
+
+Version v1.0.3; changes since v1.0.2:
+-------------------------------------
+
+Alex Riesen (1):
+      \n usage in stderr output
+
+Johannes Schindelin (2):
+      git-format-patch should show the correct version
+      sha1_to_hex: properly terminate the SHA1
+
+Junio C Hamano (1):
+      send-pack: reword non-fast-forward error message.
+
+Nick Hengeveld (1):
+      Fix for http-fetch from file:// URLs
+
+Pavel Roskin (1):
+      sanity check in add_packed_git()
+
+
+Version v1.0.2; changes since v1.0.1:
+-------------------------------------
+
+Junio C Hamano (1):
+      server-info: skip empty lines.
+
+Pavel Roskin (1):
+      quote.c: Make loop control more readable.
+
+
+Version v1.0.1; changes since v1.0.0b:
+--------------------------------------
+
+
+Version v1.0.0b; changes since v1.0.0a:
+---------------------------------------
+
+Junio C Hamano (1):
+      server-info: skip empty lines.
+
+Pavel Roskin (1):
+      quote.c: Make loop control more readable.
+
+
+Version v1.0.0a; changes since v1.0.0:
+--------------------------------------
+
+Johannes Schindelin (1):
+      Avoid misleading success message on error
+
+Junio C Hamano (3):
+      objects/info/packs: work around bug in http-fetch.c::fetch_indices()
+      http-fetch.c: fix objects/info/pack parsing.
+      GIT 1.0.0a
+
+Pavel Roskin (1):
+      An off-by-one bug found by valgrind
+
+
+Version v1.0.0; changes since v1.0rc6:
+--------------------------------------
+
+Eric Wong (1):
+      Documentation/git-archimport: document -o, -a, f, -D options
+
+Fredrik Kuivinen (3):
+      git-diff: Usage string clean-up
+      git-log: Add usage string
+      git-whatchanged: Add usage string
+
+Jan Harkes (1):
+      Fix git-am --skip
+
+Johannes Schindelin (1):
+      We do not like "HEAD" as a new branch name
+
+Junio C Hamano (32):
+      clone-pack: make it usable for partial branch cloning.
+      Documentation: tutorial
+      get_sha1_basic(): corner case ambiguity fix
+      applymbox: typofix
+      Sort globbed refname in show-branch.
+      refs.c: off-by-one fix.
+      Examples of resetting.
+      Forbid pattern maching characters in refnames.
+      Comment fixes.
+      Documentation: HTTP needs update-server-info.
+      Remove misguided branch disambiguation.
+      Revert "refs.c: off-by-one fix."
+      Revert "We do not like "HEAD" as a new branch name"
+      Revert "get_sha1_basic(): corner case ambiguity fix"
+      fetch-pack: -k option to keep downloaded pack.
+      clone-pack: remove unused and undocumented --keep flag
+      Documentation: typos and small fixes in "everyday".
+      howto/using-topic-branches: Recommend public URL git://git.kernel.org/
+      rev-list --objects: fix object list without commit.
+      Documentation: stdout of update-hook is connected to /dev/null
+      Remove generated files */*.py[co]
+      Remove unused cmd-rename.sh
+      Remove "octopus".
+      tests: make scripts executable
+      xread/xwrite: do not worry about EINTR at calling sites.
+      diff: --abbrev option
+      diff --abbrev: document --abbrev=<n> form.
+      format-patch: make sure header and body are separated.
+      Racy GIT
+      Racy GIT (part #2)
+      ce_smudge_racily_clean_entry: explain why it works.
+      A shared repository should be writable by members.
+
+Linus Torvalds (3):
+      Make "git help" react to window size correctly
+      Make "git help" sort git commands in columns
+      Make "git-send-pack" less verbose by default
+
+Martin Langhoff (1):
+      svnimport: exit cleanly when we are up to date
+
+Nicolas Pitre (1):
+      small cleanup for diff-delta.c
+
+
+Version v1.0rc6; changes since v1.0rc5:
+---------------------------------------
+
+Amos Waterland (1):
+      git rebase loses author name/email if given bad email address
+
+Fredrik Kuivinen (12):
+      Usage message clean-up, take #2
+      Trivial usage string clean-up
+      git-verify-tag: Usage string clean-up, emit usage string at incorrect invocation
+      git-revert: Usage string clean-up
+      git-am: Usage string clean-up
+      git-applypatch: Usage string clean-up, emit usage string at incorrect invocation
+      git-cherry: Usage string clean-up, use the 'usage' function
+      git-fetch: Usage string clean-up, emit usage string at unrecognized option
+      git-lost-found: Usage string clean-up, emit usage string at incorrect invocation
+      git-prune: Usage string clean-up, use the 'usage' function
+      git-rebase: Usage string clean-up, emit usage string at incorrect invocation
+      git-repack: Usage string clean-up, emit usage at incorrect invocation
+
+H. Peter Anvin (1):
+      git-am support for naked email messages (take 2)
+
+Junio C Hamano (22):
+      diffcore-break.c: check diff_delta() return value.
+      Add deltifier test.
+      diff-delta.c: allow delta with empty blob.
+      Everyday: some examples.
+      Revert "diff-delta.c: allow delta with empty blob."
+      Revert "Add deltifier test."
+      diffcore-break: do not break too small filepair.
+      Everyday: a bit more example.
+      Documentation: more examples.
+      Documentation: fix missing links to git(7)
+      Documentation: diff examples.
+      Documentation: not learning core git commands.
+      git-clone: tell the user a bit more about clone-pack failure.
+      allow merging any committish
+      checkout-index: fix checking out specific path.
+      Everyday: a bit more examples.
+      t3200: branch --help does not die anymore.
+      applypatch: no need to do non-portable [[ ... ]]
+      Documentation: topic branches
+      rebase: do not get confused in fast-forward situation.
+      Do not let errors pass by unnoticed when running `make check'.
+      mailinfo and git-am: allow "John Doe <johndoe>"
+
+Lukas Sandström (1):
+      Bugfixes for git-rebase
+
+Martin Atukunda (1):
+      define MAXPATHLEN for hosts that don't support it
+
+Petr Baudis (1):
+      Make git-send-pack exit with error when some refs couldn't be pushed out
+
+
+Version v1.0rc5; changes since v1.0rc4:
+---------------------------------------
+
+Alex Riesen (1):
+      use "git init-db" in tests
+
+Daniel Barkalow (3):
+      Warn when send-pack does nothing
+      Clean up file descriptors when calling hooks.
+      Allow saving an object from a pipe
+
+Eric Wong (9):
+      archimport: first, make sure it still compiles
+      archimport: remove String::ShellQuote dependency.
+      archimport: fix -t tmpdir switch
+      archimport: remove git wrapper dependency
+      archimport: add -D <depth> and -a switch
+      archimport: safer log file parsing
+      archimport: Add the accurate changeset applyer
+      archimport: Fix a bug I introduced in the new log parser
+      archimport: fix a in new changeset applyer addition
+
+Jason Riedy (3):
+      Document config.mak in INSTALL.
+      Initial AIX portability fixes.
+      Use printf rather than echo -n.
+
+Jon Loeliger (1):
+      Added documentation for few missing options.
+
+Junio C Hamano (51):
+      compat/setenv: do not free what we fed putenv(3).
+      git.c: two fixes, gitsetenv type and off-by-one error.
+      show-branch: allow glob pattern to name branches to show.
+      Documentation: rebase does not use cherry-pick anymore.
+      struct tree: remove unused field "parent"
+      git.c: remove excess output for debugging when command is too long.
+      sha1_file.c: make sure packs in an alternate odb is named properly.
+      server-info.c: drop unused D lines.
+      server-info: stop sorting packs by latest date.
+      server-info: throw away T computation as well.
+      Documentation: talk about pathspec in bisect.
+      Documentation: git-mv manpage workaround.
+      Documentation: git-diff asciidoc table workaround.
+      Documentation: push/receive hook references.
+      Documentation: shared repository management in tutorial.
+      server-info.c: use pack_local like everybody else.
+      server-info.c: and two functions are not used anymore.
+      config.c: remove unnecessary header in minimum configuration file.
+      Clean up compatibility definitions.
+      Fix 5501 test
+      git-mv to work with Perl 5.6
+      hash-object: -- and --help
+      init-db: check extra arguments and complain.
+      write-tree: check extra arguments and die but be a bit more helpful.
+      Documentation: hash-object.
+      Documentaiton (read-tree): update description of 3-way
+      git-merge-one-file: resurrect leading path creation.
+      qsort() ptrdiff_t may be larger than int
+      checkout-index: allow checking out from higher stages.
+      git-merge-one: new merge world order.
+      update-index: allow --index-info to add higher stages.
+      Documentation: git.html/git.7
+      Documentation(glossary): minor formatting clean-ups.
+      Documentation(cvs-migration): minor cleanups.
+      Documentation(tutorial): adjust merge example to the new merge world order.
+      refs.c: make sure leading directories exist before writing a ref.
+      Make sure we use compat/subprocess.py with Python 2.3 while running tests.
+      Documentation: recursive is the default strategy these days.
+      show-branch: comment typo
+      Documentation: git-prune
+      qsort(): ptrdiff_t may be larger than int
+      git-prune: never lose objects reachable from our refs.
+      Use GIT_EXEC_PATH explicitly for initial git-init-db in tests.
+      Everyday GIT with 20 commands
+      Link Everyday GIT to main documentation tree.
+      t3300: funny name test
+      t0000: catch trivial pilot errors.
+      format-patch: use same number of digits in numbers
+      merge-recursive: leave unmerged entries in the index.
+      merge-recursive: cleanup setIndexStages
+      t/t6022: a new test for renaming merge.
+
+Nikolai Weibull (16):
+      Document the --non-empty command-line option to git-pack-objects.
+      Fix the description of --utf8 and --keep to git-am.
+      Use uniform description for the '--' option.
+      Documentation/git-commit.txt: Add long options and -- to documentation.
+      Documentation/git-verify-pack.txt: added documentation for --.
+      Documentation/git-cvsimport.txt: Fix a slight glitch in description heading.
+      Documentation/git-cherry-pick: Add --replay and --no-commit.
+      Add documentation for git-revert and git-cherry-pick.
+      Add documentation for the --topo-order option to git-show-branch.
+      Documentation/git-format-patch.txt: Add --signoff, --check, and long option-names.
+      Documentation/git-ls-remote.txt: Add -h and -t.
+      Documentation/git-repack.txt: Add -l and -n.
+      Documentation/git-http-fetch.txt: Document the commit-id argument.
+      Documentation/git-update-server-info.txt: Add -f alias for --force to documentation.
+      Documentation/git-tag.txt: Fix the order of sections (DESCRIPTION should come before OPTIONS).
+      Documentation/git-read-tree.txt: Add --reset to SYNOPSIS.
+
+Paul Mackerras (3):
+      gitk: Factored out some common code into a new start_rev_list procedure
+      gitk: Some improvements for the code for updating the display
+      gitk: Work around Tcl's non-standard names for encodings
+
+Petr Baudis (2):
+      Update the git-ls-tree documentation
+      Document the --(no-)edit switch of git-revert and git-cherry-pick
+
+Sven Verdoolaege (1):
+      gitk: add Update menu item.
+
+
+Version v1.0rc4; changes since v1.0rc3:
+---------------------------------------
+
+Alecs King (1):
+      Documentation/git-log.txt: trivial typo fix.
+
+Alex Riesen (5):
+      speedup allocation in pack-redundant.c
+      remove unused variable
+      arguments cleanup and some formatting
+      Add tests for git-mv in subdirectories
+      git wrapper: more careful argument stuffing
+
+Alexander Litvinov (1):
+      git-mv is not able to handle big directories
+
+Andreas Ericsson (13):
+      git-daemon: --inetd implies --syslog
+      C implementation of the 'git' program, take two.
+      Update git(7) man-page for the C wrapper.
+      git --help COMMAND brings up the git-COMMAND man-page.
+      daemon.c: fix arg parsing bugs
+      Library code for user-relative paths, take three.
+      Server-side support for user-relative paths.
+      Client side support for user-relative paths.
+      Documentation update for user-relative paths.
+      git-reset.txt: Small fix + clarifications.
+      git-daemon support for user-relative paths.
+      Introduce $(ALL_PROGRAMS) for 'all:' and 'install:' to operate on.
+      cvsimport: Don't let local settings hinder cvs user-migration.
+
+Eric Wong (3):
+      remove shellquote usage for tags
+      archimport: don't die on merge-base failure
+      Disambiguate the term 'branch' in Arch vs git
+
+Frank Sorenson (1):
+      gitk: Specify line hover font
+
+Fredrik Kuivinen (5):
+      merge-recursive: Replace 'except:'
+      git-merge: Exit with code 2 if no strategy was able to handle the merge.
+      test-lib.sh: Add new function, test_expect_code
+      New test case: merge with directory/file conflicts
+      New test case: Criss-cross merge
+
+H. Peter Anvin (3):
+      git-core-foo -> git-foo, except the core package
+      rename/copy score parsing updates.
+      A few more options for git-cat-file
+
+Jan Andres (1):
+      Fix typo in http-push.c
+
+Jason Riedy (1):
+      Add compat/setenv.c, use in git.c.
+
+Jeff Hobbs (1):
+      gitk: put braces around exprs
+
+Johannes Schindelin (13):
+      Add config variable core.symrefsonly
+      Fix tests with new git in C
+      Give python a chance to find "backported" modules
+      Add functions git_config_set() and git_config_set_multivar()
+      Add git-config-set, a simple helper for scripts to set config variables
+      Add documentation for git-config-set
+      Add test case for git-config-set
+      git-config-set: add more options
+      git-config-set: support selecting values by non-matching regex
+      git-config-set: Properly terminate strings with '\0'
+      Allow hierarchical section names
+      Rename git-config-set to git-repo-config
+      Make git-mv work in subdirectories, too
+
+Jon Loeliger (1):
+      Fix typos and minor format issues.
+
+Jonas Fonseca (1):
+      Fix git(1) link to git-index-pack
+
+Josef Weidendorfer (6):
+      Fix git-mv for moving directories with 1 file
+      git-mv: shrink usage, no usage on error
+      git-mv: keep git index consistent with file system on failed rename
+      git-mv: fully detect 'directory moved into itself'
+      Small fixes in Documentation/git-mv.txt
+      git-mv: follow -k request even on failing renames
+
+Junio C Hamano (108):
+      Documentation: do not blindly run 'cat' .git/HEAD, or echo into it.
+      diff: make default rename detection limit configurable.
+      sha1_file.c::add_packed_git(): fix type mismatch.
+      git wrapper: basic fixes.
+      git-apply: fail if a patch cannot be applied.
+      git-am: --resolved.
+      apply: allow-binary-replacement.
+      diff: --full-index
+      tests: binary diff application.
+      Add approxidate test calls.
+      Deal with binary diff output from GNU diff 2.8.7
+      git-am: --binary; document --resume and --binary.
+      git-prune: quote possibly empty $dryrun as parameter to test
+      Cygwin *might* be helped with NO_MMAP
+      Do not show .exe in git command list.
+      git-branch: -f to forcibly reset branch head.
+      Rewrite rebase to use git-format-patch piped to git-am.
+      readrefs: grab all refs with one call to ls-remote.
+      git-count-objects: dc replacement
+      git-repack: do not do complex redundancy check.
+      Documentation: rebase-from-internal minor updates.
+      merge-one-file: remove empty directories
+      merge-recursive::removeFile: remove empty directories
+      http.c: reorder to avoid compilation failure.
+      Do not DWIM in userpath library under strict mode.
+      Documentation: add hooks/update example.
+      merge-one-file: use rmdir -p
+      Fix "do not DWIM" patch to enter_repo"
+      Make sure heads/foo and tags/foo do not confuse things.
+      Fix hooks/update template.
+      format-patch: fix two-argument special case, and make it easier to pick single commits
+      rename detection with -M100 means "exact renames only".
+      tutorial: setting up a tree for subsystem maintainers
+      daemon: further tweaks.
+      git-proxy updates.
+      Move diff.renamelimit out of default configuration.
+      git-var: constness and globalness cleanup.
+      pack-redundant: type cleanups.
+      git-merge: make recursive the default strategy
+      git-revert: make --edit default.
+      Teach update-index to read from ls-tree.
+      diff-tree: teach single-commit diff-tree to honour grafts
+      config.c: avoid shadowing global.
+      Prevent "git-commit -a path1 path2..."
+      parse-remote and ls-remote clean-up.
+      git-sh-setup: die if outside git repository.
+      git-var: make it work in subdirectory.
+      setup_git_directory: make sure GIT_DIR is a valid repository.
+      git-sh-setup: move the repository check to a core program.
+      shell.c: complain on insufficient arguments.
+      name-rev: fix off-by-one error in --stdin.
+      format-patch: output filename reported to stdout verbatim.
+      Repository format version check.
+      Check repository format version in enter_repo().
+      init-db: check template and repository format.
+      setup_git_directory(): check repository format version.
+      Introduce i18n.commitencoding.
+      mailinfo: allow -u to fall back on latin1 to utf8 conversion.
+      mailinfo: Use i18n.commitencoding
+      mailinfo: Do not use -u=<encoding>; say --encoding=<encoding>
+      config.c: constness tightening to avoid compilation warning.
+      gitk: Use i18n.commitencoding configuration item.
+      git-mv: quote $src in regexp properly.
+      rebase: one safety net, one bugfix and one optimization.
+      name-rev: fix parent counting.
+      Documentation: Describe merge operation a bit better.
+      write_name_quoted(): make one of the path a counted string.
+      ls-tree: Resurrect funny name quoting lost during rewrite.
+      ls-tree: match the test to the new semantics.
+      bisect: quote pathnames for eval safety.
+      working from subdirectory: preparation
+      git-apply: work from subdirectory.
+      peek-remote: honor proxy config even from subdirectory.
+      fsck-objects: work from subdirectory.
+      checkout-index: work from subdirectory.
+      hash-object: work within subdirectory.
+      ls-tree: work from subdirectory.
+      Make networking commands to work from a subdirectory.
+      Make the rest of commands work from a subdirectory.
+      count-objects: make it operable from a subdirectory.
+      ls-remote: define die() now we do not use git-sh-setup
+      branch: make it operable from a subdirectory.
+      lost-found: make it operable from a subdirectory.
+      tag: make it operable from a subdirectory.
+      verify-tag: make it operable from a subdirectory.
+      define die() for scripts that use it.
+      hash-object.c: type-fix to squelch compiler warnings.
+      applymbox: typofix to enable -m option.
+      applypatch: use "index" lines not "applies-to".
+      format-patch: remove applies-to.
+      format-patch: do not abuse 3-dash marker line.
+      format-patch: run diff in C locale
+      git-diff: do not turn off -p/-M with any diff options.
+      diff-files: show diffs with stage0 and unmerged stage at the same time.
+      merge-recursive: match the unmerged index entry behaviour with merge-resolve
+      Tutorial: adjust merge example to recursive strategy.
+      Documentation: describe '-f' option to git-fetch.
+      Makefile: say the default target upfront.
+      ls-tree: resurrect '-d' to mean 'show trees only'
+      ls-tree: --name-only
+      git-merge-one-file: do not worry about 'rmdir -p' not removing directory.
+      merge-recursive: adjust git-ls-tree use for the latest.
+      t3100: add ls-tree -t and -d tests.
+      merge-one-file: make sure we create the merged file.
+      merge-one-file: make sure we do not mismerge symbolic links.
+      git-merge documentation: conflicting merge leaves higher stages in index
+      documentation: git-bisect (help HTML break man)
+      daemon.c and path.enter_repo(): revamp path validation.
+
+Kevin Geiss (4):
+      git-cvsexportcommit.perl: Fix usage() output.
+      git-cvsexportcommit.perl: use getopts to get binary flags
+      git-cvsexportcommit.perl: exit with non-0 status if patch fails.
+      git-cvsexportcommit.perl: fix typos in output
+
+Linus Torvalds (14):
+      Disallow empty pattern in "git grep"
+      git's rev-parse.c function show_datestring presumes gnu date
+      Teach "approxidate" about weekday syntax
+      Make "git fetch" less verbose by default
+      Teach "approxidate" about weekday syntax
+      git-repack: Properly abort in corrupt repository
+      Allow editing of a revert-message
+      ls-tree: major rewrite to do pathspec
+      ls-tree: further cleanup to parallel ls-files.
+      ls-tree: further tweaks of the rewrite
+      bisect: limit the searchspace by pathspecs
+      diff-files: -1/-2/-3 to diff against unmerged stage.
+      merge-one-file: leave unmerged index entries upon automerge failure.
+      git-ls-tree: add "-t" option to always show the tree entries
+
+Luben Tuikov (1):
+      max-count in terms of intersection
+
+Lukas Sandström (8):
+      Fix llist_sorted_difference_inplace in git-pack-redundant
+      Make git-pack-redundant non-horribly slow on large sets of packs
+      Fix bug introduced by the latest changes to git-pack-redundant
+      Fix a bug in get_all_permutations.
+      Remove all old packfiles when doing "git repack -a -d"
+      Improve the readability of git-pack-redundant
+      Document the "ignore objects" feature of git-pack-redundant
+      Make git-pack-redundant take a list of unimportant objs on stdin
+
+Martin Langhoff (1):
+      archimport: allow for old style branch and public tag names
+
+Matthias Urlichs (1):
+      SVN import: Use one log call
+
+Nick Hengeveld (7):
+      Isolate shared HTTP request functionality
+      Make http-fetch request types more clear
+      Improve pack list response handling
+      Improve XML parsing in http-push
+      http-push memory/fd cleanup
+      Decide whether to build http-push in the Makefile
+      http-push cleanup
+
+Nicolas Pitre (1):
+      'make clean' forgot about some files
+
+Paul Collins (1):
+      proxy-command support for git://
+
+Paul Mackerras (5):
+      Add -r flag and some speedups
+      gitk: Fix some bugs introduced by speedup changes
+      gitk: Disable fastdate stuff for now
+      gitk: Fix diff this->selected and selected->this functions
+      gitk: Add a preferences dialog with some basic stuff
+
+Paul Serice (2):
+      git-daemon not listening when compiled with -DNO_IPV6
+      Fixed git:// IPv4 address problem when compiled with -DNO_IPV6.
+
+Pavel Roskin (4):
+      symref support for import scripts
+      gitk: use git-diff-tree --no-commit-id
+      gitk: UTF-8 support
+      git-clone --shared should imply --local
+
+Petr Baudis (1):
+      Fix bunch of fd leaks in http-fetch
+
+Ralf Baechle (1):
+      git-repack: Fix variable name
+
+Ryan Anderson (1):
+      Add Python version checks to the Makefile to automatically set WITH_OWN_SUBPROCESS_PY
+
+Sergey Vlasov (2):
+      git-fsck-objects: Free tree entries after use
+      Rework object refs tracking to reduce memory usage
+
+Stefan-W. Hahn (1):
+      gitk: moving all three panes if clicking on an arrow.
+
+Timo Hirvonen (2):
+      Fix sparse warnings
+      Move couple of ifdefs after "include config.mk"
+
+Tommi Virtanen (1):
+      Do not attempt to access literal dirname "GIT_OBJECT_DIRECTORY".
+
+Tony Luck (1):
+      Update pull/fetch --tags documentation
+
+YOSHIFUJI Hideaki (2):
+      GIT: Fix compilation error in connect.c
+      Fix a warning about unused value.
+
+Yann Dirson (1):
+      Fix gitk this->selected diffs
+
+anonymous (2):
+      documentation: clarify read-tree --reset
+      documentation: git-tag
+
+
+Version v1.0rc3; changes since v1.0rc2:
+---------------------------------------
+
+Junio C Hamano (1):
+      GIT 0.99.9j aka 1.0rc3
+
+
+Version v1.0rc2; changes since v1.0rc1:
+---------------------------------------
+
+Alex Riesen (1):
+      allow git-update-ref create refs with slashes in names
+
+Andreas Ericsson (1):
+      git-branch: Mention -d and -D in man-page.
+
+Josef Weidendorfer (2):
+      Bugfix: stop if directory already exists
+      Remove git-rename. git-mv does the same
+
+Junio C Hamano (5):
+      Debian: build-depend on libexpat-dev.
+      Rename lost+found to lost-found.
+      Separate LDFLAGS and CFLAGS.
+      apply: fix binary patch detection.
+      Update topo-order test.
+
+Kai Ruemmler (1):
+      Fix compilation warnings in pack-redundant.c
+
+Linus Torvalds (1):
+      Fix git-rev-list "date order" with --topo-order
+
+Matthias Urlichs (3):
+      debian packaging: git-cvs needs cvsps
+      Remove trailing slashes
+      Depend on asciidoc 7 (at least).
+
+Nick Hengeveld (2):
+      Fix for multiple alternates requests in http-fetch
+      Fix fd leak in http-fetch
+
+Nikolai Weibull (3):
+      Document the -n command-line option to git-unpack-objects
+      Document a couple of missing command-line options.
+      Documentation nitpicking
+
+Thomas Matysik (2):
+      Add expat and expat-devel dependencies (for http-push) to RPM spec.
+      Split gitk into seperate RPM package
+
+
diff --git a/debian/changelog.upstream.sh b/debian/changelog.upstream.sh
new file mode 100755
index 0000000..3441546
--- /dev/null
+++ b/debian/changelog.upstream.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -e
+: >debian/changelog.upstream
+exec <debian/versions.upstream
+read old
+while read new; do
+  exec >debian/changelog.upstream."$new"
+  echo "Version $new; changes since $old:"
+  echo "Version $new; changes since $old:" |tr '[:print:]' -
+  echo
+  git shortlog --no-merges "$old".."$new"
+  echo
+  cat debian/changelog.upstream
+  mv debian/changelog.upstream."$new" debian/changelog.upstream
+  old="$new"
+done
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..44d11b7
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,316 @@
+Source: git
+Section: vcs
+Priority: optional
+Maintainer: Jonathan Nieder <jrnieder@gmail.com>
+Uploaders: Anders Kaseorg <andersk@mit.edu>
+Build-Depends: libz-dev, gettext,
+ libpcre2-dev | libpcre3-dev,
+ libcurl4-gnutls-dev, libexpat1-dev,
+ subversion, libsvn-perl, libyaml-perl,
+ tcl, python3,
+ libhttp-date-perl | libtime-parsedate-perl,
+ libcgi-pm-perl,
+ liberror-perl,
+ libmailtools-perl,
+ cvs, cvsps, libdbd-sqlite3-perl,
+ unzip, libio-pty-perl,
+ debhelper-compat (= 10),
+ dh-exec (>= 0.7),
+ dh-apache2,
+ dpkg-dev (>= 1.16.2~)
+Build-Depends-Indep: asciidoc (>= 8.6.10), xmlto, docbook-xsl
+Standards-Version: 4.3.0.1
+Homepage: https://git-scm.com/
+Vcs-Git: https://repo.or.cz/r/git/debian.git/ -b debian-experimental
+Vcs-Browser: https://repo.or.cz/w/git/debian.git/
+
+Package: git
+Architecture: any
+Multi-Arch: foreign
+Depends: ${misc:Depends}, ${shlibs:Depends}, perl, liberror-perl,
+ git-man (>> ${source:Upstream-Version}), git-man (<< ${source:Upstream-Version}-.)
+Pre-Depends: ${misc:Pre-Depends}
+Recommends: ca-certificates, patch, less, ssh-client
+Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit,
+ git-doc, git-email, git-gui, gitk, gitweb,
+ git-cvs, git-mediawiki, git-svn
+Breaks: bash-completion (<< 1:1.90-1),
+ dgit (<< 5.1~),
+ git-buildpackage (<< 0.6.5),
+ git-el (<< 1:2.32.0~rc2-1~),
+ cogito (<= 0.18.2+),
+ openssh-client (<< 1:6.8),
+ stgit (<< 0.15), stgit-contrib (<< 0.15), gitpkg (<< 0.15),
+ guilt (<< 0.33), gitosis (<< 0.2+20090917-7)
+Provides: git-completion, git-core
+Description: fast, scalable, distributed revision control system
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git main components with minimal dependencies.
+ Additional functionality, e.g. a graphical user interface and revision
+ tree visualizer, tools for interoperating with other VCS's, or a web
+ interface, is provided as separate git* packages.
+
+Package: git-man
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Description: fast, scalable, distributed revision control system (manual pages)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides reference documentation for use by the 'man'
+ utility and the 'git help' command.
+
+Package: git-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Suggests: git, git-cvs, git-svn, git-email, gitk, gitweb
+Description: fast, scalable, distributed revision control system (documentation)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the documentation.
+
+Package: git-cvs
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), cvsps, libdbd-sqlite3-perl
+Suggests: git-doc, cvs
+Description: fast, scalable, distributed revision control system (cvs interoperability)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git cvsimport, cvsexportcommit, and cvsserver
+ tools, which allow Git to read from and write to CVS repositories and
+ offer access over CVS protocol to Git repositories.
+ .
+ The git cvsimport tool can incrementally import from a repository that
+ is being actively developed and only requires remote access over CVS
+ protocol. Unfortunately, in many situations the import leads to
+ incorrect results. For reliable, one-shot imports, cvs2git from the
+ cvs2svn package or parsecvs may be a better fit.
+
+Package: git-svn
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), libsvn-perl, libyaml-perl, libterm-readkey-perl
+Suggests: git-doc, subversion
+Breaks: git (<< 1:1.8.3~rc1-1.)
+Replaces: git (<< 1:1.8.3~rc1-1.)
+Description: fast, scalable, distributed revision control system (svn interoperability)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides tools for interoperating with Subversion repositories,
+ and importing SVN development history.
+
+Package: git-mediawiki
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
+ libmediawiki-api-perl (>= 0.39), liblwp-protocol-https-perl, libdatetime-format-iso8601-perl
+Suggests: mediawiki
+Description: fast, scalable, distributed revision control system (MediaWiki remote helper)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the mediawiki remote helper, which allows Git to
+ read from and write to a wiki such as Wikipedia as though it were a
+ remote Git repository, and a 'git mw' command that can show a preview
+ of how wiki markup will be rendered before pushing.
+
+Package: git-email
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.)
+Recommends: libemail-valid-perl,
+ libmailtools-perl,
+ perl (>> 5.21.5) | libnet-smtp-ssl-perl,
+ libauthen-sasl-perl,
+ libio-socket-ssl-perl (>= 1.951)
+Suggests: git-doc
+Description: fast, scalable, distributed revision control system (email add-on)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git-send-email program for sending series of
+ patch emails.
+
+Package: git-daemon-run
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), runit, adduser
+Conflicts: git-daemon-sysvinit
+Description: fast, scalable, distributed revision control system (git-daemon service)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ git-daemon, as provided by the git package, is a simple server for git
+ repositories, ideally suited for read-only updates, i.e. pulling from git
+ repositories through the network.  This package provides a runit service
+ for running git-daemon permanently.  This configuration is simpler and
+ more reliable than git-daemon-sysvinit, at a cost of being less
+ familiar for administrators accustomed to sysvinit.
+
+Package: git-daemon-sysvinit
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), adduser, lsb-base (>= 3.0-6)
+Conflicts: git-daemon-run
+Description: fast, scalable, distributed revision control system (git-daemon service)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ git-daemon, as provided by the git package, is a simple server for git
+ repositories, ideally suited for read-only updates, i.e. pulling from git
+ repositories through the network.  This package provides a sysvinit service
+ for running git-daemon permanently.  Unlike git-daemon-run, this
+ package provides the usual sysvinit service management commands
+ ("service git-daemon start/stop") for git-daemon.
+
+Package: git-gui
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk
+Recommends: gitk
+Suggests: git-doc, aspell, meld
+Description: fast, scalable, distributed revision control system (GUI)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the git graphical user interface.
+ .
+ If aspell is installed, it can check the spelling of commit messages
+ as the user types.
+ .
+ If meld is installed, it can be used for displaying diffs and for
+ interactive merge conflict resolution.
+
+Package: gitk
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.), tk
+Suggests: git-doc
+Description: fast, scalable, distributed revision control system (revision tree visualizer)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package provides the gitk program, a tcl/tk revision tree visualizer.
+
+Package: gitweb
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
+ perl, libcgi-pm-perl
+Pre-Depends: ${misc:Pre-Depends}
+Recommends: ${misc:Recommends}, libhttp-date-perl | libtime-parsedate-perl
+Breaks: apache2.2-common (<< 2.3~)
+Suggests: httpd-cgi | libcgi-fast-perl, git-doc
+Description: fast, scalable, distributed revision control system (web interface)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This package configures a web interface for browsing git repositories.
+ .
+ If apache2 is installed, the web interface is automatically made
+ available at http://localhost/gitweb.  Other servers that support CGI
+ or mod_perl are supported through manual configuration.
+ .
+ If libcgi-fast-perl is installed, gitweb can also be run over FastCGI
+ (and served by nginx, for example).
+
+Package: git-all
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}, git (>> ${source:Upstream-Version}), git (<< ${source:Upstream-Version}-.),
+ git-doc, git-cvs, git-mediawiki, git-svn,
+ git-email, git-gui, gitk, gitweb
+Suggests: git-daemon-run | git-daemon-sysvinit
+Description: fast, scalable, distributed revision control system (all subpackages)
+ Git is popular version control system designed to handle very large
+ projects with speed and efficiency; it is used for many high profile
+ open source projects, most notably the Linux kernel.
+ .
+ Git falls in the category of distributed source code management tools.
+ Every Git working directory is a full-fledged repository with full
+ revision tracking capabilities, not dependent on network access or a
+ central server.
+ .
+ This is a dummy package which brings in all subpackages.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..5347d2f
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,459 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Contact: git@vger.kernel.org
+Source: https://git.kernel.org/pub/scm/git/git.git/snapshot/3460e3d6.tar.gz
+
+Files: *
+Copyright: © 2005-2023, Linus Torvalds and others.
+License: GPL-2
+
+Files: reftable/* t/t0032-reftable-unittest.sh
+Copyright: © 2020 Google LLC
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ 1. Redistributions of source code must retain the above copyright notice, this
+    list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+ 3. Neither the name of the copyright holder nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: compat/zlib-uncompress2.c
+Copyright: © 1995-2003, 2010, 2014, 2016 Jean-loup Gailly, Mark Adler
+License: Zlib
+ This software is provided 'as-is', without any express or implied warranty. In
+ no event will the authors be held liable for any damages arising from the use
+ of this software.
+ .
+ Permission is granted to anyone to use this software for any purpose, including
+ commercial applications, and to alter it and redistribute it freely, subject to
+ the following restrictions:
+ .
+ 1. The origin of this software must not be misrepresented; you must not claim
+    that you wrote the original software. If you use this software in a product,
+    an acknowledgment in the product documentation would be appreciated but is
+    not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+    misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+Files: xdiff/*
+Copyright: © 2003-2009, Davide Libenzi, Johannes E. Schindelin
+License: LGPL-2.1+
+
+Files: xdiff/xhistogram.c
+Copyright: © 2010, Google Inc.
+           and other copyright owners as documented in JGit's IP log.
+License: EDL-1.0
+
+Files: ewah/*
+Copyright: © 2013, GitHub Inc.
+           © 2009-2013, Daniel Lemire, Cliff Moon,
+	       David McIntosh, Rober Becho, Google Inc. and Veronika Zenz
+License: GPL-2+
+
+Files: sha1dc/*
+Copyright: © 2017,
+	Marc Stevens
+	Cryptology Group
+	Centrum Wiskunde & Informatica
+	P.O. Box 94079, 1090 GB Amsterdam, Netherlands
+	marc@marc-stevens.nl
+ .
+	Dan Shumow
+	Microsoft Research
+	danshu@microsoft.com
+License: Expat
+
+Files: gitk-git/*
+Copyright: © 2005-2016, Paul Mackerras, et al.
+License: GPL-2+
+
+Files: gitk-git/po/bg.po
+Copyright: © 2014, 2015, 2016, 2017, 2018 Alexander Shopov <ash@kambanaria.org>
+License: GPL-2
+Comment: This file is distributed under the same license as the git package.
+
+Files: git-gui/*
+Copyright: © 2005-2010, Shawn Pearce, et. al.
+License: GPL-2+
+
+Files: git-gui/po/bg.po git-gui/po/de.po git-gui/po/fr.po git-gui/po/glossary/*
+Copyright: © 2007-2008, Shawn Pearce, et al.
+           © 2012-2015, Alexander Shopov <ash@kambanaria.org>
+License: GPL-2
+Comment: This file is distributed under the same license as the git package.
+
+Files: git-gui/po/glossary/el.po git-gui/po/glossary/pt_br.po
+Copyright: © 2007, Shawn Pearce, et al.
+           © 2009, Jimmy Angelakos
+License: GPL-2+
+Comment: This file is distributed under the same license as the git-gui package.
+
+Files: gitweb/static/js/*
+Copyright: © 2007, Fredrik Kuivinen <frekui@gmail.com>
+           © 2007, Petr Baudis <pasky@suse.cz>
+      © 2008-2011, Jakub Narebski <jnareb@gmail.com>
+           © 2011, John 'Warthog9' Hawley <warthog9@eaglescrag.net>
+License: GPL-2+
+
+Files: git-p4
+Copyright: © 2007, Simon Hausmann <simon@lst.de>
+           © 2007, Trolltech ASA
+License: Expat
+
+Files: git-svn.perl
+Copyright: © 2006, Eric Wong <normalperson@yhbt.net>
+License: GPL-2+
+
+Files: imap-send.c
+Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org>
+           © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net>
+           © 2004, Theodore Y. Ts'o <tytso@mit.edu>
+           © 2006, Mike McCormack
+Name: git-imap-send - drops patches into an imap Drafts folder
+  derived from isync/mbsync - mailbox synchronizer
+License: GPL-2+
+
+Files: perl/Git.pm
+Copyright: © 2006, by Petr Baudis <pasky@suse.cz>
+License: GPL-2+
+
+Files: perl/private-Error.pm
+Copyright: © 1997-8, Graham Barr <gbarr@ti.com>
+License: GPL-1+ or Artistic-1
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+ .
+    a) the GNU General Public License as published by the Free Software
+       Foundation; either version 1, or (at your option) any later
+       version, or
+ .
+    b) the "Artistic License" which comes with Perl.
+ .
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License can be found in '/usr/share/common-licenses/GPL' and
+ the Artistic Licence in '/usr/share/common-licenses/Artistic'.
+
+Files: kwset.c kwset.h
+Copyright: © 1989, 1998, 2000, 2005, Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: khash.h
+Copyright: © 2008, 2009, 2011 by Attractive Chaos <attractor@live.co.uk>
+License: Expat
+
+Files: trace.c
+Copyright: © 2000-2002, Michael R. Elkins <me@mutt.org>
+           © 2002-2004, Oswald Buddenhagen <ossi@users.sf.net>
+           © 2004, Theodore Y. Ts'o <tytso@mit.edu>
+           © 2006, Mike McCormack
+           © 2006, Christian Couder
+License: GPL-2+
+
+Files: sh-i18n--envsubst.c
+Copyright: © 2010, Ævar Arnfjörð Bjarmason
+           © 1998-2007, Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: t/test-lib.sh
+Copyright: © 2005, Junio C Hamano
+License: GPL-2+
+
+Files: t/test-lib-github-workflow-markup.sh t/test-lib-junit.sh
+Copyright: © 2022, Johannes Schindelin
+License: GPL-2+
+
+Files: compat/inet_ntop.c compat/inet_pton.c
+Copyright: © 1996-2001, Internet Software Consortium.
+License: ISC
+
+Files: compat/poll/poll.c compat/poll/poll.h
+Copyright: © 2001-2003, 2006-2011, Free Software Foundation, Inc.
+Name: Emulation for poll(2) from gnulib.
+License: GPL-2+
+
+Files: compat/vcbuild/include/sys/utime.h
+Copyright: ?
+License: mingw-runtime
+
+Files: compat/nedmalloc/*
+Copyright: © 2005-2006 Niall Douglas
+License: Boost
+
+Files: compat/nedmalloc/malloc.c.h
+Copyright: © 2006, KJK::Hyperion <hackbunny@reactos.com>
+License: dlmalloc
+
+Files: compat/regex/*
+Copyright: © 1985, 1989-93, 1995-2010, Free Software Foundation, Inc.
+Name: Extended regular expression matching and search library
+License: LGPL-2.1+
+
+Files: compat/obstack.c compat/obstack.h
+Copyright: © 1988-1994, 1996-2005, 2009, Free Software Foundation, Inc.
+Name: Object stack macros.
+License: LGPL-2.1+
+
+Files: contrib/persistent-https/*
+Copyright: © 2012, Google Inc.
+License: Apache-2.0
+
+Files: contrib/credential/gnome-keyring/git-credential-gnome-keyring.c
+Copyright: © 2011, John Szakmeister <john@szakmeister.net>
+           © 2012, Philipp A. Hartmann <pah@qo.cx>
+License: GPL-2+
+
+Files: contrib/hg-to-git/hg-to-git.py
+Copyright: © 2007, Stelian Pop <stelian@popies.net>
+Name: hg-to-git.py - A Mercurial to GIT converter
+License: GPL-2+
+
+Files: contrib/mw-to-git/git-*.perl contrib/mw-to-git/t/t*
+Copyright: © 2011
+		Jérémie Nikaes <jeremie.nikaes@ensimag.imag.fr>
+		Arnaud Lacurie <arnaud.lacurie@ensimag.imag.fr>
+		Claire Fousse <claire.fousse@ensimag.imag.fr>
+		David Amouyal <david.amouyal@ensimag.imag.fr>
+		Matthieu Moy <matthieu.moy@grenoble-inp.fr>
+           © 2012
+		Charles Roussel <charles.roussel@ensimag.imag.fr>
+		Simon Cathebras <simon.cathebras@ensimag.imag.fr>
+		Julien Khayat <julien.khayat@ensimag.imag.fr>
+		Guillaume Sasdy <guillaume.sasdy@ensimag.imag.fr>
+		Simon Perrat <simon.perrat@ensimag.imag.fr>
+	   © 2013
+		Benoit Person <benoit.person@ensimag.imag.fr>
+		Celestin Matte <celestin.matte@ensimag.imag.fr>
+License: GPL-2+
+
+Files: debian/*
+Copyright: © 2005, Sebastian Kuzminsky <seb@highlab.com>
+           © 2005-2006, Andres Salomon <dilinger@debian.org>
+           © 2005-2012, Gerrit Pape <pape@smarden.org>
+License: GPL-2
+
+License: GPL-2
+ You can redistribute this software and/or modify it under the terms of
+ the GNU General Public License as published by the Free Software
+ Foundation; version 2 dated June, 1991.
+ .
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in /usr/share/common-licenses/GPL-2 file.
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Library General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU Library General Public License
+ can be found in the /usr/share/common-licenses/LGPL-2 file.
+
+License: LGPL-2.1+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Lesser General Public License for more details.
+ .
+ On Debian systems, the complete text of the GNU Lesser General Public License
+ can be found in /usr/share/common-licenses/LGPL-2.1.
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+     http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the full text of the Apache License version 2 can
+ be found in /usr/share/common-licenses/Apache-2.0.
+
+License: ISC
+ Permission to use, copy, modify, and distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ SOFTWARE.
+
+License: Expat
+ <http://www.opensource.org/licenses/mit-license.php>:
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+License: EDL-1.0
+ Redistribution and use in source and binary forms, with or
+ without modification, are permitted provided that the following
+ conditions are met:
+ .
+ - Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ - Redistributions in binary form must reproduce the above
+   copyright notice, this list of conditions and the following
+   disclaimer in the documentation and/or other materials provided
+   with the distribution.
+ .
+ - Neither the name of the Eclipse Foundation, Inc. nor the
+   names of its contributors may be used to endorse or promote
+   products derived from this software without specific prior
+   written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: mingw-runtime
+ This file has no copyright assigned and is placed in the Public Domain.
+ This file is a part of the mingw-runtime package.
+ .
+ The mingw-runtime package and its code is distributed in the hope that it
+ will be useful but WITHOUT ANY WARRANTY.  ALL WARRANTIES, EXPRESSED OR
+ IMPLIED ARE HEREBY DISCLAIMED.  This includes but is not limited to
+ warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ .
+ You are free to use this package and its code without limitation.
+
+License: Boost
+ It is licensed under the Boost Software License which basically means
+ you can do anything you like with it. This does not apply to the malloc.c.h
+ file which remains copyright to others.
+ .
+ Boost Software License - Version 1.0 - August 17th, 2003
+ .
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+License: dlmalloc
+ This is a version (aka dlmalloc) of malloc/free/realloc written by
+ Doug Lea and released to the public domain, as explained at
+ http://creativecommons.org/licenses/publicdomain.  Send questions,
+ comments, complaints, performance data, etc to dl@cs.oswego.edu
+ .
+ Incorporates code from intrin_x86.h, which bears the following notice:
+ .
+ Compatibility <intrin_x86.h> header for GCC -- GCC equivalents of intrinsic
+ Microsoft Visual C++ functions. Originally developed for the ReactOS
+ (<http://www.reactos.org/>) and TinyKrnl (<http://www.tinykrnl.org/>)
+ projects.
+ .
+ Copyright (c) 2006 KJK::Hyperion <hackbunny@reactos.com>
+ .
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
diff --git a/debian/examples/index.aux-generation b/debian/examples/index.aux-generation
new file mode 100644
index 0000000..16390a3
--- /dev/null
+++ b/debian/examples/index.aux-generation
@@ -0,0 +1,46 @@
+From: Matthew Wilcox <matthew@wil.cx>
+To: 383219@bugs.debian.org
+Cc: Roland Mas <lolando@debian.org>
+Subject: index.aux generation
+Date: Thu, 24 Aug 2006 08:55:10 -0600
+
+Alioth needs to generate an index.aux file.  It'd be helpful if we had
+an example script for doing this.  Here's the script used for
+git.infradead.org (MIT licence, says its author):
+
+--- cut ---
+#!/bin/sh
+
+cd /home
+for a in * ; do [ -r $a/public_git ] && [ ! -d /home/git/users/$a ] && ln -s /home/$a/public_git /home/git/users/$a ; done
+
+cd /home/git
+find . -name 'HEAD' | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do
+        TREEUID=`stat -c %U $DIR`
+        TREEUSERNAME=`grep ^$TREEUID: /etc/passwd | cut -f5 -d: | sed s/\ /+/`
+        if [ "$TREEUSERNAME" = "" ]; then
+                TREEUSERNAME=$TREEUID
+        fi
+        echo $DIR $TREEUSERNAME | sed s:/:%2F:g
+done > /home/git/.index.aux.$$
+
+mv /home/git/.index.aux.$$ /home/git/.index.aux
+
+--- cut ---
+
+I suspect Alioth wants something like (untested ...)
+
+cd /srv/git.debian.org/git
+ls */*/HEAD | grep ^[-./=+a-zA-Z0-9]*\$ | sed s:/HEAD\$:: | while read DIR ; do
+        TREEUID=`stat -c %U $DIR`
+        TREEUSERNAME=`XXX`
+        if [ "$TREEUSERNAME" = "" ]; then
+                TREEUSERNAME=$TREEUID
+        fi
+        echo $DIR $TREEUSERNAME | sed s:/:%2F:g
+done > /srv/git.debian.org/.index.aux.$$
+
+mv /srv/git.debian.org/.index.aux.$$ /srv/git.debian.org/.index.aux
+
+where XXX would be how to turn a username into the name of a user.
+I dunno how Alioth works; ldap or postgres db seem plausible answers.
diff --git a/debian/git-cvs.install b/debian/git-cvs.install
new file mode 100644
index 0000000..8988b18
--- /dev/null
+++ b/debian/git-cvs.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/git-core/git-cvs* usr/lib/git-core
+debian/tmp/usr/share/man/man1/git-cvs* usr/share/man/man1
+debian/tmp/usr/bin/git-cvsserver usr/bin
diff --git a/debian/git-daemon-run.README.Debian b/debian/git-daemon-run.README.Debian
new file mode 100644
index 0000000..ffde9a6
--- /dev/null
+++ b/debian/git-daemon-run.README.Debian
@@ -0,0 +1,31 @@
+git-daemon-run for Debian
+-------------------------
+
+This package enables a git-daemon service.  This allows people to use a
+git:// URL to access your repositories.
+
+After installing this package, wait five seconds for the git-daemon
+service to be picked up by runit, and check its status and logs:
+
+ sv stat git-daemon
+ cat /var/log/git-daemon/current
+
+See the sv(8) program on how to manage the service, or, alternatively,
+create a symbolic link /etc/init.d/git-daemon pointing to /usr/bin/sv to
+have an LSB compatible interface to control it:
+
+ ln -s /usr/bin/sv /etc/init.d/git-daemon
+ /etc/init.d/git-daemon status
+
+The git daemon by default looks into the directory /var/lib/git/ for
+repositories (this is configured in /etc/sv/git-daemon/run).  It expects
+the repositories' .git subdirectories in that directory, symlinks
+pointing to the corresponding subdirectories in the repositories are just
+fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/lib/git/foo.git
+
+This makes 'git-clone git://git.example.org/git/foo' to clone the foo
+repository on remote machines work.
+
+ -- Gerrit Pape <pape@smarden.org>  Sun, 03 Jun 2007 09:51:53 +0000
diff --git a/debian/git-daemon-run.dirs b/debian/git-daemon-run.dirs
new file mode 100644
index 0000000..7847e85
--- /dev/null
+++ b/debian/git-daemon-run.dirs
@@ -0,0 +1 @@
+etc/sv/git-daemon/log
diff --git a/debian/git-daemon-run.install b/debian/git-daemon-run.install
new file mode 100644
index 0000000..40e5796
--- /dev/null
+++ b/debian/git-daemon-run.install
@@ -0,0 +1,2 @@
+debian/git-daemon/run etc/sv/git-daemon
+debian/git-daemon/log/run etc/sv/git-daemon/log
diff --git a/debian/git-daemon-run.postinst b/debian/git-daemon-run.postinst
new file mode 100644
index 0000000..41f6d20
--- /dev/null
+++ b/debian/git-daemon-run.postinst
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -e
+
+#DEBHELPER#
+
+test "$1" = 'configure' || exit 0
+
+getent passwd gitlog >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitlog
+getent passwd gitdaemon >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitdaemon
+
+# enable git-daemon service
+update-service --add /etc/sv/git-daemon
+
+# restart git-daemon service if it was running
+test -z "$2" || sv -v term git-daemon || :
diff --git a/debian/git-daemon-run.postrm b/debian/git-daemon-run.postrm
new file mode 100644
index 0000000..f6aa282
--- /dev/null
+++ b/debian/git-daemon-run.postrm
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -e
+
+#DEBHELPER#
+
+test "$1" = 'purge' || exit 0
+
+sv down /etc/sv/git-daemon 2>/dev/null || :
+sv down /etc/sv/git-daemon/log 2>/dev/null || :
+sv force-shutdown /etc/sv/git-daemon 2>/dev/null || :
+sv force-stop /etc/sv/git-daemon/log 2>/dev/null || :
+rm -rf /etc/sv/git-daemon/supervise /etc/sv/git-daemon/log/supervise
+rm -rf /var/lib/supervise/git-daemon /var/lib/supervise/git-daemon.log
+
+for i in '@*' current config lock state; do
+  rm -f /var/log/git-daemon/$i
+done
+rmdir /var/log/git-daemon || :
+
+getent passwd gitlog >/dev/null || exit 0
+! deluser --version >/dev/null 2>&1 || exec deluser -f gitlog
+echo 'deluser program not available, not removing system user "gitlog".' >&2
diff --git a/debian/git-daemon-run.prerm b/debian/git-daemon-run.prerm
new file mode 100644
index 0000000..0685520
--- /dev/null
+++ b/debian/git-daemon-run.prerm
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -e
+
+#DEBHELPER#
+
+test "$1" = 'remove' || test "$1" = 'deconfigure' || \
+  test "$1" = 'failed-upgrade' || exit 0
+
+update-service --remove /etc/sv/git-daemon || :
diff --git a/debian/git-daemon-sysvinit.README.Debian b/debian/git-daemon-sysvinit.README.Debian
new file mode 100644
index 0000000..cea76b6
--- /dev/null
+++ b/debian/git-daemon-sysvinit.README.Debian
@@ -0,0 +1,31 @@
+git-daemon-sysvinit for Debian
+------------------------------
+
+This package enables a git-daemon service.  This allows people to use a
+git:// URL to access your repositories.
+
+After installing this package, the daemon needs to be enabled in
+/etc/default/git-daemon by setting:
+
+  GIT_DAEMON_ENABLE=false
+
+to:
+
+  GIT_DAEMON_ENABLE=true
+
+After that, the git daemon can be started with:
+
+  # /etc/init.d/git-daemon start
+
+The git daemon by default looks into the directory /var/lib/git/ for
+repositories (this is configured in /etc/default/git-daemon).  It expects
+the repositories' .git subdirectories in that directory, symlinks
+pointing to the corresponding subdirectories in the repositories are just
+fine, e.g.:
+
+ ln -s ~daniel/git/foo/.git /var/lib/git/foo.git
+
+This makes 'git-clone git://git.example.org/git/foo' to clone the foo
+repository on remote machines work.
+
+ -- Daniel Baumann <daniel@debian.org>  Tue, 19 Oct 2010 00:54:58 +0200
diff --git a/debian/git-daemon-sysvinit.dirs b/debian/git-daemon-sysvinit.dirs
new file mode 100644
index 0000000..c0bef38
--- /dev/null
+++ b/debian/git-daemon-sysvinit.dirs
@@ -0,0 +1 @@
+usr/share/git-core/sysvinit
diff --git a/debian/git-daemon-sysvinit.git-daemon.default b/debian/git-daemon-sysvinit.git-daemon.default
new file mode 100644
index 0000000..356bb3d
--- /dev/null
+++ b/debian/git-daemon-sysvinit.git-daemon.default
@@ -0,0 +1,15 @@
+# Defaults for git-daemon initscript
+# sourced by /etc/init.d/git-daemon
+# installed at /etc/default/git-daemon by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+GIT_DAEMON_ENABLE=false
+GIT_DAEMON_USER=gitdaemon
+GIT_DAEMON_BASE_PATH=/var/lib
+GIT_DAEMON_DIRECTORY=/var/lib/git
+
+# Additional options that are passed to the Daemon.
+GIT_DAEMON_OPTIONS=""
diff --git a/debian/git-daemon-sysvinit.git-daemon.init b/debian/git-daemon-sysvinit.git-daemon.init
new file mode 100644
index 0000000..cc98a00
--- /dev/null
+++ b/debian/git-daemon-sysvinit.git-daemon.init
@@ -0,0 +1,138 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          git-daemon
+# Required-Start:    $network $remote_fs $syslog
+# Required-Stop:     $network $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: git-daemon service
+# Description:       git-daemon is a simple server for git repositories,
+#                    ideally suited for read-only updates, i.e. pulling from
+#                    git repositories through the network.
+### END INIT INFO
+
+# PATH should only include /usr/* if it runs after the mountnfs.sh script
+PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/lib/git-core
+DESC="git-daemon service"
+NAME=git-daemon
+DAEMON=/usr/lib/git-core/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -e /usr/share/git-core/sysvinit/sentinel ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+GIT_DAEMON_USER=${GIT_DAEMON_USER:-gitdaemon}
+GIT_DAEMON_BASE_PATH=${GIT_DAEMON_BASE_PATH:-/var/lib}
+GIT_DAEMON_DIRECTORY=${GIT_DAEMON_DIRECTORY:-/var/lib/git}
+
+DAEMON_ARGS="--user=$GIT_DAEMON_USER --pid-file=$PIDFILE --detach"
+DAEMON_ARGS="$DAEMON_ARGS --reuseaddr --verbose $GIT_DAEMON_OPTIONS"
+DAEMON_ARGS="$DAEMON_ARGS --base-path=$GIT_DAEMON_BASE_PATH $GIT_DAEMON_DIRECTORY"
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+		$DAEMON_ARGS \
+		|| return 2
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+case "$1" in
+  start)
+    if [ $GIT_DAEMON_ENABLE = true ]; then
+	[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
+    else
+	[ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, not starting..."
+	exit 0
+    fi
+
+    do_start
+    case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+  ;;
+  stop)
+	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+	esac
+	;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+	if [ $GIT_DAEMON_ENABLE != true ]; then
+		[ "$VERBOSE" != no ] && log_warning_msg "$NAME not enabled in /etc/default/$NAME, stopping..."
+		do_stop
+		case "$?" in
+		  0|1)
+			log_end_msg 0 ;;
+		  *)
+			log_end_msg 1 ;;
+		esac
+		exit
+	fi
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+		# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
diff --git a/debian/git-daemon-sysvinit.install b/debian/git-daemon-sysvinit.install
new file mode 100644
index 0000000..094c5a8
--- /dev/null
+++ b/debian/git-daemon-sysvinit.install
@@ -0,0 +1 @@
+debian/sentinel usr/share/git-core/sysvinit
diff --git a/debian/git-daemon-sysvinit.postinst b/debian/git-daemon-sysvinit.postinst
new file mode 100644
index 0000000..65270fb
--- /dev/null
+++ b/debian/git-daemon-sysvinit.postinst
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+test "$1" != 'configure' || \
+getent passwd gitdaemon >/dev/null || \
+  adduser --system --home /nonexistent --no-create-home gitdaemon
+
+#DEBHELPER#
diff --git a/debian/git-daemon/log/run b/debian/git-daemon/log/run
new file mode 100755
index 0000000..eed4ed7
--- /dev/null
+++ b/debian/git-daemon/log/run
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+
+LOG=/var/log/git-daemon
+
+test -d "$LOG" || mkdir -p -m2750 "$LOG" && chown gitlog:adm "$LOG"
+exec chpst -ugitlog svlogd -tt "$LOG"
diff --git a/debian/git-daemon/run b/debian/git-daemon/run
new file mode 100755
index 0000000..b865526
--- /dev/null
+++ b/debian/git-daemon/run
@@ -0,0 +1,6 @@
+#!/bin/sh
+exec 2>&1
+echo 'git-daemon starting.'
+exec chpst -ugitdaemon \
+  "$(git --exec-path)"/git-daemon --verbose --reuseaddr \
+    --base-path=/var/lib /var/lib/git
diff --git a/debian/git-doc.doc-base.everyday-git b/debian/git-doc.doc-base.everyday-git
new file mode 100644
index 0000000..d71f404
--- /dev/null
+++ b/debian/git-doc.doc-base.everyday-git
@@ -0,0 +1,12 @@
+Document: everyday-git
+Title: Everyday Git With 20 Commands Or So
+Author: Junio C Hamano
+Abstract: A useful minimum set of git commands, in context.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/giteveryday.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/giteveryday.html
+Files: /usr/share/doc/git-doc/giteveryday.html
diff --git a/debian/git-doc.doc-base.git-bisect-lk2009 b/debian/git-doc.doc-base.git-bisect-lk2009
new file mode 100644
index 0000000..69d763e
--- /dev/null
+++ b/debian/git-doc.doc-base.git-bisect-lk2009
@@ -0,0 +1,19 @@
+Document: git-bisect-lk2009
+Title: Fighting regressions with git bisect
+Author: Christian Couder
+Abstract: "git bisect" enables software users and developers
+ to easily find the commit that introduced a regression. We
+ show why it is important to have good tools to fight
+ regressions. We describe how "git bisect" works from the
+ outside and the algorithms it uses inside. Then we explain
+ how to take advantage of "git bisect" to improve current
+ practices. And we discuss how "git bisect" could improve in
+ the future.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/git-bisect-lk2009.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git-bisect-lk2009.html
+Files: /usr/share/doc/git-doc/git-bisect-lk2009.html
diff --git a/debian/git-doc.doc-base.git-howtos b/debian/git-doc.doc-base.git-howtos
new file mode 100644
index 0000000..437b878
--- /dev/null
+++ b/debian/git-doc.doc-base.git-howtos
@@ -0,0 +1,16 @@
+Document: git-howtos
+Title: Git How-to Documents
+Author: The git list
+Abstract: Mailing list postings made by various people
+ describing how they use git in their workflow.
+Section: File Management
+
+Format: Text
+Index: /usr/share/doc/git-doc/howto-index.txt
+Files: /usr/share/doc/git-doc/howto-index.txt
+ /usr/share/doc/git-doc/howto/*.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/howto-index.html
+Files: /usr/share/doc/git-doc/howto-index.html
+ /usr/share/doc/git-doc/howto/*.html
diff --git a/debian/git-doc.doc-base.git-reference-manual b/debian/git-doc.doc-base.git-reference-manual
new file mode 100644
index 0000000..f22068b
--- /dev/null
+++ b/debian/git-doc.doc-base.git-reference-manual
@@ -0,0 +1,14 @@
+Document: git-reference-manual
+Title: Git Reference Manual
+Author: David Greaves and the git list
+Abstract: Git manual pages, including glossary and tutorials.
+Section: File Management
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git.html
+Files: /usr/share/doc/git-doc/git.html
+ /usr/share/doc/git-doc/git[a-z]*.html
+ /usr/share/doc/git-doc/git-[ac-su-z]*.html
+ /usr/share/doc/git-doc/git-b[a-hj-z]*.html
+ /usr/share/doc/git-doc/git-bisect.html
+ /usr/share/doc/git-doc/git-t[a-np-z]*.html
diff --git a/debian/git-doc.doc-base.git-shallow-clone-design b/debian/git-doc.doc-base.git-shallow-clone-design
new file mode 100644
index 0000000..9f94a2f
--- /dev/null
+++ b/debian/git-doc.doc-base.git-shallow-clone-design
@@ -0,0 +1,12 @@
+Document: git-shallow-clone-design
+Title: Technical documentation for shallow clones in git
+Author: Johannes Schindelin
+Abstract: There has not been any work on the git fetch/clone
+ --depth lately, so it is hard to find out what it does, and
+ how.  This document describes the ideas as well as the
+ current problems, and can serve as a starting point for
+ shallow people.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/shallow.txt
diff --git a/debian/git-doc.doc-base.git-technical b/debian/git-doc.doc-base.git-technical
new file mode 100644
index 0000000..0bb74d0
--- /dev/null
+++ b/debian/git-doc.doc-base.git-technical
@@ -0,0 +1,14 @@
+Document: git-api
+Title: Git internal API documentation
+Author: Junio C Hamano and the git list
+Abstract: Git has grown a set of internal API over time.
+ This collection documents them.
+Section: Programming/C
+
+Format: Text
+Index: /usr/share/doc/git-doc/technical/api-index.txt
+Files: /usr/share/doc/git-doc/technical/api-*.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/technical/api-index.html
+Files: /usr/share/doc/git-doc/technical/api-*.html
diff --git a/debian/git-doc.doc-base.git-tools b/debian/git-doc.doc-base.git-tools
new file mode 100644
index 0000000..1199fa0
--- /dev/null
+++ b/debian/git-doc.doc-base.git-tools
@@ -0,0 +1,13 @@
+Document: git-tools
+Title: A short git tools survey
+Author: Marco Costalba
+Abstract: A brief and outdated survey of useful git tools,
+ including third-party and external projects.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/git-tools.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/git-tools.html
+Files: /usr/share/doc/git-doc/git-tools.html
diff --git a/debian/git-doc.doc-base.git-trivial-merge-rules b/debian/git-doc.doc-base.git-trivial-merge-rules
new file mode 100644
index 0000000..b6ae363
--- /dev/null
+++ b/debian/git-doc.doc-base.git-trivial-merge-rules
@@ -0,0 +1,9 @@
+Document: git-trivial-merge-rules
+Title: Trivial merge rules for git read-tree
+Author: Daniel Barkalow
+Abstract: This document describes the outcomes of the
+ trivial merge logic in git read-tree.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/trivial-merge.txt
diff --git a/debian/git-doc.doc-base.git-user-manual b/debian/git-doc.doc-base.git-user-manual
new file mode 100644
index 0000000..5e9a98d
--- /dev/null
+++ b/debian/git-doc.doc-base.git-user-manual
@@ -0,0 +1,16 @@
+Document: git-user-manual
+Title: Git User's Manual (for version 1.5.3 or newer)
+Author: J. Bruce Fields and the git list
+Abstract: This manual provides a leisurely but practical
+ introduction to git.  Chapters 1 and 2 explain how to fetch
+ and study a project using git.  People needing to do actual
+ development will also want to read chapters 3 and 4.
+ Further chapters cover more specialized topics.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/user-manual.txt
+
+Format: HTML
+Index: /usr/share/doc/git-doc/user-manual.html
+Files: /usr/share/doc/git-doc/user-manual.html
diff --git a/debian/git-doc.doc-base.the-racy-git-problem b/debian/git-doc.doc-base.the-racy-git-problem
new file mode 100644
index 0000000..1991c13
--- /dev/null
+++ b/debian/git-doc.doc-base.the-racy-git-problem
@@ -0,0 +1,19 @@
+Document: the-racy-git-problem
+Title: Use of index and the "racy git" problem
+Author: Junio C Hamano
+Abstract: In order to speed up comparison between files in
+ the work tree and index entries, git compares current
+ lstat(2) information with saved lstat(2) information from
+ whenever it updated the corresponding index entry.  A very
+ quick update that does not change file size could therefore
+ make git incorrectly think files in the working tree are
+ unmodified even though they actually are modified.  This is
+ called the "racy git" problem (discovered by Pasky), and
+ the entries that would appear clean when they ought not to
+ be because of this problem are called "racily clean".
+ .
+ This document explains how git avoids that problem.
+Section: File Management
+
+Format: Text
+Files: /usr/share/doc/git-doc/technical/racy-git.txt
diff --git a/debian/git-doc.docs b/debian/git-doc.docs
new file mode 100644
index 0000000..2dc1a17
--- /dev/null
+++ b/debian/git-doc.docs
@@ -0,0 +1,2 @@
+debian/tmp/html/*
+Documentation/technical
diff --git a/debian/git-doc.links b/debian/git-doc.links
new file mode 100644
index 0000000..ae87aae
--- /dev/null
+++ b/debian/git-doc.links
@@ -0,0 +1 @@
+usr/share/doc/git-doc usr/share/doc/git/html
diff --git a/debian/git-email.install b/debian/git-email.install
new file mode 100644
index 0000000..aab24a3
--- /dev/null
+++ b/debian/git-email.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/git-core/git-send-email usr/lib/git-core
+debian/tmp/usr/share/man/man1/git-send-email.1 usr/share/man/man1
diff --git a/debian/git-gui.install b/debian/git-gui.install
new file mode 100644
index 0000000..56eb5e5
--- /dev/null
+++ b/debian/git-gui.install
@@ -0,0 +1,6 @@
+debian/tmp/usr/lib/git-core/git-gui usr/lib/git-core
+debian/tmp/usr/lib/git-core/git-gui--askpass usr/lib/git-core
+debian/tmp/usr/lib/git-core/git-citool usr/lib/git-core
+debian/tmp/usr/share/man/man1/git-gui* usr/share/man/man1
+debian/tmp/usr/share/man/man1/git-citool* usr/share/man/man1
+debian/tmp/usr/share/git-gui/lib usr/share/git-gui
diff --git a/debian/git-man.install b/debian/git-man.install
new file mode 100644
index 0000000..fee511f
--- /dev/null
+++ b/debian/git-man.install
@@ -0,0 +1 @@
+debian/tmp/usr/share/man usr/share
diff --git a/debian/git-mediawiki.docs b/debian/git-mediawiki.docs
new file mode 100644
index 0000000..dfbb7d6
--- /dev/null
+++ b/debian/git-mediawiki.docs
@@ -0,0 +1 @@
+contrib/mw-to-git/git-remote-mediawiki.txt
diff --git a/debian/git-mediawiki.install b/debian/git-mediawiki.install
new file mode 100644
index 0000000..624a8ba
--- /dev/null
+++ b/debian/git-mediawiki.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/share/perl5/Git/Mediawiki.pm usr/share/perl5/Git
+debian/tmp/usr/lib/git-core/git-mw usr/lib/git-core
+debian/tmp/usr/lib/git-core/git-remote-mediawiki usr/lib/git-core
diff --git a/debian/git-prompt.completion b/debian/git-prompt.completion
new file mode 100644
index 0000000..8b5852a
--- /dev/null
+++ b/debian/git-prompt.completion
@@ -0,0 +1,11 @@
+# In git versions < 1.7.12, this shell library was part of the
+# git completion script.
+#
+# Some users rely on the __git_ps1 function becoming available
+# when bash-completion is loaded.  Continue to load this library
+# at bash-completion startup for now, to ease the transition to a
+# world order where the prompt function is requested separately.
+#
+if [[ -e /usr/lib/git-core/git-sh-prompt ]]; then
+	. /usr/lib/git-core/git-sh-prompt
+fi
diff --git a/debian/git-svn.install b/debian/git-svn.install
new file mode 100644
index 0000000..823abf7
--- /dev/null
+++ b/debian/git-svn.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/git-core/git-svn* usr/lib/git-core
+debian/tmp/usr/share/man/man1/git-svn* usr/share/man/man1
+debian/tmp/usr/share/perl5/Git/SVN* usr/share/perl5/Git
diff --git a/debian/git.NEWS b/debian/git.NEWS
new file mode 100644
index 0000000..1da3b43
--- /dev/null
+++ b/debian/git.NEWS
@@ -0,0 +1,64 @@
+git (1:1.8.4~rc0-1) experimental; urgency=low
+
+  Starting with this version, gitweb and "git daemon" on Debian are
+  configured to look for repositories under /var/lib/git by default
+  instead of /var/cache/git.  You may want to adjust your inetd,
+  rsyncd, and web server configuration to use the new base path.
+
+  See /usr/share/doc/git/README.Debian for details.
+
+  Symlinks are installed during the upgrade to ensure existing
+  repositories remain accessible.  If no local scripts or
+  configuration depend on /var/cache/git then it is safe to remove
+  the old directory after replacing these symlinks with their
+  targets:
+
+    mv --backup /var/cache/git/* /var/lib/git/
+    rmdir /var/cache/git
+    rm /var/lib/git/*~
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 28 Jul 2013 17:46:05 -0700
+
+git (1:1.8.2~rc0-1) experimental; urgency=low
+
+  The default behavior of "git push" when run without specifying any
+  ref names will change in the upcoming Git 2.0 release.
+
+  The previous default behavior was to use "matching" semantics: push
+  all branches for which there is already a branch of the same name on
+  the remote end.  The new default is "simple" semantics: push the
+  current branch to a branch of the same name, provided that "git
+  pull" is configured to integrate with that branch.  You can get a
+  glimpse of the future with
+
+  	echo '[push] default = simple' >>~/.gitconfig
+
+  See Documentation/RelNotes/1.8.2.txt and the entry on push.default
+  in git-config(1) for details.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Mon, 18 Feb 2013 16:48:53 -0800
+
+git (1:1.8.0-1) experimental; urgency=low
+
+  Git's bash completion script is now loaded on the fly when tab
+  completion is attempted for the 'git' or 'gitk' command.  This
+  change involved moving the completion script.  If your ~/.bashrc
+  previously contained
+
+    . /etc/bash_completion.d/git
+
+  then it should be corrected to
+
+    if [ -e /usr/share/bash-completion/completions/git ]; then
+      . /usr/share/bash-completion/completions/git
+    elif [ -e /etc/bash_completion.d/git ]; then
+      . /etc/bash_completion.d/git
+    fi
+
+  or, better,
+
+    . /etc/bash_completion
+
+  See /usr/share/doc/bash-completion/README.Debian for details.
+
+ -- Jonathan Nieder <jrnieder@gmail.com>  Sun, 13 Jan 2013 08:59:42 -0800
diff --git a/debian/git.README.Debian b/debian/git.README.Debian
new file mode 100644
index 0000000..7fdf565
--- /dev/null
+++ b/debian/git.README.Debian
@@ -0,0 +1,59 @@
+Git for Debian
+--------------
+
+When setting up a git.example.org server, there are several things to
+configure to make everything work nicely together.  All this is optional.
+
+1. Run a git-daemon.  This allows people to use a git:// URL to access your
+repositories.  This package provides the git-daemon program, to enable a
+git-daemon service, configure inetd(8) to launch it on demand, or install the
+git-daemon-run package to run it permanently:
+ cat >> /etc/inetd.conf <<EOF
+git stream tcp4 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git
+git stream tcp6 nowait nobody /usr/bin/git git daemon --inetd --base-path=/var/lib /var/lib/git
+EOF
+
+Or:
+ apt-get install git-daemon-run
+
+Wait five seconds for the service to be picked up, and check its status and
+logs:
+
+ sv stat git-daemon
+ cat /var/log/git-daemon/current
+
+The git daemon by default looks into the directory /var/lib/git/ for
+repositories (this is configured in /etc/sv/git-daemon/run).  It expects
+the repositories' .git subdirectories in /var/lib/git/, symlinks pointing
+to the corresponding subdirectories in the repositories are just fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/lib/git/foo.git
+
+Now git-clone git://git.example.org/git/repo will work.
+
+2. Configure a web server for git.  This allows people to use a http:// URL
+to access your repositories.
+
+Here's an example for an apache virtual server.  Add a stanza to your apache
+configuration that looks like this:
+
+<VirtualHost *:80>
+    ServerName git.example.org
+    ServerAdmin webmaster@example.org
+    HeaderName HEADER
+    # bogus but safe DocumentRoot
+    DocumentRoot /var/lib/git
+    ErrorLog /var/log/apache2/git.example.org-error.log
+    CustomLog /var/log/apache2/git.example.org-access.log combined
+    Alias /robots.txt /var/www/cvs.robots.txt
+    Alias /static /usr/share/gitweb/static
+    Alias /git /var/lib/git
+    ScriptAlias / /usr/share/gitweb/gitweb.cgi
+    RedirectMatch permanent "^/~(.*)$" "http://example.org/~$1"
+</VirtualHost>
+
+Now git clone http://git.example.org/git/repo will work.  And if you
+installed the gitweb package, http://git.example.org/ now will display a
+list of repositories, making them accessible through a web browser.
+
+ -- Gerrit Pape <pape@smarden.org>  Fri, 15 Sep 2006 09:19:37 +0000
diff --git a/debian/git.docs b/debian/git.docs
new file mode 100644
index 0000000..7a62539
--- /dev/null
+++ b/debian/git.docs
@@ -0,0 +1,5 @@
+contrib
+debian/README.emacs
+debian/README.source
+README.md
+Documentation/RelNotes
diff --git a/debian/git.install b/debian/git.install
new file mode 100755
index 0000000..f468e81
--- /dev/null
+++ b/debian/git.install
@@ -0,0 +1,5 @@
+#!/usr/bin/dh-exec
+contrib/completion/git-completion.bash => usr/share/bash-completion/completions/git
+contrib/completion/git-prompt.sh => usr/lib/git-core/git-sh-prompt
+debian/git-prompt.completion => etc/bash_completion.d/git-prompt
+contrib/hooks usr/share/git-core/contrib
diff --git a/debian/git.links b/debian/git.links
new file mode 100644
index 0000000..d14989d
--- /dev/null
+++ b/debian/git.links
@@ -0,0 +1,6 @@
+usr/share/bash-completion/completions/git usr/share/bash-completion/completions/gitk
+usr/share/gitweb/gitweb.cgi usr/share/gitweb/index.cgi
+usr/share/git-core/contrib/hooks usr/share/doc/git/contrib/hooks
+# These licenses are checked for equivalent contents in override_dh_installdocs.
+usr/share/common-licenses/Apache-2.0 usr/share/doc/git/contrib/persistent-https/LICENSE
+usr/share/common-licenses/GPL-2 usr/share/doc/git/contrib/subtree/COPYING
diff --git a/debian/git.lintian-overrides b/debian/git.lintian-overrides
new file mode 100644
index 0000000..88023fc
--- /dev/null
+++ b/debian/git.lintian-overrides
@@ -0,0 +1,10 @@
+# the git manual pages are in the git-man package.
+git binary: binary-without-manpage usr/bin/git
+git binary: binary-without-manpage usr/bin/git-receive-pack
+git binary: binary-without-manpage usr/bin/git-shell
+git binary: binary-without-manpage usr/bin/git-upload-archive
+git binary: binary-without-manpage usr/bin/git-upload-pack
+# every new .git dir contains empty branches/ to support old scripts.
+git binary: package-contains-empty-directory usr/share/git-core/templates/branches/
+# False positive.
+git binary: spelling-error-in-readme-debian DocumentRoot DocumentRoot (duplicate word) DocumentRoot
diff --git a/debian/git.maintscript b/debian/git.maintscript
new file mode 100644
index 0000000..be11b48
--- /dev/null
+++ b/debian/git.maintscript
@@ -0,0 +1 @@
+rm_conffile /etc/bash_completion.d/git 1:1.8.0-1~
diff --git a/debian/git.preinst b/debian/git.preinst
new file mode 100644
index 0000000..05be8e0
--- /dev/null
+++ b/debian/git.preinst
@@ -0,0 +1,34 @@
+#!/bin/sh
+set -e
+
+#DEBHELPER#
+
+# /var/cache/git/ -> /var/lib/git/ transition
+if test "$1" = upgrade &&
+   dpkg --compare-versions "$2" lt-nl '1:1.8.4~rc0-1'; then
+	mkdir -m 755 -p /var/lib/git
+	(
+		cd /var/lib/git
+		for target in ../../cache/git/*; do
+			if ! test -L "$target" && ! test -e "$target"; then
+				continue
+			fi
+
+			link=${target#../../cache/git/}
+			if ! test -L "$link" && ! test -e "$link"; then
+				ln -s "$target" "$link"
+			fi
+		done
+	)
+fi
+
+# A previous version of the /var/lib/git/ transition code
+# left behind a symlink '/var/lib/git/*' -> '../../cache/git/*'.
+if test "$1" = upgrade &&
+   dpkg --compare-versions "$2" eq '1:1.8.4~rc0-1' &&
+   test -L '/var/lib/git/*'; then
+	target=$(readlink '/var/lib/git/*')
+	if test "$target" = '../../cache/git/*'; then
+		rm -f '/var/lib/git/*'
+	fi
+fi
diff --git a/debian/gitk.install b/debian/gitk.install
new file mode 100644
index 0000000..73780f3
--- /dev/null
+++ b/debian/gitk.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/bin/gitk usr/bin
+debian/tmp/usr/share/man/man1/gitk.1 usr/share/man/man1
+debian/tmp/usr/share/gitk/lib usr/share/gitk
diff --git a/debian/gitweb.README.Debian b/debian/gitweb.README.Debian
new file mode 100644
index 0000000..d67884a
--- /dev/null
+++ b/debian/gitweb.README.Debian
@@ -0,0 +1,18 @@
+gitweb for Debian
+-----------------
+
+The gitweb CGI by default looks into the directory /var/lib/git/ for
+browsable repositories (this is configured in /etc/gitweb.conf).  It expects
+the repositories' .git subdirectories in /var/lib/git/, symlinks pointing
+to the corresponding subdirectories in the repositories are just fine, e.g.:
+
+ ln -s ~pape/git/foo/.git /var/lib/git/foo.git
+
+On systems with an Apache webserver, gitweb is automatically made available at
+http://localhost/gitweb. This requires CGI support, so you may need to run
+"a2enmod cgi".  You can deactivate the site by running "a2disconf gitweb" or
+tweak it by modifying /etc/apache2/conf-available/gitweb.conf
+
+For more details about setting up gitweb for a git.example.org server, and
+on how to make the git core tools such as 'git clone' work through http, see
+/usr/share/doc/git/README.Debian.
diff --git a/debian/gitweb.apache2 b/debian/gitweb.apache2
new file mode 100644
index 0000000..8ee2785
--- /dev/null
+++ b/debian/gitweb.apache2
@@ -0,0 +1 @@
+conf debian/apache2/gitweb.conf lynx
diff --git a/debian/gitweb.conf b/debian/gitweb.conf
new file mode 100644
index 0000000..1c398c6
--- /dev/null
+++ b/debian/gitweb.conf
@@ -0,0 +1,30 @@
+# path to git projects (<project>.git)
+$projectroot = "/var/lib/git";
+
+# directory to use for temp files
+$git_temp = "/tmp";
+
+# target of the home link on top of all pages
+#$home_link = $my_uri || "/";
+
+# html text to include at home page
+#$home_text = "indextext.html";
+
+# file with project list; by default, simply scan the projectroot dir.
+#$projects_list = $projectroot;
+
+# stylesheet to use
+#@stylesheets = ("static/gitweb.css");
+
+# javascript code for gitweb
+#$javascript = "static/gitweb.js";
+
+# logo to use
+#$logo = "static/git-logo.png";
+
+# the 'favicon'
+#$favicon = "static/git-favicon.png";
+
+# git-diff-tree(1) options to use for generated patches
+#@diff_opts = ("-M");
+@diff_opts = ();
diff --git a/debian/gitweb.docs b/debian/gitweb.docs
new file mode 100644
index 0000000..4b5b95d
--- /dev/null
+++ b/debian/gitweb.docs
@@ -0,0 +1 @@
+gitweb/README
diff --git a/debian/gitweb.examples b/debian/gitweb.examples
new file mode 100644
index 0000000..7392458
--- /dev/null
+++ b/debian/gitweb.examples
@@ -0,0 +1 @@
+debian/examples/index.aux-generation
diff --git a/debian/gitweb.install b/debian/gitweb.install
new file mode 100644
index 0000000..c13f94d
--- /dev/null
+++ b/debian/gitweb.install
@@ -0,0 +1 @@
+debian/gitweb.conf etc
diff --git a/debian/gitweb.links b/debian/gitweb.links
new file mode 100644
index 0000000..42f7568
--- /dev/null
+++ b/debian/gitweb.links
@@ -0,0 +1 @@
+usr/share/gitweb/gitweb.cgi usr/lib/cgi-bin/gitweb.cgi
diff --git a/debian/gitweb.maintscript b/debian/gitweb.maintscript
new file mode 100644
index 0000000..c1514fb
--- /dev/null
+++ b/debian/gitweb.maintscript
@@ -0,0 +1 @@
+mv_conffile /etc/apache2/conf.d/gitweb /etc/apache2/conf-available/gitweb.conf 1:2.1.4-2~
diff --git a/debian/gitweb.triggers b/debian/gitweb.triggers
new file mode 100644
index 0000000..f5047ae
--- /dev/null
+++ b/debian/gitweb.triggers
@@ -0,0 +1 @@
+interest-noawait /usr/share/apache2/apache2-maintscript-helper
diff --git a/debian/patches/0001-record-version.diff b/debian/patches/0001-record-version.diff
new file mode 100644
index 0000000..fd55513
--- /dev/null
+++ b/debian/patches/0001-record-version.diff
@@ -0,0 +1,29 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Emily Shaffer <emilyshaffer@google.com>
+Date: Tue, 26 Dec 2023 07:29:00 -0800
+Subject: record version
+
+Generated using GIT-VERSION-GEN and git-gui/GIT-VERSION-GEN
+
+Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
+---
+ git-gui/version | 1 +
+ version         | 1 +
+ 2 files changed, 2 insertions(+)
+ create mode 100644 git-gui/version
+ create mode 100644 version
+
+diff --git a/git-gui/version b/git-gui/version
+new file mode 100644
+index 0000000000..727aec5bd8
+--- /dev/null
++++ b/git-gui/version
+@@ -0,0 +1 @@
++0.21.GITGUI
+diff --git a/version b/version
+new file mode 100644
+index 0000000000..9961b6de17
+--- /dev/null
++++ b/version
+@@ -0,0 +1 @@
++2.43.0.275.g3460e3d667
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..0dd863e
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+0001-record-version.diff
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..8e388be
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,174 @@
+#!/usr/bin/make -f
+
+CC =gcc
+CPPFLAGS :=$(shell dpkg-buildflags --get CPPFLAGS)
+CFLAGS :=-Wall $(shell dpkg-buildflags --get CFLAGS) $(CPPFLAGS)
+LDFLAGS :=$(shell dpkg-buildflags --get LDFLAGS)
+HOST_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
+TEST =test
+TEST_OPTS =
+OPTS =NO_OPENSSL=1 prefix=/usr gitexecdir=/usr/lib/git-core \
+  mandir=/usr/share/man htmldir=/usr/share/doc/git/html \
+  INSTALLDIRS=vendor \
+  SANE_TOOL_PATH= INSTALL=install TAR=tar \
+  NO_CROSS_DIRECTORY_HARDLINKS=1 NO_INSTALL_HARDLINKS=1 \
+  NO_PERL_CPAN_FALLBACKS=1 \
+  PYTHON_PATH=/usr/bin/python3 \
+  DEFAULT_PAGER=pager DEFAULT_EDITOR=editor \
+  CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
+  HOST_CPU='$(HOST_CPU)'
+DOCS =html
+DOC_OPTS =prefix=/usr htmldir=/usr/share/doc/git/html \
+  ASCIIDOC8=1 ASCIIDOC_NO_ROFF=1
+
+# https://wiki.debian.org/ReproducibleBuilds/TimestampsInDocumentationGeneratedByAsciidoc
+DOC_OPTS += ASCIIDOC='TZ=UTC asciidoc'
+
+ifeq (,$(findstring terse,$(DEB_BUILD_OPTIONS)))
+  OPTS += V=1
+  DOC_OPTS += V=1
+  TEST_OPTS = --verbose
+endif
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+  TEST =
+endif
+ifneq (,$(findstring nodoc,$(DEB_BUILD_OPTIONS)))
+  DOCS =
+endif
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+  MAKEFLAGS += -j$(NUMJOBS)
+  # Setting this with a pattern-specific rule prevents -O from
+  # affecting the top-level make, which would break realtime build
+  # output (unless dh is run as +dh, which causes other problems).
+  %: MAKEFLAGS += -O
+endif
+ifneq (,$(shell dpkg-query -f '$${Version}' -W libpcre2-dev))
+  OPTS += USE_LIBPCRE2=1
+else
+  OPTS += USE_LIBPCRE1=1
+endif
+
+TMP = $(CURDIR)/debian/tmp
+GIT = $(CURDIR)/debian/git
+
+%:
+	dh $@ --with apache2 --without autoreconf
+
+override_dh_auto_configure:
+
+build-stamp:
+	-$(CC) -v
+	$(MAKE) all $(OPTS)
+	touch $@
+
+override_dh_auto_build-arch: build-stamp
+	$(MAKE) -C contrib/subtree all $(OPTS)
+	ln -s contrib/subtree/git-subtree
+
+override_dh_auto_test-arch:
+	test -z '$(TEST)' || \
+	  GIT_SKIP_TESTS="t9128 t9167" \
+	  GIT_TEST_OPTS='$(TEST_OPTS)' $(MAKE) $(TEST) $(OPTS)
+	test -z '$(TEST)' || \
+	  GIT_TEST_OPTS='$(TEST_OPTS)' \
+	  $(MAKE) -C t \
+	  t9128-git-svn-cmd-branch.sh \
+	  t9167-git-svn-cmd-branch-subproject.sh \
+	  $(OPTS) || :
+	test -z '$(TEST)' || \
+	  GIT_TEST_OPTS='$(TEST_OPTS)' $(MAKE) -C contrib/subtree $(TEST) $(OPTS)
+
+override_dh_auto_build-indep: build-stamp
+	# git-man, git-doc
+	$(MAKE) -CDocumentation man $(DOCS) $(DOC_OPTS)
+	# git-mediawiki
+	$(MAKE) -Ccontrib/mw-to-git all $(OPTS)
+
+override_dh_auto_test-indep:
+
+override_dh_auto_clean:
+	$(MAKE) -C contrib/mw-to-git clean $(OPTS)
+	$(MAKE) -C contrib/subtree clean $(OPTS)
+	$(MAKE) clean $(OPTS)
+	rm -f git-subtree
+
+override_dh_clean:
+	dh_clean -Xmailinfo.c.orig
+
+override_dh_auto_install-arch:
+	# git
+	DESTDIR='$(GIT)' $(MAKE) install $(OPTS)
+	DESTDIR='$(GIT)' $(MAKE) -C contrib/subtree install $(OPTS)
+	install -d -m0755 '$(GIT)'/var/lib/git
+	rm -rf '$(GIT)'/usr/share/man
+	# don't include arch, cvs, p4, svn, email, gui tools, and gitk program
+	for i in git-archimport git-cvs git-p4 git-svn git-send-email \
+	 git-gui git-citool; do \
+	  rm -f '$(GIT)'/usr/lib/git-core/$$i*; \
+	done
+	rm -f '$(GIT)'/usr/bin/git-cvsserver
+	rm -f '$(GIT)'/usr/bin/gitk
+	# don't include git-gui's lib
+	rm -rf '$(GIT)'/usr/share/git-gui/
+	# don't include gitk's lib
+	rm -rf '$(GIT)'/usr/share/gitk/
+	# don't include git-svn's lib
+	rm -rf '$(GIT)'/usr/share/perl5/Git/SVN*
+	# sanity check that #642603 fix is still in place
+	test $$(stat -c%h \
+	  '$(GIT)'/usr/lib/git-core/git-branch) -le 10
+
+override_dh_auto_install-indep:
+	DESTDIR='$(TMP)' $(MAKE) install install-doc $(OPTS)
+	DESTDIR='$(TMP)' $(MAKE) -Ccontrib/mw-to-git install $(OPTS) \
+	  INSTLIBDIR=/usr/share/perl5
+	test -z '$(DOCS)' || \
+	  $(MAKE) -CDocumentation install-webdoc WEBDOC_DEST='$(TMP)'/html \
+	  2>/dev/null
+	test -z '$(DOCS)' || \
+	  DESTDIR='$(TMP)' $(MAKE) -Ccontrib/subtree install-doc $(OPTS)
+	install -m 0644 contrib/subtree/git-subtree.txt '$(TMP)'/html
+	# RelNotes are shipped in git
+	rm -rf '$(TMP)'/html/RelNotes
+	# don't include git-p4 man page
+	rm -f '$(TMP)'/html/git-p4.*
+
+override_dh_install-arch:
+	dh_install --arch
+	rm -rf '$(GIT)'/usr/share/git-core/contrib/hooks/multimail
+
+override_dh_install-indep:
+	dh_install --indep
+	for i in git-archimport git-cvs git-p4 git-svn git-send-email gitk \
+	 git-gui git-citool; do \
+	  rm -f '$(GIT)'-man/usr/share/man/man1/$$i*; \
+	done
+
+override_dh_installdocs-arch:
+	dh_installdocs --arch -X.gitignore
+	# These licenses are replaced with symlinks in git.links.
+	diff -q '$(GIT)'/usr/share/doc/git/contrib/persistent-https/LICENSE /usr/share/common-licenses/Apache-2.0
+	diff -bq '$(GIT)'/usr/share/doc/git/contrib/subtree/COPYING /usr/share/common-licenses/GPL-2
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/completion
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/emacs
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/hooks
+	rm -rf '$(GIT)'/usr/share/doc/git/contrib/mw-to-git
+	rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.1
+	rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.html
+	rm -f '$(GIT)'/usr/share/doc/git/contrib/subtree/git-subtree.xml
+	find '$(GIT)'/usr/share/doc/git/ -name .gitattributes | xargs rm -f
+	find '$(GIT)'/usr/share/doc/git/ -name .gitignore | xargs rm -f
+
+override_dh_installdocs-indep:
+	dh_installdocs --indep -X.gitignore
+
+override_dh_installchangelogs:
+	dh_installchangelogs debian/changelog.upstream
+
+override_dh_installinit:
+	dh_installinit -pgit-daemon-sysvinit --name=git-daemon
+	dh_installinit
+
+override_dh_compress:
+	dh_compress -X.txt -Xcontrib
diff --git a/debian/sentinel b/debian/sentinel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/debian/sentinel
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/versions.upstream b/debian/versions.upstream
new file mode 100644
index 0000000..2b80a25
--- /dev/null
+++ b/debian/versions.upstream
@@ -0,0 +1,852 @@
+v1.0rc1
+v1.0rc2
+v1.0rc3
+v1.0rc4
+v1.0rc5
+v1.0rc6
+v1.0.0
+v1.0.0a
+v1.0.0b
+v1.0.1
+v1.0.2
+v1.0.3
+v1.0.4
+v1.0.5
+v1.0.6
+v1.0.7
+v1.0.8
+v1.0.9
+v1.0.10
+v1.0.11
+v1.0.12
+v1.0.13
+v1.1.0
+v1.1.1
+v1.1.2
+v1.1.3
+v1.1.4
+v1.1.5
+v1.1.6
+v1.2.0
+v1.2.1
+v1.2.2
+v1.2.3
+v1.2.4
+v1.2.5
+v1.2.6
+v1.3.0-rc1
+v1.3.0-rc2
+v1.3.0-rc3
+v1.3.0-rc4
+v1.3.0
+v1.3.1
+v1.3.2
+v1.3.3
+v1.4.0-rc1
+v1.4.0-rc2
+v1.4.0
+v1.4.1-rc1
+v1.4.1-rc2
+v1.4.1
+v1.4.1.1
+v1.4.2-rc1
+v1.4.2-rc2
+v1.4.2-rc3
+v1.4.2-rc4
+v1.4.2
+v1.4.2.1
+v1.4.2.2
+v1.4.2.3
+v1.4.2.4
+v1.4.3-rc1
+v1.4.3-rc2
+v1.4.3-rc3
+v1.4.3
+v1.4.3.1
+v1.4.3.2
+v1.4.3.3
+v1.4.3.4
+v1.4.3.5
+v1.4.4-rc1
+v1.4.4-rc2
+v1.4.4
+v1.4.4.1
+v1.4.4.2
+v1.4.4.3
+v1.4.4.4
+v1.4.4.5
+v1.5.0-rc0
+v1.5.0-rc1
+v1.5.0-rc2
+v1.5.0-rc3
+v1.5.0-rc4
+v1.5.0
+v1.5.0.1
+v1.5.0.2
+v1.5.0.3
+v1.5.0.4
+v1.5.0.5
+v1.5.0.6
+v1.5.0.7
+v1.5.1-rc1
+v1.5.1-rc2
+v1.5.1-rc3
+v1.5.1
+v1.5.1.1
+v1.5.1.2
+v1.5.1.3
+v1.5.1.4
+v1.5.1.5
+v1.5.1.6
+v1.5.2-rc0
+v1.5.2-rc1
+v1.5.2-rc2
+v1.5.2-rc3
+v1.5.2
+v1.5.2.1
+v1.5.2.2
+v1.5.2.3
+v1.5.2.4
+v1.5.2.5
+v1.5.3-rc0
+v1.5.3-rc1
+v1.5.3-rc2
+v1.5.3-rc3
+v1.5.3-rc4
+v1.5.3-rc5
+v1.5.3-rc6
+v1.5.3-rc7
+v1.5.3
+v1.5.3.1
+v1.5.3.2
+v1.5.3.3
+v1.5.3.4
+v1.5.3.5
+v1.5.3.6
+v1.5.3.7
+v1.5.3.8
+v1.5.4-rc0
+v1.5.4-rc1
+v1.5.4-rc2
+v1.5.4-rc3
+v1.5.4-rc4
+v1.5.4-rc5
+v1.5.4
+v1.5.4.1
+v1.5.4.2
+v1.5.4.3
+v1.5.4.4
+v1.5.4.5
+v1.5.4.6
+v1.5.4.7
+v1.5.5-rc0
+v1.5.5-rc1
+v1.5.5-rc2
+v1.5.5-rc3
+v1.5.5
+v1.5.5.1
+v1.5.5.2
+v1.5.5.3
+v1.5.5.4
+v1.5.5.5
+v1.5.5.6
+v1.5.6-rc0
+v1.5.6-rc1
+v1.5.6-rc2
+v1.5.6-rc3
+v1.5.6
+v1.5.6.1
+v1.5.6.2
+v1.5.6.3
+v1.5.6.4
+v1.5.6.5
+v1.5.6.6
+v1.6.0-rc0
+v1.6.0-rc1
+v1.6.0-rc2
+v1.6.0-rc3
+v1.6.0
+v1.6.0.1
+v1.6.0.2
+v1.6.0.3
+v1.6.0.4
+v1.6.0.5
+v1.6.0.6
+v1.6.1-rc1
+v1.6.1-rc2
+v1.6.1-rc3
+v1.6.1-rc4
+v1.6.1
+v1.6.1.1
+v1.6.1.2
+v1.6.1.3
+v1.6.1.4
+v1.6.2-rc0
+v1.6.2-rc1
+v1.6.2-rc2
+v1.6.2
+v1.6.2.1
+v1.6.2.2
+v1.6.2.3
+v1.6.2.4
+v1.6.2.5
+v1.6.3-rc0
+v1.6.3-rc1
+v1.6.3-rc2
+v1.6.3-rc3
+v1.6.3-rc4
+v1.6.3
+v1.6.3.1
+v1.6.3.2
+v1.6.3.3
+v1.6.3.4
+v1.6.4-rc0
+v1.6.4-rc1
+v1.6.4-rc2
+v1.6.4-rc3
+v1.6.4
+v1.6.4.1
+v1.6.4.2
+v1.6.4.3
+v1.6.4.4
+v1.6.4.5
+v1.6.5-rc0
+v1.6.5-rc1
+v1.6.5-rc2
+v1.6.5-rc3
+v1.6.5
+v1.6.5.1
+v1.6.5.2
+v1.6.5.3
+v1.6.5.4
+v1.6.5.5
+v1.6.5.6
+v1.6.5.7
+v1.6.5.8
+v1.6.5.9
+v1.6.6-rc0
+v1.6.6-rc1
+v1.6.6-rc2
+v1.6.6-rc3
+v1.6.6-rc4
+v1.6.6
+v1.6.6.1
+v1.6.6.2
+v1.6.6.3
+v1.7.0-rc0
+v1.7.0-rc1
+v1.7.0-rc2
+v1.7.0
+v1.7.0.1
+v1.7.0.2
+v1.7.0.3
+v1.7.0.4
+v1.7.0.5
+v1.7.0.6
+v1.7.0.7
+v1.7.0.8
+v1.7.0.9
+v1.7.1-rc0
+v1.7.1-rc1
+v1.7.1-rc2
+v1.7.1
+v1.7.1.1
+v1.7.1.2
+v1.7.1.3
+v1.7.1.4
+v1.7.2-rc0
+v1.7.2-rc1
+v1.7.2-rc2
+v1.7.2-rc3
+v1.7.2
+v1.7.2.1
+v1.7.2.2
+v1.7.2.3
+v1.7.2.4
+v1.7.2.5
+v1.7.3-rc0
+v1.7.3-rc1
+v1.7.3-rc2
+v1.7.3
+v1.7.3.1
+v1.7.3.2
+v1.7.3.3
+v1.7.3.4
+v1.7.3.5
+v1.7.4-rc0
+v1.7.4-rc1
+v1.7.4-rc2
+v1.7.4-rc3
+v1.7.4
+v1.7.4.1
+v1.7.4.2
+v1.7.4.3
+v1.7.4.4
+v1.7.4.5
+v1.7.5-rc0
+v1.7.5-rc1
+v1.7.5-rc2
+v1.7.5-rc3
+v1.7.5
+v1.7.5.1
+v1.7.5.2
+v1.7.5.3
+v1.7.5.4
+v1.7.6-rc0
+v1.7.6-rc1
+v1.7.6-rc2
+v1.7.6-rc3
+v1.7.6
+v1.7.6.1
+v1.7.6.2
+v1.7.6.3
+v1.7.6.4
+v1.7.6.5
+v1.7.6.6
+v1.7.7-rc0
+v1.7.7-rc1
+v1.7.7-rc2
+v1.7.7-rc3
+v1.7.7
+v1.7.7.1
+v1.7.7.2
+v1.7.7.3
+v1.7.7.4
+v1.7.7.5
+v1.7.7.6
+v1.7.7.7
+v1.7.8-rc0
+v1.7.8-rc1
+v1.7.8-rc2
+v1.7.8-rc3
+v1.7.8-rc4
+v1.7.8
+v1.7.8.1
+v1.7.8.2
+v1.7.8.3
+v1.7.8.4
+v1.7.8.5
+v1.7.8.6
+v1.7.9-rc0
+v1.7.9-rc1
+v1.7.9-rc2
+v1.7.9
+v1.7.9.1
+v1.7.9.2
+v1.7.9.3
+v1.7.9.4
+v1.7.9.5
+v1.7.9.6
+v1.7.9.7
+v1.7.10-rc0
+v1.7.10-rc1
+v1.7.10-rc2
+v1.7.10-rc3
+v1.7.10-rc4
+v1.7.10
+v1.7.10.1
+v1.7.10.2
+v1.7.10.3
+v1.7.10.4
+v1.7.10.5
+v1.7.11-rc0
+v1.7.11-rc1
+v1.7.11-rc2
+v1.7.11-rc3
+v1.7.11
+v1.7.11.1
+v1.7.11.2
+v1.7.11.3
+v1.7.11.4
+v1.7.11.5
+v1.7.11.6
+v1.7.11.7
+v1.7.12-rc0
+v1.7.12-rc1
+v1.7.12-rc2
+v1.7.12-rc3
+v1.7.12
+v1.7.12.1
+v1.7.12.2
+v1.7.12.3
+v1.7.12.4
+v1.8.0-rc0
+v1.8.0-rc1
+v1.8.0-rc2
+v1.8.0-rc3
+v1.8.0
+v1.8.0.1
+v1.8.0.2
+v1.8.0.3
+v1.8.1-rc0
+v1.8.1-rc1
+v1.8.1-rc2
+v1.8.1-rc3
+v1.8.1
+v1.8.1.1
+v1.8.1.2
+v1.8.1.3
+v1.8.1.4
+v1.8.1.5
+v1.8.1.6
+v1.8.2-rc0
+v1.8.2-rc1
+v1.8.2-rc2
+v1.8.2-rc3
+v1.8.2
+v1.8.2.1
+v1.8.2.2
+v1.8.2.3
+v1.8.3-rc0
+v1.8.3-rc1
+v1.8.3-rc2
+v1.8.3-rc3
+v1.8.3
+v1.8.3.1
+v1.8.3.2
+v1.8.3.3
+v1.8.3.4
+v1.8.4-rc0
+v1.8.4-rc1
+v1.8.4-rc2
+v1.8.4-rc3
+v1.8.4-rc4
+v1.8.4
+v1.8.4.1
+v1.8.4.2
+v1.8.4.3
+v1.8.4.4
+v1.8.4.5
+v1.8.5-rc0
+v1.8.5-rc1
+v1.8.5-rc2
+v1.8.5-rc3
+v1.8.5
+v1.8.5.1
+v1.8.5.2
+v1.8.5.3
+v1.8.5.4
+v1.8.5.5
+v1.8.5.6
+v1.9-rc0
+v1.9-rc1
+v1.9-rc2
+v1.9.0-rc3
+v1.9.0
+v1.9.1
+v1.9.2
+v1.9.3
+v1.9.4
+v1.9.5
+v2.0.0-rc0
+v2.0.0-rc1
+v2.0.0-rc2
+v2.0.0-rc3
+v2.0.0-rc4
+v2.0.0
+v2.0.1
+v2.0.2
+v2.0.3
+v2.0.4
+v2.0.5
+v2.1.0-rc0
+v2.1.0-rc1
+v2.1.0-rc2
+v2.1.0
+v2.1.1
+v2.1.2
+v2.1.3
+v2.1.4
+v2.2.0-rc0
+v2.2.0-rc1
+v2.2.0-rc2
+v2.2.0-rc3
+v2.2.0
+v2.2.1
+v2.2.2
+v2.2.3
+v2.3.0-rc0
+v2.3.0-rc1
+v2.3.0-rc2
+v2.3.0
+v2.3.1
+v2.3.2
+v2.3.3
+v2.3.4
+v2.3.5
+v2.3.6
+v2.3.7
+v2.3.8
+v2.3.9
+v2.3.10
+v2.4.0-rc0
+v2.4.0-rc1
+v2.4.0-rc2
+v2.4.0-rc3
+v2.4.0
+v2.4.1
+v2.4.2
+v2.4.3
+v2.4.4
+v2.4.5
+v2.4.6
+v2.4.7
+v2.4.8
+v2.4.9
+v2.4.10
+v2.4.11
+v2.4.12
+v2.5.0-rc0
+v2.5.0-rc1
+v2.5.0-rc2
+v2.5.0-rc3
+v2.5.0
+v2.5.1
+v2.5.2
+v2.5.3
+v2.5.4
+v2.5.5
+v2.5.6
+v2.6.0-rc0
+v2.6.0-rc1
+v2.6.0-rc2
+v2.6.0-rc3
+v2.6.0
+v2.6.1
+v2.6.2
+v2.6.3
+v2.6.4
+v2.6.5
+v2.6.6
+v2.6.7
+v2.7.0-rc0
+v2.7.0-rc1
+v2.7.0-rc2
+v2.7.0-rc3
+v2.7.0
+v2.7.1
+v2.7.2
+v2.7.3
+v2.7.4
+v2.7.5
+v2.7.6
+v2.8.0-rc0
+v2.8.0-rc1
+v2.8.0-rc2
+v2.8.0-rc3
+v2.8.0-rc4
+v2.8.0
+v2.8.1
+v2.8.2
+v2.8.3
+v2.8.4
+v2.8.5
+v2.8.6
+v2.9.0-rc0
+v2.9.0-rc1
+v2.9.0-rc2
+v2.9.0
+v2.9.1
+v2.9.2
+v2.9.3
+v2.9.4
+v2.9.5
+v2.10.0-rc0
+v2.10.0-rc1
+v2.10.0-rc2
+v2.10.0
+v2.10.1
+v2.10.2
+v2.10.3
+v2.10.4
+v2.10.5
+v2.11.0-rc0
+v2.11.0-rc1
+v2.11.0-rc2
+v2.11.0-rc3
+v2.11.0
+v2.11.1
+v2.11.2
+v2.11.3
+v2.11.4
+v2.12.0-rc0
+v2.12.0-rc1
+v2.12.0-rc2
+v2.12.0
+v2.12.1
+v2.12.2
+v2.12.3
+v2.12.4
+v2.12.5
+v2.13.0-rc0
+v2.13.0-rc1
+v2.13.0-rc2
+v2.13.0
+v2.13.1
+v2.13.2
+v2.13.3
+v2.13.4
+v2.13.5
+v2.13.6
+v2.13.7
+v2.14.0-rc0
+v2.14.0-rc1
+v2.14.0
+v2.14.1
+v2.14.2
+v2.14.3
+v2.14.4
+v2.14.5
+v2.14.6
+v2.15.0-rc0
+v2.15.0-rc1
+v2.15.0-rc2
+v2.15.0
+v2.15.1
+v2.15.2
+v2.15.3
+v2.15.4
+v2.16.0-rc0
+v2.16.0-rc1
+v2.16.0-rc2
+v2.16.0
+v2.16.1
+v2.16.2
+v2.16.3
+v2.16.4
+v2.16.5
+v2.16.6
+v2.17.0-rc0
+v2.17.0-rc1
+v2.17.0-rc2
+v2.17.0
+v2.17.1
+v2.17.2
+v2.17.3
+v2.17.4
+v2.17.5
+v2.17.6
+v2.18.0-rc0
+v2.18.0-rc1
+v2.18.0-rc2
+v2.18.0
+v2.18.1
+v2.18.2
+v2.18.3
+v2.18.4
+v2.18.5
+v2.19.0-rc0
+v2.19.0-rc1
+v2.19.0-rc2
+v2.19.0
+v2.19.1
+v2.19.2
+v2.19.3
+v2.19.4
+v2.19.5
+v2.19.6
+v2.20.0-rc0
+v2.20.0-rc1
+v2.20.0-rc2
+v2.20.0
+v2.20.1
+v2.20.2
+v2.20.3
+v2.20.4
+v2.20.5
+v2.21.0-rc0
+v2.21.0-rc1
+v2.21.0-rc2
+v2.21.0
+v2.21.1
+v2.21.2
+v2.21.3
+v2.21.4
+v2.22.0-rc0
+v2.22.0-rc1
+v2.22.0-rc2
+v2.22.0-rc3
+v2.22.0
+v2.22.1
+v2.22.2
+v2.22.3
+v2.22.4
+v2.22.5
+v2.23.0-rc0
+v2.23.0-rc1
+v2.23.0-rc2
+v2.23.0
+v2.23.1
+v2.23.2
+v2.23.3
+v2.23.4
+v2.24.0-rc0
+v2.24.0-rc1
+v2.24.0-rc2
+v2.24.0
+v2.24.1
+v2.24.2
+v2.24.3
+v2.24.4
+v2.25.0-rc0
+v2.25.0-rc1
+v2.25.0-rc2
+v2.25.0
+v2.25.1
+v2.25.2
+v2.25.3
+v2.25.4
+v2.25.5
+v2.26.0-rc0
+v2.26.0-rc1
+v2.26.0-rc2
+v2.26.0
+v2.26.1
+v2.26.2
+v2.26.3
+v2.27.0-rc0
+v2.27.0-rc1
+v2.27.0-rc2
+v2.27.0
+v2.27.1
+v2.28.0-rc0
+v2.28.0-rc1
+v2.28.0-rc2
+v2.28.0
+v2.28.1
+v2.29.0-rc0
+v2.29.0-rc1
+v2.29.0-rc2
+v2.29.0
+v2.29.1
+v2.29.2
+v2.29.3
+v2.30.0-rc0
+v2.30.0-rc1
+v2.30.0-rc2
+v2.30.0
+v2.30.1
+v2.30.2
+v2.30.3
+v2.30.4
+v2.30.5
+v2.30.6
+v2.30.7
+v2.30.8
+v2.30.9
+v2.31.0-rc0
+v2.31.0-rc1
+v2.31.0-rc2
+v2.31.0
+v2.31.1
+v2.31.2
+v2.31.3
+v2.31.4
+v2.31.5
+v2.31.6
+v2.31.7
+v2.31.8
+v2.32.0-rc0
+v2.32.0-rc1
+v2.32.0-rc2
+v2.32.0-rc3
+v2.32.0
+v2.32.1
+v2.32.2
+v2.32.3
+v2.32.4
+v2.32.5
+v2.32.6
+v2.32.7
+v2.33.0-rc0
+v2.33.0-rc1
+v2.33.0-rc2
+v2.33.0
+v2.33.1
+v2.33.2
+v2.33.3
+v2.33.4
+v2.33.5
+v2.33.6
+v2.33.7
+v2.33.8
+v2.34.0-rc0
+v2.34.0-rc1
+v2.34.0-rc2
+v2.34.0
+v2.34.1
+v2.34.2
+v2.34.3
+v2.34.4
+v2.34.5
+v2.34.6
+v2.34.7
+v2.34.8
+v2.35.0-rc0
+v2.35.0-rc1
+v2.35.0-rc2
+v2.35.0
+v2.35.1
+v2.35.2
+v2.35.3
+v2.35.4
+v2.35.5
+v2.35.6
+v2.35.7
+v2.35.8
+v2.36.0-rc0
+v2.36.0-rc1
+v2.36.0-rc2
+v2.36.0
+v2.36.1
+v2.36.2
+v2.36.3
+v2.36.4
+v2.36.5
+v2.36.6
+v2.37.0-rc0
+v2.37.0-rc1
+v2.37.0-rc2
+v2.37.0
+v2.37.1
+v2.37.2
+v2.37.3
+v2.37.4
+v2.37.5
+v2.37.6
+v2.37.7
+v2.38.0-rc0
+v2.38.0-rc1
+v2.38.0-rc2
+v2.38.0
+v2.38.1
+v2.38.2
+v2.38.3
+v2.38.4
+v2.38.5
+v2.39.0-rc0
+v2.39.0-rc1
+v2.39.0-rc2
+v2.39.0
+v2.39.1
+v2.39.2
+v2.39.3
+v2.40.0-rc0
+v2.40.0-rc1
+v2.40.0-rc2
+v2.40.0
+v2.40.1
+v2.41.0-rc0
+v2.41.0-rc1
+v2.41.0-rc2
+v2.41.0
+v2.42.0-rc0
+v2.42.0-rc1
+v2.42.0-rc2
+v2.42.0
+v2.42.1
+v2.43.0-rc0
+v2.43.0-rc1
+v2.43.0-rc2
+v2.43.0
+next
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..8527bb4
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=3
+https://www.kernel.org/pub/software/scm/git/git-([\d.]+)\.tar\.xz
+opts="uversionmangle=s/\.rc/~rc/" \
+https://www.kernel.org/pub/software/scm/git/testing/git-([\d.]+rc\d+)\.tar\.xz
