Merge tag 'v2.27.0' into debian-sid

Git 2.27

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
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..c03fd21
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,20 @@
+.debhelper/
+*.debhelper
+*.debhelper.log
+*.substvars
+/files
+/git-all/
+/git-cvs/
+/git-daemon-run/
+/git-daemon-sysvinit/
+/git-doc/
+/git-el/
+/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..8285860
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,4103 @@
+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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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.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-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-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-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-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.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.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-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-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-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-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.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-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-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.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-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.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.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-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.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-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-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-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-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-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-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-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-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-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.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-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-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-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-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.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.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.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-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.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.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-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-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-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-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.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-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-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-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-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.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.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-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.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.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-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-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-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-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~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-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-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-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-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-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-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-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: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: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: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: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: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: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: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: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: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: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..a355069
--- /dev/null
+++ b/debian/changelog.upstream
@@ -0,0 +1,67934 @@
+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.2:
+-------------------------------------------
+
+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.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.4:
+-------------------------------------------
+
+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.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.3:
+-------------------------------------------
+
+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.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.3:
+-------------------------------------------
+
+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.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.4:
+-------------------------------------------
+
+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.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.3:
+-------------------------------------------
+
+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.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.4:
+-------------------------------------------
+
+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.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.5:
+-------------------------------------------
+
+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.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.4:
+-------------------------------------------
+
+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.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.5:
+-------------------------------------------
+
+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.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
+